﻿@charset "UTF-8";
/* Layout variables */
/* Font variables */
/* Colour variables */
/* Accordion */
.accordion {
    margin-bottom: 1rem;
    position: relative;
}

.accordion-group .open-all-link {
    float: right;
    margin-bottom: 1rem;
}

.accordion-header-btn {
    padding-left: 1rem;
    padding-right: 1rem;
    min-height: 56px;
    border-top: 1px solid #D2E1E4;
    display: table;
    width: 100%;
    border-bottom: 1px solid #D2E1E4;
    background-color: #fff;
    border-left: none;
    border-right: none;
    position: relative;
}

    .accordion-header-btn:hover {
        background-color: #F6F8F9;
        cursor: pointer;
    }

    .accordion-header-btn:focus {
        box-shadow: 0 0 0 3pt #2C93E2;
        outline: 0;
    }

.accordion-header + .accordion-content {
    display: none;
}

.accordion-header.accordion-header-active + .accordion-content {
    display: block;
}

.accordion-text {
    display: table-cell;
    vertical-align: middle;
    font-size: 1rem;
    color: #093E52;
    line-height: 1.75rem;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    text-align: left;
}

@media (min-width: 800px) {
    .accordion-text {
        font-size: 1.125rem;
        color: #093E52;
        line-height: 1.75rem;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 700;
    }
}

.accordion-control {
    float: right;
    right: 12px;
    top: -3px;
    position: absolute;
    margin: 0;
}

    .accordion-control .icon {
        font-size: 1.5rem;
        line-height: 56px;
    }

.accordion-content {
    transition: max-height 0.2s ease-out;
    background-color: #fff;
    padding: 0rem 1rem 0rem 1rem;
}

@media (prefers-reduced-motion: reduce) {
    .accordion-content {
        transition: max-height 0s ease-out;
    }
}

.accordion-header .accordion-control .icon:before {
    content: '\e009';
}

.accordion-header.accordion-header-active .accordion-control .icon:before {
    content: '\e008';
}

.accordion .text-with-badge {
    display: table-cell;
}

.accordion-sub-text {
    float: right;
    line-height: 60px;
}

@media (max-width: 400px) {
    .accordion-text {
        line-height: 30px;
        width: 100%;
        vertical-align: top;
    }

    .accordion-sub-text {
        margin-right: 0;
        line-height: 30px;
    }
}

.accordion-header-active .details-summary-text:before {
    transform: rotate(0deg);
    left: calc(-1rem - 2px);
}

/* Account list */
.account-list {
    list-style: none;
    padding-left: 0;
}

.account {
    margin-bottom: 1rem;
}

.account-header {
    padding-left: 0.5rem;
    margin-bottom: 1rem;
    height: 56px;
    line-height: 56px;
    border-top: 1px solid #D2E1E4;
    display: table;
    width: 100%;
    border-bottom: 1px solid #D2E1E4;
    background-color: #fff;
}

.no-contents .account-header:not([href]):not([tabindex]) {
    border-bottom: 1px solid #D2E1E4;
}

.no-contents .account-header:hover {
    border-top: 1px solid #D2E1E4;
    border-bottom: 1px solid #D2E1E4;
}

.account:not(.no-contents) .account-header:hover {
    background-color: #F6F8F9;
    border-bottom: 2px solid #093e52;
    border-top: 2px solid #093e52;
}

.account-header:focus {
    box-shadow: 0 0 0 3pt #2C93E2;
    border: 2px solid #093e52 !important;
}

.account-text {
    display: table-cell;
    vertical-align: middle;
    font-size: 1rem;
    color: #093e52;
    line-height: 1.75rem;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
}

@media (min-width: 800px) {
    .account-text {
        font-size: 1.125rem;
        color: #093e52;
        line-height: 1.75rem;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 700;
    }
}

.account-info {
    line-height: 56px;
    float: right;
    padding-right: 1rem;
    border: 0;
}

.account.no-contents {
    opacity: 0.75;
}

.account-header.secondary {
    background-color: #3174AF;
    border-top: 1px solid #093E52;
    border-bottom: 1px solid #093E52;
}

    .account-header.secondary .account-text, .account-header.secondary .account-info {
        color: #fff;
    }

    .account-header.secondary:hover {
        background-color: #004D85 !important;
        border-bottom: 2px solid #093e52;
        border-top: 2px solid #093e52;
    }

/* Back link */
.back-link:before {
    position: relative;
    display: inline-block;
    left: -5px;
    transform: rotate(90deg);
    content: '\e007';
    font-family: 'civica-icons';
}

/* Modal */
.modal {
    position: fixed;
    display: flex;
    flex-direction: column;
    margin: auto;
    height: auto;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow-y: auto;
    padding: 0 !important;
}

@media (min-width: 576px) {
    .modal-dialog {
        margin: 3rem auto;
    }
}

.modal-content {
    border: 1px solid #D2E1E4;
    box-shadow: 0px 5px 10px -1px rgba(9, 62, 82, 0.35);
    height: auto;
    padding: 1rem;
}

.modal-header {
    padding: 0;
}

.modal-body {
    padding: 1rem 0 0 0;
}

@media (min-width: 401px) {
    .modal {
        width: 100%;
        border-radius: 0.25rem;
        border: 0;
    }
}

.close {
    min-width: 44px;
    opacity: 1;
}

    .close:not(:disabled):not(.disabled):focus {
        border: 2px solid #093e52;
        box-shadow: 0 0 0 3px #2C93E2;
        opacity: 1;
        outline: 0;
    }

    .close:not(:disabled):not(.disabled):hover {
        opacity: 1;
    }

@media (max-width: 576px) {
    .modal h2 {
        padding-right: 20px;
    }

    .modal {
        margin-top: 0;
    }
}

/* Modal form group */
.modal .form-group {
    width: 100%;
}

@media (min-width: 800px) {
    .modal .form-group {
        width: 600px;
    }
}

/* Button bar */
.button-bar {
    height: 60px;
    margin-top: 2rem;
}

@media (max-width: 992px) {
    .button-bar {
        height: auto;
        margin-top: 1rem;
    }
}

.button-bar::after {
    content: '';
    display: table;
    clear: both;
}

.button-bar button {
    margin: 0 0.5rem 0.5rem 0;
    float: left;
}

    .button-bar button:last-child {
        float: right;
        margin: 0;
    }

@media (max-width: 992px) {
    .button-bar button:last-child {
        float: right;
        margin: auto;
    }

    .button-bar button {
        display: inline-block;
    }
}

/* Breadcrumbs  */
.breadcrumbs ol {
    padding-left: 0;
    list-style-type: none;
}

    .breadcrumbs ol li {
        padding-left: 0;
    }

.breadcrumb-link a {
    border-bottom: 1px solid #093e52;
    color: #093e52;
    text-decoration: none;
    margin-right: 0.5rem;
    font-size: 0.875rem;
}

.breadcrumb-link + span {
    display: none;
}

.breadcrumbs {
    padding-bottom: 1rem;
    display: block;
}

.breadcrumb-link a:hover {
    color: #093e52;
    border-bottom: 2px solid #093e52;
}

.breadcrumbs .breadcrumb-link:not(:first-child) {
    margin-left: 0.5rem;
}

.breadcrumb-link.current {
    border: 0;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
}

@media (min-width: 992px) {
    .breadcrumb-link {
        display: inline-block;
    }

        .breadcrumb-link + span {
            display: inline-block;
        }
}

@media (max-width: 992px) {
    .breadcrumbs {
        padding-top: 0;
        margin-bottom: 0;
    }

        .breadcrumbs .breadcrumb-link:not(:first-child) {
            margin-left: 0;
        }
}

/* Cards */
.card, .card-1, .card-2 {
    margin: 0.5rem;
    background-color: #fff;
    border-radius: 0.25rem;
    min-height: 200px;
    border: 0;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-clip: border-box;
}

.card {
    box-shadow: 0 2px 10px rgba(9, 62, 82, 0.35);
}

    .card > hr {
        margin-right: 0;
        margin-left: 0;
    }

.card-body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 1.25rem;
}

.card-title {
    margin-bottom: 0.75rem;
}

.card-subtitle {
    margin-top: -0.375rem;
    margin-bottom: 0;
    color: #3174AF;
    font-size: 0.875rem;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
}

.card-link:not(:last-child) {
    margin-right: 1rem;
}

.card-text:last-child {
    margin-bottom: 0rem;
}

.card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    background-color: #093E52;
    color: #fff;
    border-bottom: 1px solid #3174AF;
    font-size: 1rem;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
}

.card-footer {
    padding: 0.75rem 1.25rem;
    background-color: #F6F8F9;
    border-top: 1px solid #3174AF;
}

.card .blockquote p {
    color: #3174AF;
    font-size: 1rem;
}

.blockquote-footer {
    border-top: 1px solid #367F8C;
    margin-top: 0;
}

    .blockquote-footer:before {
        content: '\e005';
        font-family: 'civica-icons';
        position: relative;
        left: -1rem;
    }

.card.slide-right {
    box-shadow: -30px 0px 40px -35px rgba(9, 62, 82, 0.35);
    border-radius: 0;
    width: 75%;
    height: 100%;
    position: absolute;
    right: 0;
    margin: 0;
}

.card.slide-left {
    box-shadow: 30px 0px 40px -35px rgba(9, 62, 82, 0.35);
    border-radius: 0;
    width: 75%;
    height: 100%;
    position: absolute;
    left: 0;
    margin: 0;
}

.card-1 {
    box-shadow: 0 2px 20px -2px rgba(9, 62, 82, 0.35);
}

.card-2 {
    box-shadow: 0 5px 40px -5px rgba(9, 62, 82, 0.35);
}

.card.with-hover:hover {
    box-shadow: 0 2px 20px rgba(9, 62, 82, 0.35) !important;
}

.card-1.with-hover:hover {
    box-shadow: 0 5px 40px rgba(9, 62, 82, 0.35) !important;
}

.card-2.with-hover:hover {
    box-shadow: 0 10px 60px rgba(9, 62, 82, 0.35) !important;
}

.card.no-shadow.with-hover:hover {
    box-shadow: 0 2px 10px rgba(9, 62, 82, 0.35) !important;
}

.with-background-hover:hover {
    background-color: #EBF7FF;
}

.card .page-list {
    padding: 1.25rem;
}

.card .card-image-full {
    margin-bottom: 0;
}

/* Hint text */
.hint-info {
    color: #3174AF;
    margin-top: 0.5rem;
    display: inline-block;
}

.hint {
    display: block;
    margin-bottom: 0.5rem;
    color: #3174AF;
}

/* Checkboxes and radios */
.choice-container {
    display: block;
    position: relative;
    padding-left: 48px;
    margin-bottom: 16px;
    margin-top: 1rem;
    line-height: 32px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin-right: 1.5rem;
    font-weight: 300;
    font-family: Arial, "Arial", sans-serif;
}

    .choice-container input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0;
    }

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 32px;
    width: 32px;
    background-color: #fff;
    border: 1px solid #7591A9;
    box-sizing: content-box;
}

.choice-container:hover input ~ .checkmark {
    background-color: #F6F8F9;
}

.choice-container input:focus ~ .checkmark {
    box-shadow: 0 0 0 3px #2C93E2;
    border-width: 2px;
    border-color: #093e52;
    outline: 0;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.choice-container input:checked ~ .checkmark:after {
    display: block;
}

.choice-container .checkmark:after {
    color: #093e52;
    font-family: 'civica-icons';
    content: '\e010';
    font-size: 18px;
    left: 6px;
}

.radio-checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 32px;
    width: 32px;
    background-color: #fff;
    border: 1px solid #7591A9;
    border-radius: 50%;
    box-sizing: content-box;
}

.choice-container .radio-checkmark:after {
    top: 7px;
    left: 7px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #093e52;
}

.choice-container:hover input ~ .radio-checkmark {
    background-color: #F6F8F9;
}

.choice-container input:focus ~ .radio-checkmark {
    box-shadow: 0 0 0 3px #2C93E2;
    border-width: 2px;
    border-color: #093e52;
    outline: 0;
}

.radio-checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.choice-container input:checked ~ .radio-checkmark:after {
    display: block;
}

.choice-divider {
    display: block;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.radio-hint-text {
    display: block;
    line-height: 1rem;
    padding-left: 48px;
}

.choice-container.small {
    margin-bottom: 12px;
    line-height: 20px;
    padding-left: 32px;
}

    .choice-container.small .checkmark {
        height: 18px;
        width: 18px;
    }

        .choice-container.small .checkmark:after {
            top: 0px;
            left: 0px;
            font-size: 16px;
        }

    .choice-container.small:hover input ~ .checkmark {
        box-shadow: 0 0 0 6px #2C93E2;
    }

.choice-container.small {
    margin-bottom: 12px;
    line-height: 20px;
    padding-left: 32px;
}

    .choice-container.small .radio-checkmark {
        height: 19px;
        width: 19px;
    }

        .choice-container.small .radio-checkmark:after {
            top: 4px;
            left: 4px;
            width: 11px;
            height: 11px;
        }

    .choice-container.small:hover input ~ .radio-checkmark {
        box-shadow: 0 0 0 6px #2C93E2;
    }

.choice-container input[disabled] ~ .radio-checkmark {
    background-color: #D2E1E4;
    cursor: auto;
    border-color: #849EA8;
}

.choice-container input[disabled] ~ .checkmark {
    background-color: #D2E1E4;
    cursor: auto;
    border-color: #849EA8;
}

.choice-container input[disabled] ~ .radio-checkmark:after {
    color: #849EA8;
}

.choice-container input[disabled] ~ .checkmark:after {
    color: #849EA8;
}

fieldset[disabled] .radio-checkmark {
    background-color: #D2E1E4;
    cursor: auto;
    border-color: #849EA8;
}

fieldset[disabled] .choice-container:hover .radio-checkmark {
    background-color: #D2E1E4;
}

fieldset[disabled] .radio-checkmark:after {
    background: #849EA8;
}

/* checkboxes - simplified */
.checkbox-wrapper {
    position: relative;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

    .checkbox-wrapper label {
        display: block;
        position: relative;
        padding-left: 48px;
        margin-bottom: 16px;
        margin-top: 1rem;
        line-height: 32px;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        margin-right: 1.5rem;
        font-weight: 300;
        font-family: Arial, "Arial", sans-serif;
    }

    .checkbox-wrapper.small label {
        display: block;
        position: relative;
        padding-left: 30px;
        margin-bottom: 16px;
        margin-top: 1rem;
        line-height: 20px;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        margin-right: 1.5rem;
        font-weight: 300;
        font-family: Arial, "Arial", sans-serif;
    }

    /*style and hide original checkbox*/
    .checkbox-wrapper input {
        height: 44px;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        width: 44px;
    }

        /*position new box*/
        .checkbox-wrapper input + label::before {
            border: 1px solid #7591A9;
            content: "";
            height: 32px;
            left: 0;
            position: absolute;
            top: 0;
            width: 32px;
        }

        .checkbox-wrapper input[readonly] + label::before {
            border: 0;
            border-bottom: 1px solid #D2E1E4;
            background-color: transparent;
        }

    .checkbox-wrapper.small input + label::before {
        height: 18px;
        width: 18px;
    }

    .checkbox-wrapper input[disabled] + label::before {
        background-color: #D2E1E4;
        cursor: auto;
        border-color: #849EA8;
    }

    .checkbox-wrapper input[disabled] + label:after {
        color: #849EA8;
    }

    /*create check symbol with pseudo element*/
    .checkbox-wrapper input + label::after {
        content: "";
        border: 2px solid;
        border-left: 0;
        border-top: 0;
        height: 15px;
        left: 12px;
        opacity: 0;
        position: absolute;
        top: 6px;
        transform: rotate(45deg);
        transition: opacity 0.2s ease-in-out;
        width: 8px;
    }

@media (prefers-reduced-motion: reduce) {
    .checkbox-wrapper input + label::after {
        transition: opacity 0s ease-in-out;
    }
}

.checkbox-wrapper.small input + label::after {
    left: 6px;
    height: 10px;
    width: 6px;
    top: 2.5px;
}

/*reveal check for 'on' state*/
.checkbox-wrapper input:checked + label::after {
    opacity: 1;
}

.checkbox-wrapper input:focus + label::before {
    box-shadow: 0 0 0 3px #2C93E2;
    border-width: 2px;
    border-color: #093e52;
    outline: 0;
}

.checkbox-wrapper input[readonly]:focus + label::before {
    border-color: #D2E1E4;
    background-color: #F6F8F9;
    box-shadow: none;
    outline: none;
}

/* radio - simplified */
.radio-wrapper {
    position: relative;
    margin-bottom: 1rem;
    margin-top: 1rem;
}

    .radio-wrapper label {
        display: block;
        position: relative;
        padding-left: 48px;
        margin-bottom: 16px;
        margin-top: 1rem;
        line-height: 32px;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        margin-right: 1.5rem;
        font-weight: 300;
        font-family: Arial, "Arial", sans-serif;
    }

    .radio-wrapper.small label {
        display: block;
        position: relative;
        padding-left: 30px;
        margin-bottom: 16px;
        margin-top: 1rem;
        line-height: 20px;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        margin-right: 1.5rem;
        font-weight: 300;
        font-family: Arial, "Arial", sans-serif;
    }

    /*style and hide original radio button*/
    .radio-wrapper input {
        height: 44px;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        width: 44px;
    }

        /*position new box*/
        .radio-wrapper input + label::before {
            border: 1px solid #7591A9;
            content: "";
            height: 32px;
            left: 0;
            position: absolute;
            top: 0;
            width: 32px;
            border-radius: 50%;
        }

        .radio-wrapper input[readonly] + label::before {
            border: 0;
            border-bottom: 1px solid #D2E1E4;
            background-color: transparent;
        }

    .radio-wrapper.small input + label::before {
        height: 20px;
        width: 20px;
    }

    .radio-wrapper input[disabled] + label::before {
        background-color: #D2E1E4;
        cursor: auto;
        border-color: #849EA8;
    }

    .radio-wrapper input[disabled] + label:after {
        color: #849EA8;
    }

    /*create check symbol with pseudo element*/
    .radio-wrapper input + label::after {
        content: "";
        height: 18px;
        left: 7px;
        opacity: 0;
        position: absolute;
        border-radius: 50%;
        background: #093e52;
        width: 18px;
        top: 7px;
        transition: opacity 0.2s ease-in-out;
    }

@media (prefers-reduced-motion: reduce) {
    .radio-wrapper input + label::after {
        transition: opacity 0s ease-in-out;
    }
}

.radio-wrapper.small input + label::after {
    top: 5px;
    left: 5px;
    width: 10px;
    height: 10px;
}

.radio-wrapper input:focus + label::before {
    box-shadow: 0 0 0 3px #2C93E2;
    border-width: 2px;
    border-color: #093e52;
    outline: 0;
}

.radio-wrapper input[readonly]:focus + label::before {
    border-color: #D2E1E4;
    background-color: #F6F8F9;
    box-shadow: none;
    outline: none;
}

/*reveal check for 'on' state*/
.radio-wrapper input:checked + label::after {
    opacity: 1;
}

/* Skip link */
.skip-link {
    padding: 0.5rem 1rem;
    border: 0;
    left: -999px;
    position: absolute;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: -999;
    margin-bottom: 1rem;
    box-sizing: border-box;
    text-decoration: underline;
}

    .skip-link:hover {
        border: 0;
    }

    .skip-link:focus, .skip-link:active {
        background-color: #EBF7FF;
        box-shadow: 0 0 0 3pt #2C93E2;
        position: absolute;
        color: #093e52;
        top: 50px;
        left: 50px;
        overflow: auto;
        z-index: 9999;
        height: auto;
        width: auto;
        margin: 1rem 0 1rem 0;
        outline: none;
    }

/* Circular progress */
circular .progress:after {
    content: "";
    float: left;
    background: #367F8C;
    width: 10px;
    height: 10px;
    border-radius: 1rem;
    top: 83px;
    left: 6px;
    position: relative;
}

.circular .progress:before {
    content: "";
    float: right;
    background: #367F8C;
    width: 10px;
    height: 10px;
    top: 83px;
    left: -6px;
    border-radius: 1rem;
    position: relative;
}

.circular .progress-line {
    background-color: transparent;
    border: 10px solid #D2E1E4;
    height: 120px;
    border-radius: 50%;
    width: 120px;
}

.circular .progress {
    background-color: transparent;
    border: 10px solid;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border-color: #367F8C transparent;
    margin-top: -10px;
    margin-left: -10px;
}

.circular.animated .progress {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(180deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.circular.animated.progress:after {
    content: "";
    float: left;
    background: #367F8C;
    width: 10px;
    height: 10px;
    border-radius: 1rem;
    top: 84px;
    left: 6px;
    position: relative;
}

.circular.animated.progress:before {
    content: "";
    float: right;
    background: #367F8C;
    width: 10px;
    height: 10px;
    top: 83px;
    left: -6px;
    border-radius: 1rem;
    position: relative;
}

.progress.animated {
    width: 30%;
    animation: linear-bounce 3s linear infinite;
}

@keyframes linear-bounce {
    0% {
        left: 0%;
        width: 30%;
        background-color: #367F8C;
    }

    50% {
        left: 75%;
        width: 25%;
        background-color: #367F8C;
    }

    100% {
        left: 0%;
        width: 30%;
        background-color: #367F8C;
    }
}

/* Linear progress */
.progress.complete {
    background-color: #098765;
    width: calc(100% - 2rem);
}

.progress.failed {
    background-color: #A92131;
    width: calc(100% - 2rem);
}

.progress-bar {
    display: block;
    margin-bottom: 2rem;
    background-color: transparent;
}

.progress-line {
    display: block;
    width: 100%;
    background-color: #D2E1E4;
    height: 10px;
    border-radius: 10px;
    position: relative;
}

@media (min-width: 401px) {
    .progress-line {
        width: 100%;
    }
}

.progress {
    position: absolute;
    display: block;
    /*width: 60%;*/
    background-color: #367F8C;
    height: 10px;
    border-radius: 10px;
}

/* Content breaker */
.content-breaker {
    display: block;
    margin: 1rem 0;
    width: 100%;
    height: 0px;
    background-color: #D2E1E4;
    border: 0;
}

.content-breaker-xl {
    margin: 3rem 0;
}

.content-breaker-l {
    margin: 1.5rem 0;
}

.content-breaker-sm {
    margin: 0.5rem 0;
}

.content-breaker.visible {
    height: 1px;
}

/* Details summary */
.details-summary {
    box-sizing: content-box;
    display: inline-block;
    padding: 0.5rem;
    margin-left: 4px;
}

    .details-summary:focus {
        box-shadow: 0 0 0 3pt #2C93E2;
        outline: 0;
    }

.details-summary-text {
    position: relative;
    border-bottom: 1px solid #3174AF;
    color: #3174AF;
    cursor: pointer;
    margin-left: 1rem;
}

    .details-summary-text:hover {
        border-bottom: 2px solid #004D85;
        color: #004D85;
    }

    .details-summary-text:before {
        left: -1em;
        position: absolute;
        font-family: 'civica-icons';
        content: '\e007';
        display: inline-block;
        transform: rotate(-90deg);
    }

.details[open] .details-summary-text:before {
    transform: rotate(0deg);
    left: calc(-1rem - 2px);
}

.details-text {
    margin-top: 0.25rem;
    padding: 0.5rem 1rem;
    border-left: 6px solid #3174AF;
}

details summary::-webkit-details-marker {
    display: none;
}

/* Search box in header */
.search-box {
    position: relative;
}

    .search-box input {
        display: block;
        margin: 0.5rem auto;
        width: 95%;
        border: 1px solid #fff;
        font-size: 1rem;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 300;
        color: #093e52;
        height: 44px;
        line-height: 44px;
    }

    .search-box button {
        position: absolute;
        right: -0.5rem;
        float: right;
        top: 2px;
        min-height: 44px;
    }

    .search-box input:focus {
        box-shadow: 0 0 0 3pt #2C93E2;
        border: 2px solid #fff;
        outline: 0;
    }

.search-field {
    margin-bottom: 2rem;
}

    .search-field input {
        display: inline-block;
    }

    .search-field button {
        float: right;
        margin: 0;
        vertical-align: top;
    }

/* More search */
.more-search {
    left: 0;
    width: 100%;
    background-color: #093e52;
    position: relative;
    display: none;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    box-shadow: 0px 5px 20px -5px rgba(9, 62, 82, 0.35);
    transition: 0.5s all ease;
}

@media (prefers-reduced-motion: reduce) {
    .more-search {
        transition: 0s all ease;
    }
}

.more-search .icon {
    color: inherit;
}

.more-search .btn-icon .icon-close:before {
    color: #fff !important;
    font-size: 1.25rem;
}

/* More navigation */
.module-more-navigation {
    width: 100%;
    background-color: #fff !important;
    position: relative;
    z-index: 1000;
    display: none;
    box-shadow: 0px 5px 20px -5px rgba(9, 62, 82, 0.35);
    transition: all .5s;
}

@media (prefers-reduced-motion: reduce) {
    .module-more-navigation {
        transition: all 0s;
    }
}

.module-more-navigation a {
    border-bottom: 1px solid #3174AF;
}

    .module-more-navigation a:hover {
        border-bottom: 2px solid #004D85;
        color: #004D85;
    }

.module-more-navigation .btn .icon {
    color: #093E52;
}

.module-more-navigation ul {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

.module-more-navigation li {
    padding: 0;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

    .module-more-navigation li:last-child {
        margin-bottom: 2rem;
    }

@media (min-width: 992px) {
    .module-more-navigation ul {
        height: 200px;
    }
}

.module-more-navigation .row {
    margin-bottom: 0;
}

    .module-more-navigation .row .col:first-child {
        padding-bottom: 0;
    }

/* Dropdown button */
.dropdown {
    position: relative;
}

.btn-dropdown:after {
    display: inline;
    content: '\e000';
    font-family: 'civica-icons';
    border: 0;
    color: #367F8C;
    font-size: 1rem;
    top: 0.25rem;
    position: relative;
    left: 0.5rem;
}

.btn-dropdown {
    padding-right: calc(1.5rem + 16px);
}

/*.dropdown-content {
  width: 300px;
  display: none;
  position: absolute;
  left: 0rem;
  background-color: $page-background-col;
  padding: 0;
  z-index: -1;
  border: 1px solid $line-dis-col;
  list-style: none
}
.dropdown-content li {
  color: $text-col;
  display: flexbox;
  padding: 0;
}

.dropdown-content li {
  color: $text-col;
  display: flexbox;
  padding: 0;
}

.dropdown-content li:hover {
  background-color: $tbl-hov-col;
}
.dropdown-content li a {
  line-height: 44px;
  display: block;
  border: 0;
  padding-left: 2rem;
  width: 100%;
}
.dropdown-content li:hover a span {
  text-decoration: underline;
}
.dropdown-divider {
  height: 1px;
  width: 100%;
  background-color: $line-dis-col;
}
.show-dropdown {
  display: block;
  z-index: 1;
}*/
.dropdown-item {
    color: #093E52;
}

    .dropdown-item:hover {
        background-color: #EBF7FF;
        border-bottom: none;
    }

.dropdown-menu li {
    padding: 0 0 0.25rem 0;
}

/* Date pickers */
.date-divider {
    line-height: 44px;
    vertical-align: top;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
}

.datepicker {
    margin: 0;
    padding-left: 10px;
    height: 25px;
    vertical-align: bottom;
    position: relative;
}

.ui-datepicker-trigger {
    margin: 2px;
    padding: 0;
    vertical-align: top;
}

    .ui-datepicker-trigger img {
        width: 25px;
        height: 25px;
        margin: 10px;
        color: #093E52;
    }

.ui-widget-content {
    border: 1px solid #D2E1E4;
}

    .ui-state-default,
    .ui-widget-content .ui-state-default {
        background: none !important;
        background-color: #F6F8F9 !important;
        border: 1px solid #D2E1E4 !important;
        text-align: center;
    }

.ui-datepicker-calendar {
    margin-top: 0.5rem;
}

.ui-datepicker th {
    text-align: center;
}

.ui-datepicker td {
    padding: 2px;
}

    .ui-datepicker td a {
        display: block;
        padding: 3px;
    }

.ui-datepicker a.ui-state-default {
    color: #093e52;
}

.ui-state-default:hover,
.ui-widget-content .ui-state-default:hover {
    border: 2px solid #093e52;
}

.ui-state-default:focus,
.ui-widget-content .ui-state-default:focus {
    outline: none;
    border: 2px solid #093e52 !important;
    box-shadow: 0 0 0 3px #2C93E2;
    position: relative;
}

.ui-datepicker {
    background-color: #fff;
}

    .ui-datepicker .ui-state-active {
        background-color: #3174AF !important;
        color: #fff !important;
    }

    .ui-datepicker .ui-datepicker-header {
        background: none;
        background-color: #EBF7FF;
        border: 1px solid #D2E1E4 !important;
        padding: 8px;
    }

    .ui-datepicker .ui-datepicker-prev,
    .ui-datepicker .ui-datepicker-next {
        border-bottom: none;
        position: absolute;
        height: 20px;
        display: block;
    }

    .ui-datepicker .ui-datepicker-prev {
        left: 4px;
    }

    .ui-datepicker .ui-datepicker-next {
        right: 4px;
    }

        .ui-datepicker .ui-datepicker-prev:hover,
        .ui-datepicker .ui-datepicker-next:hover {
            border: 2px solid #093e52 !important;
        }

    .ui-datepicker .ui-datepicker-prev-hover:hover,
    .ui-datepicker .ui-datepicker-next-hover:hover {
        background-color: transparent !important;
        background: none !important;
    }

    .ui-datepicker .ui-icon-circle-triangle-e {
        background-image: url("../images/SVGs/chevron-right.svg") !important;
        background-position: center;
    }

    .ui-datepicker .ui-icon-circle-triangle-w {
        background-image: url("../images/SVGs/chevron-left.svg") !important;
        background-position: center;
    }

    .ui-datepicker .ui-datepicker-prev .ui-icon,
    .ui-datepicker .ui-datepicker-next .ui-icon {
        display: inline-block;
        height: 16px;
        width: 16px;
        padding: 4px;
        overflow: hidden;
        text-indent: -99999px;
    }

    .ui-datepicker .ui-datepicker-prev:focus,
    .ui-datepicker .ui-datepicker-next:focus {
        outline: none;
        border: 2px solid #093e52 !important;
        box-shadow: 0 0 0 3px #2C93E2;
    }

.ui-datepicker-title {
    text-align: center;
}

.ui-datepicker .ui-datepicker-buttonpane button {
    background-color: transparent !important;
    border-color: #3174AF !important;
    color: #3174AF !important;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 300;
    border-radius: 4px;
}

.ui-datepicker-buttonpane {
    padding: 10px;
    text-align: right;
}

    .ui-datepicker-buttonpane button:hover {
        background-color: #004D85 !important;
        border-color: #004D85;
        color: #fff !important;
        transition: ease all 0.2s;
    }

.ui-datepicker .ui-datepicker-buttonpane button:focus {
    background-color: #3174AF !important;
    border: 2px solid #093e52 !important;
    box-shadow: 0 0 0 3px #2C93E2 !important;
    color: #fff !important;
}

.offscreen {
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    margin: 0;
    padding: 0;
}

button.ui-datepicker-trigger {
    background-color: transparent !important;
    border: none !important;
    margin: auto !important;
}

    button.ui-datepicker-trigger:focus,
    button.ui-datepicker-trigger:active {
        border: none !important;
        margin: auto !important;
        outline: none;
        border: 2px solid #093e52 !important;
        box-shadow: 0 0 0 3px #2C93E2;
    }

    button.ui-datepicker-trigger:hover {
        background-color: #F6F8F9 !important;
        border: none !important;
        margin: auto !important;
        outline: none;
    }

/* Error summary */
.error-summary {
    border: 3px solid #A92131;
    padding: 0.5rem 0 1rem 1rem;
    background-color: #FCF3F3;
}

.error-summary-title {
    color: #A92131;
}

.error-summary-list li {
    list-style-type: none;
    padding-left: 0;
}

    .error-summary-list li a {
        font-size: 0.875rem;
        color: #A92131;
        border-bottom-color: #A92131;
    }

.error-summary-list {
    padding-left: 0;
}

/* Alerts */
.alert {
    width: 100%;
    border-radius: 4px;
    border: 1px solid #0096EF;
    min-height: 44px;
    background-color: #F1FAFF;
    margin-bottom: 2rem;
    padding: 5px;
    position: relative;
}

    .alert * {
        display: inline-block;
        font-size: 0.875rem;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 700;
        vertical-align: middle;
        margin: 0;
    }

    .alert:focus {
        box-shadow: 0 0 0 3pt #2C93E2;
    }

    .alert > .icon {
        font-size: 24px;
        color: #0096EF;
        position: relative;
        padding-top: 0.2rem;
        padding-left: 10px;
    }

    .alert p {
        color: #093e52;
        display: inline;
    }

    .alert a {
        position: relative;
        border: 0;
        text-decoration: underline;
    }

        .alert a:hover {
            border: 0;
        }

    .alert button {
        float: right;
        margin: 0;
        min-height: 44px;
        min-width: 44px;
        background-color: transparent;
        position: absolute;
        top: 0;
        right: 0;
    }

@media (max-width: 576px) {
    .alert {
        height: auto;
        padding: 0.5rem 2.5rem 0.5rem 0.5rem;
        line-height: 1rem;
        position: relative;
    }

        .alert p {
            font-size: 0.875rem;
            display: inline;
        }

        .alert a {
            font-size: 0.875rem;
            padding-left: 0.25rem;
        }

        .alert .btn {
            top: 0;
            right: 0;
            position: absolute;
        }
}

.alert-success {
    border-color: #098765;
    background-color: #EBFAF5;
}

    .alert-success .icon {
        color: #098765;
    }

.alert-warning {
    border-color: #B75F00;
    background-color: #FFFAF5;
}

    .alert-warning .icon {
        color: #B75F00;
    }

.alert-error {
    border-color: #A92131;
    background-color: #FCF3F3;
}

    .alert-error .icon {
        color: #A92131;
    }

    .alert-error a {
        color: #093e52;
    }

/* Left menu */
.left-menu {
    height: calc(100vh - 3.5em);
    width: 300px;
    max-width: 100%;
    position: fixed;
    z-index: 2100;
    left: 0;
    top: 3.5em;
    overflow-x: hidden;
    transition: 0.2s;
    display: none;
    border-right: 1px solid #F0F0F0;
    background-color: #fff;
    box-shadow: 20px 0 40px rgba(9, 62, 82, 0.35);
    padding-bottom: 70px;
}

@media (prefers-reduced-motion: reduce) {
    .left-menu {
        transition: 0s;
    }
}

@media (min-width: 1201px) {
    .left-menu {
        box-shadow: none;
        display: inline-block;
        /* open by default on big screens */
    }
}

.left-menu::-webkit-scrollbar {
    width: 0 !important;
}

.left-menu h1, .left-menu h2, .left-menu h3, .left-menu h4, .left-menu h5, .left-menu h6 {
    margin-bottom: 0;
}

.left-menu ul {
    padding: 0;
    list-style-type: none;
    margin-bottom: 0;
}

.left-menu li {
    padding: 0;
}

.left-menu-header {
    display: block;
    background-color: #F6F8F9;
    width: 100%;
    vertical-align: middle;
    position: relative;
    border-bottom: 1px solid #F0F0F0;
    padding: 1rem;
}

    .left-menu-header .btn {
        min-height: 56px;
    }

    .left-menu-header .icon-right {
        float: right;
        font-size: 1.5em;
    }

.menu-header-text {
    color: #093E52;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
}

.left-menu-header .icon {
    color: #093E52;
    margin-right: 16px;
    margin-left: 0.5rem;
}

.left-menu-header .btn {
    border: 0;
    background-color: transparent;
}

    .left-menu-header .btn:hover {
        background-color: transparent;
    }

    .left-menu-header .btn .icon {
        margin-right: 0;
    }

.left-menu-header .icon-chevron-left, .left-menu-header .icon-chevron-right {
    color: #093E52;
    font-size: 1.5rem;
}

.left-menu-item {
    color: #093e52;
    background-color: #fff;
    width: 100%;
    padding: 12px 0 12px 16px;
    font-size: 0.875rem;
}

    .left-menu-item div, .left-menu-item span, .left-menu-item p {
        color: #093e52;
    }

    .left-menu-item .icon {
        color: #093e52;
        margin-right: 16px;
        line-height: 40px;
    }

    .left-menu-item:hover {
        background-color: #EBF7FF;
    }

        .left-menu-item:hover .menu-item-text, .left-menu-link:focus .left-menu-item .menu-item-text {
            border-bottom: 1px solid #004D85;
            color: #004D85;
        }

.left-menu-link:focus {
    box-shadow: none;
}

    .left-menu-link:focus .left-menu-item {
        background-color: #EBF7FF;
        border: 3px solid #2C93E2;
        border-left: 0;
        border-right: 0;
        outline: none;
        box-sizing: content-box;
    }

    .left-menu-link:focus .left-menu-header {
        background-color: #F6F8F9;
        border-left: 4px solid #2C93E2;
    }

.left-menu-item.open {
    background-color: #3174AF;
}

    .left-menu-item.open:hover .menu-item-text {
        border-bottom: 1px solid #fff;
        color: #fff;
    }

    .left-menu-item.open div, .left-menu-item.open span, .left-menu-item.open p {
        color: #fff;
    }

    .left-menu-item.open .icon {
        color: #fff;
    }

.left-menu-link:focus .left-menu-item.open .icon {
    color: #093e52;
}

.left-menu-link:focus .left-menu-item.open .menu-item-text {
    color: #093e52;
    border-bottom: 1px solid #093e52;
}

.left-menu-item .text-with-badge {
    display: inline-block;
}

    .left-menu-item .text-with-badge .badge {
        top: 5px;
    }

/* Accordion menus */
.left-menu .accordion-header-btn:focus {
    box-shadow: none;
    border: 3px solid #2C93E2;
    outline: 0;
}

.left-menu .accordion-header-btn:hover {
    background-color: #fff;
}

.left-menu .accordion-header-btn {
    border: 0;
    min-height: 44px;
    background-color: #F6F8F9;
    border-bottom: 1px solid #F0F0F0;
    position: relative;
}

    .left-menu .accordion-header-btn .accordion-control .icon {
        line-height: 44px;
        position: relative;
        top: 0.25rem;
    }

    .left-menu .accordion-header-btn .accordion-text {
        font-size: 1rem;
        padding-top: 0rem;
    }

.left-menu .accordion-header .accordion-control .icon:before {
    content: '\e000';
}

.left-menu .accordion-header.accordion-header-active .accordion-control .icon:before {
    content: '\e029';
}

.left-menu .accordion {
    margin-bottom: 0;
}

    .left-menu .accordion ul {
        margin-bottom: 0;
    }

.left-menu-item .icon {
    line-height: normal;
}

/* Right menu */
.right-menu {
    height: calc(100vh);
    max-width: 600px;
    width: 0px;
    background-color: #fff;
    position: fixed;
    z-index: 1500;
    right: 0;
    top: 0;
    overflow-x: hidden;
    padding-top: 3.5em;
    transition: 0.5s;
    box-shadow: -15px 5px 20px -15px rgba(9, 62, 82, 0.35);
    display: inline-block;
}

@media (prefers-reduced-motion: reduce) {
    .right-menu {
        transition: 0s;
    }
}

@media (max-width: 1200px) {
    .right-menu {
        z-index: 3000;
    }
}

@media (max-width: 600px) {
    .right-menu {
        max-width: 100% !important;
    }
}

.right-menu::-webkit-scrollbar {
    width: 0 !important;
}

.slide-right-container {
    margin: 0;
    height: calc(100vh);
    position: fixed;
    z-index: 2090;
    right: 0;
    top: 0;
    overflow-x: hidden;
    transition: 0.5s;
    display: inline-block;
    border-radius: 0;
    box-shadow: -15px 5px 20px -15px rgba(9, 62, 82, 0.35);
}

@media (prefers-reduced-motion: reduce) {
    .slide-right-container {
        transition: 0s;
    }
}

.slide-right-container::-webkit-scrollbar {
    width: 0 !important;
}

.right-item-panel {
    width: 600px;
    background-color: #fff;
    box-shadow: -15px 5px 20px -15px rgba(9, 62, 82, 0.35);
    padding: 1rem 2rem;
    float: right;
    display: none;
    min-height: 100%;
}

@media (max-width: 576px) {
    .slide-right-container {
        position: fixed;
    }
}

.image-panel {
    display: none;
    top: 0;
    position: sticky;
    max-height: 100vh;
    overflow-y: scroll;
    width: 700px;
    z-index: -1;
    background-color: #fff;
    box-shadow: -15px 5px 20px -15px rgba(9, 62, 82, 0.35);
    padding: 1rem 2rem;
}

@media (max-width: 1200px) {
    .right-item-panel {
        max-width: 600px;
        width: auto;
        float: right;
        display: none;
    }

    .image-panel {
        max-height: auto;
        top: 0;
        right: 0;
        position: absolute;
        width: auto;
        max-width: 600px;
        z-index: 2;
        box-shadow: 0px 50px 200px 0px rgba(9, 62, 82, 0.35);
    }

        .image-panel img {
            max-width: 50vw;
        }
}

.right-menu .btn .icon:before {
    font-size: 1.25rem !important;
}

/* Left, right menus and body content */
@media (max-width: 576px) {
    .left-menu {
        position: fixed;
    }

    .right-menu {
        position: fixed;
    }

    #main-and-footer {
        position: absolute;
    }
}

#main-and-footer {
    transition: all .5s;
    position: relative;
    display: inline-block;
    width: 100%;
    left: 0px;
    min-height: 100%;
    background-color: #fff;
    margin-top: 3.5em;
}

@media (prefers-reduced-motion: reduce) {
    #main-and-footer {
        transition: all 0s;
    }
}

/* Header */
.header-logo img {
    height: 3.5em;
    position: relative;
    top: -10px;
    left: -50px;
}

.header-logo:hover {
    cursor: pointer;
    border: 0;
}

.nav-items {
    max-width: calc(80% - 300px);
    height: 3.5em;
    padding: 0;
    display: inline-block;
    text-align: left;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

    .nav-items::-webkit-scrollbar {
        display: none;
        width: 0;
    }

.nav-item-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: inline-block;
    height: 3.5em;
    overflow-x: auto;
    overflow-y: hidden;
}

.nav-item {
    display: inline-block;
    padding: 0 0.5rem;
    height: 3.5em;
    vertical-align: middle;
    align-items: center;
    border-bottom: 6px solid transparent;
    cursor: pointer;
    position: relative;
    font-size: 1rem;
    line-height: 3.5em;
    margin: 0 0.25rem;
    transition: 0.2s all;
}

@media (prefers-reduced-motion: reduce) {
    .nav-item {
        transition: 0s all;
    }
}

.nav-link {
    color: #fff;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    padding: 0;
    box-sizing: border-box;
    height: 3.5em;
    line-height: 3.5em;
}

    .nav-link:hover {
        color: #8CCFB7;
    }

.nav-item.emphasised .nav-link {
    color: #093e52;
}

@media (max-width: 1200px) {
    .nav-item {
        font-size: 0.875rem;
        margin: 0;
        padding: 0 0.5rem;
    }
}

.nav-items-row {
    height: 3.5em;
    margin-bottom: 0;
}

.nav-items-row {
    display: inline-block;
}

.nav-item.active {
    border-bottom: 6px solid #8CCFB7;
}

.nav-link:focus {
    border-bottom: 6px solid #2C93E2;
}

.nav-item.view-more {
    display: none;
    margin-right: 2rem;
    color: #fff;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
}

    .nav-item.view-more a {
        padding-right: 1rem;
    }

    .nav-item.view-more:before {
        content: '\e000';
        font-family: 'civica-icons';
        display: inline-block;
        position: absolute;
        right: -1rem;
        top: 0;
        pointer-events: none;
    }

@media (max-width: 767.5px) {
    .nav-item:not(.active) {
        display: none;
    }

    .nav-item.view-more {
        display: inline-block;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 700;
    }
}

@media (max-width: 576px) {
    .nav-item.active {
        display: none;
    }
}

@media (max-width: 400px) {
    .logo-text {
        font-size: 0.875rem;
    }

    .nav-item.view-more {
        font-size: 0.875rem;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 300;
    }

        .nav-item.view-more:after {
            font-size: 0.875rem;
        }
}

.nav-item.emphasised {
    background-color: #fff;
}

.nav-link:hover {
    border: 0;
}

.top-header {
    background-color: #093e52;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2000;
}

    .top-header .logo {
        display: inline-block;
        position: relative;
        height: 3.5em;
    }

        .top-header .logo a {
            position: relative;
            top: 0;
            font-size: 1.5em;
            color: #fff;
            font-family: Arial, "Arial", sans-serif;
            font-weight: 700;
            text-transform: uppercase;
            line-height: calc(3.5em / 1.5);
            border-bottom: 0;
            padding: 0 1rem;
            z-index: 1070;
            display: inline-block;
        }

@media (max-width: 400px) {
    .top-header .logo a {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}

.dark-logo-text {
    color: #093e52 !important;
    text-shadow: 0 2px 2px rgba(9, 62, 82, 0.35);
}

#logo-text {
    transition: 0.5s color;
}

@media (prefers-reduced-motion: reduce) {
    #logo-text {
        transition: 0s color;
    }
}

.top-header .icon {
    color: #fff;
}

.top-header a {
    border-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    vertical-align: top;
    line-height: 3.5em;
}

.top-header .header-content h1, .top-header .header-content h2, .top-header .header-content h3, .top-header .header-content h4, .top-header .header-content h5 {
    color: #fff;
}

.header-dropdown-content {
    min-width: 200px;
    display: none;
    position: absolute;
    right: 0;
    background-color: #093e52;
    padding: 0;
    z-index: 2000;
    top: 3.5em;
    overflow-y: auto;
    max-height: calc(568px - 3.5em);
}

    .header-dropdown-content ul {
        list-style: none;
        padding-left: 0;
        margin: 0;
    }

    .header-dropdown-content li {
        text-align: left;
        padding: 0;
    }

        .header-dropdown-content li a {
            padding: 0.5rem 0.75rem;
            width: 100%;
            display: block;
            line-height: 1em;
        }

        .header-dropdown-content li:hover .nav-text, .right-navigation-icons a:focus .nav-text {
            text-decoration: underline;
        }

        .header-dropdown-content li .icon {
            position: relative;
            top: 4px;
            line-height: 1em;
        }

    .header-dropdown-content .icon-with-badge {
        width: 2.3rem !important;
    }

        .header-dropdown-content .icon-with-badge .icon-badge {
            top: 0.1rem;
            left: 0.5rem !important;
        }

    .header-dropdown-content li .nav-text {
        color: #fff;
    }

    .header-dropdown-content li a:focus {
        border: 4px solid #2C93E2;
    }

.top-header .dropdown-divider {
    height: 1px;
    width: 100%;
    background-color: #D2E1E4;
}

.top-header .show-dropdown {
    display: block;
}

.navigation-menu {
    transition: all .5s;
    position: relative;
    z-index: 1050;
    padding: 0rem 1rem 0rem 0.75rem;
    width: 3.5em;
    height: 3.5em;
    float: left;
    background-color: #093e52;
    display: block;
}

@media (prefers-reduced-motion: reduce) {
    .navigation-menu {
        transition: all 0s;
    }
}

.navigation-menu .icon {
    font-size: 2rem;
    float: left;
    z-index: 2030;
    position: relative;
    top: 50%;
    transform: translate(0, -40%);
}

a:focus .navigation-menu {
    box-shadow: 0 0 0 3pt #2C93E2;
    background-color: #fff;
}

    a:focus .navigation-menu .icon {
        color: #093e52;
    }

.top-nav-left {
    height: 3.5em;
    display: inline-block;
    z-index: 2000;
    padding: 0;
    width: 300px;
}

@media (max-width: 768px) {
    .top-nav-left {
        width: auto;
    }
}

.right-navigation-icons {
    position: absolute;
    right: 0;
    max-width: 33%;
}

    .right-navigation-icons a {
        height: 3.5em;
    }

        .right-navigation-icons a:focus {
            border: 3px solid #2C93E2;
            box-shadow: none;
        }

    .right-navigation-icons .icon {
        font-size: 1.5rem;
        display: inline-block;
        padding: 0 0.5rem;
    }

        .right-navigation-icons .icon:last-child {
            margin-right: 0;
        }

    .right-navigation-icons .icon-with-badge {
        margin: 0 auto;
        position: relative;
        text-align: center;
        width: 4rem;
        vertical-align: top;
    }

        .right-navigation-icons .icon-with-badge .icon-badge {
            position: absolute;
            top: 0.5rem;
            left: 1rem;
            padding-left: 0.15rem;
        }

        .right-navigation-icons .icon-with-badge a {
            text-align: center;
            line-height: 0px;
        }

.logo-centered {
    width: 100%;
    left: auto;
}

.top-header .logo-centered a {
    position: relative;
    left: auto;
    line-height: 3.5em;
    margin: 0 auto;
}

@media (max-width: 1200px) {
    .nav-items {
        max-width: 50%;
        margin-left: 16px;
    }
}

/* Scroll on and back */
#scrollOn, #scrollBack {
    display: none;
}

    #scrollOn .icon, #scrollBack .icon {
        color: #fff;
    }

    #scrollOn .btn, #scrollBack .btn {
        height: 3.5em;
    }

#scrollBack {
    z-index: 2000;
    position: relative;
    left: -40px;
    margin-right: -40px;
}

@media (max-width: 1200px) {
    #scrollBack {
        max-width: 50%;
        margin-left: -0px;
        left: -96px;
    }
}

/* Footer */
.footer-logo {
    height: 20px;
    margin-top: 0.25rem;
}

/* Badges */
.badge {
    font-size: 0.75rem;
    overflow: hidden;
    color: #fff;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    background-color: #093e52;
    border-radius: 1rem;
    display: inline-block;
    margin-left: 1.25rem;
    line-height: 1rem;
}

.icon-badge {
    position: absolute;
    top: -0.2rem;
    left: 0.1rem;
}

.icon-with-badge {
    margin-top: 0.1rem;
    display: inline-block;
    position: relative;
    overflow: visible;
    white-space: nowrap;
    margin-right: 1.5em;
}

    .icon-with-badge .badge {
        min-height: 1.25em;
        font-size: 0.6rem;
        text-align: center;
    }

.badge-alert {
    background-color: #A92131;
}

.badge-warning {
    background-color: #B75F00;
}

.badge-good {
    background-color: #098765;
}

.text-with-badge .badge {
    padding: 0.3rem 0.5rem;
    line-height: 0.875rem;
    top: 0.1rem;
    left: -0.2rem;
    position: relative;
    color: #fff;
}

.text-with-badge {
    display: inline-block;
}

    .text-with-badge * {
        display: inline-block;
    }

/* Icons */
.icon-right {
    position: relative;
    right: -0.5rem;
    margin-left: -1rem;
}

.icon-left {
    position: relative;
    left: -0.2rem;
    /* margin-right: -1rem; */
}

/* Buttons */
.btn {
    padding: 11.5px 1.5rem;
    background-color: #fff;
    color: #093E52;
    border-radius: 4px;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    border: 1px solid #D2E1E4;
    transition: ease all 0.5s;
    min-width: 8rem;
    min-height: 44px;
    font-size: 1rem;
    position: relative;
    vertical-align: top;
    line-height: normal;
}

@media (prefers-reduced-motion: reduce) {
    .btn {
        transition: ease all 0s;
    }
}

@media (max-width: 768px) {
    .btn {
        font-size: 0.875rem;
        padding: 0.5rem 0.75rem;
    }
}

.btn:hover {
    background-color: #F6F8F9;
    transition: ease all 0.5s;
    border: 1px solid #D2E1E4;
}

@media (prefers-reduced-motion: reduce) {
    .btn:hover {
        transition: ease all 0s;
    }
}

.btn:focus {
    box-shadow: 0 0 0 3pt #2C93E2;
    border: 2px solid #093e52 !important;
}

.btn.disabled, .btn[disabled] {
    background-color: #D2E1E4;
    color: #849EA8;
    border-color: #D2E1E4;
    pointer-events: none;
}

/* Secondary button */
.btn-secondary {
    background-color: #3174AF;
    border-color: #3174AF;
    color: #fff;
    border: 1px solid #3174AF;
}

    .btn-secondary:hover {
        background-color: #004D85;
        border-color: #004D85;
        transition: ease all 0.2s;
    }

@media (prefers-reduced-motion: reduce) {
    .btn-secondary:hover {
        transition: ease all 0s;
    }
}

.btn-secondary:not(:disabled):not(.disabled):active {
    border: 2px solid #004D85 !important;
    background-color: #3174AF;
}

    .btn-secondary:not(:disabled):not(.disabled):active:focus {
        box-shadow: 0 0 0 3pt #2C93E2;
    }

.btn-secondary:focus {
    background-color: #004D85 !important;
}

/* Primary button */
.btn-primary {
    background-color: #093E52;
    color: #fff;
    border: 1px solid #093E52;
}

    .btn-primary:hover {
        background-color: #367F8C;
        border: 1px solid #367F8C;
        transition: ease all 0.2s;
    }

@media (prefers-reduced-motion: reduce) {
    .btn-primary:hover {
        transition: ease all 0s;
    }
}

.btn-primary:not(:disabled):not(.disabled):active {
    border: 2px solid #367F8C !important;
    background-color: #093E52;
}

    .btn-primary:not(:disabled):not(.disabled):active:focus {
        box-shadow: 0 0 0 3pt #2C93E2;
    }

.btn-primary:focus {
    background-color: #367F8C !important;
}

/* Link button */
.btn-link {
    background: transparent;
    border: 0;
    min-height: 44px;
    font-size: 0.875rem;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 300;
    color: #3174AF;
}

    .btn-link:hover {
        border: 1px solid #3174AF;
        text-decoration: none;
        background-color: transparent;
    }

    .btn-link:focus {
        border: 0px;
        text-decoration: none;
    }

    .btn-link.disabled {
        background-color: transparent;
        pointer-events: none;
        color: #849EA8;
        opacity: 0.65;
    }

/* Negative/warning button */
.btn-warning {
    color: #fff;
    border-color: #A92131;
    background-color: #A92131;
}

    .btn-warning .icon {
        color: #fff;
    }

    .btn-warning:hover {
        color: #A92131;
        border-color: #A92131;
        background-color: #fff;
    }

    .btn-warning:not(:disabled):not(.disabled):active {
        border-color: #A92131 !important;
        background-color: #fff;
    }

        .btn-warning:not(:disabled):not(.disabled):active:focus {
            box-shadow: 0 0 0 3pt #2C93E2;
        }

    .btn-warning:focus {
        color: #A92131;
        border-color: #A92131 !important;
        background-color: #fff !important;
    }

    .btn-warning.disabled {
        background-color: #FCF3F3;
        color: #A92131;
        border-color: #A92131;
    }

/* Ghost button */
.btn-ghost {
    background-color: transparent;
    border-color: #3174AF;
    color: #3174AF;
}

    .btn-ghost:hover {
        background-color: #3174AF;
        border-color: #3174AF;
        color: #fff;
        transition: ease all 0.2s;
    }

@media (prefers-reduced-motion: reduce) {
    .btn-ghost:hover {
        transition: ease all 0s;
    }
}

.btn-ghost:active {
    border-color: #3174AF !important;
}

.btn-ghost:focus {
    border: 2px solid #093e52 !important;
}

/* Previous and next buttons */
.btn-prev:before {
    font-family: 'civica-icons';
    content: '\e006';
    display: inline-block;
    font-size: 1em;
    position: relative;
    left: -8px;
    text-align: center;
    top: 2px;
    color: #367F8C;
}

.btn-next:after {
    font-family: 'civica-icons';
    content: '\e005';
    display: inline-block;
    font-size: 1em;
    position: relative;
    left: 8px;
    text-align: center;
    top: 2px;
    color: #367F8C;
}

.btn-secondary.btn-next:after {
    color: #fff;
}

.btn-secondary.btn-prev:after {
    color: #fff;
}

.btn-prev, .btn-next {
    padding: auto 0;
}

/* Reveal and expand buttons */
.btn-reveal.rotated:after {
    transform: rotate(-180deg);
}

.btn-reveal, .btn-contract {
    border-radius: 0 0 8px 8px;
    min-height: 44px;
    font-size: 0.875rem;
    color: #3174AF;
}

    .btn-reveal:after {
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid #367F8C;
        content: '';
        display: inline-block;
        position: relative;
        left: 8px;
    }

    .btn-contract:after {
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 5px solid #367F8C;
        content: '';
        display: inline-block;
        position: relative;
        left: 8px;
    }

.btn-expand, .btn-hide {
    text-decoration: underline;
}

    .btn-expand:after {
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid #367F8C;
        content: '';
        display: inline-block;
        position: relative;
        left: 8px;
    }

    .btn-hide:after {
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 5px solid #367F8C;
        content: '';
        display: inline-block;
        position: relative;
        left: 8px;
    }

/* Table buttons */
table .actions button {
    display: block;
    margin: auto;
    text-align: center;
    min-width: 90%;
}

.btn-table {
    color: #3174AF;
    background-color: #F6F8F9;
    padding: 0rem 0.5rem;
}

    .btn-table:hover {
        background-color: #fff;
    }

/* Pagination */
.pagination {
    text-align: right;
}

    .pagination ul {
        list-style-type: none;
        width: 100%;
        padding: 0;
    }

    .pagination li {
        display: inline-block;
        padding: 0;
        margin: 0;
    }

    .pagination a.btn {
        margin: 0;
        min-width: 44px;
        min-height: 44px;
        padding: 0.75rem;
        font-size: 1.25em;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 300;
    }

    .pagination a.active {
        background-color: #367F8C;
        color: #fff;
    }

.page-number {
    line-height: auto;
}

.pagination .btn-prev:before {
    left: -5px;
}

.pagination .btn-next:after {
    left: -2px;
}

.per-page-container {
    display: contents;
}

    .per-page-container > span {
        vertical-align: top;
        display: inline-block;
        line-height: 44px;
    }

.per-page {
    width: 4em;
    margin-left: 1rem;
}

@media screen and (max-width: 766px) {
    .pagination {
        text-align: left;
    }

        .pagination a.btn {
            min-width: 32px;
        }
}

/* Button sizes */
.btn-xl {
    font-size: 1rem;
    padding: 19.5px 1.5rem;
}

.btn-lg {
    font-size: 1rem;
    padding: 17.5px 1.5rem;
}

.btn-md {
    font-size: 1rem;
}

.btn-sm {
    min-height: 40px;
    font-size: 0.875rem;
    padding: 10.5px 1.5rem;
}

/* Anchor buttons */
a.btn, a.btn-xl, a.btn-lg, a.btn-md, a.btn-sm {
    line-height: normal;
    min-height: 0;
}

/* Button icons */
.btn .icon {
    color: #093E52;
}

@media (max-width: 768px) {
    .btn .icon:before {
        font-size: 1em;
    }
}

.btn-md .icon:before, .btn-lg .icon:before, .btn-xl .icon:before, .btn .icon:before, .btn-sm .icon:before {
    font-size: 1em;
}

.btn-primary .icon, .btn-secondary .icon {
    color: #fff;
}

.btn-ghost .icon {
    color: #3174AF;
}

.btn-ghost:hover .icon {
    color: #fff;
}

.btn-icon .icon:before {
    font-size: 1.5em;
}

.btn .icon-left:before {
    position: relative;
    left: -15px;
    vertical-align: bottom;
    margin-left: 15px;
}

.btn .icon-right:before {
    position: relative;
    left: 15px;
    vertical-align: bottom;
    margin-right: 15px;
}

.btn-link .icon:before {
    font-size: 0.875em;
    position: relative;
    left: -8px;
}

.btn-icon {
    padding: 0.25em;
    min-width: 44px;
    min-height: 44px;
    font-size: 2rem;
    line-height: 1rem;
    font-weight: normal;
}

/* Lists */
.list-no-bullets {
    list-style-type: none;
    padding-left: 0rem;
}

.list-with-bullets {
    list-style-type: none;
    padding-left: 0rem;
}

    .list-with-bullets li:before {
        content: '\e007';
        font-family: 'civica-icons';
        transform: rotate(-90deg);
        display: inline-block;
    }

/* Panel */
.panel {
    text-align: center;
    padding: 2rem;
    margin-bottom: 2rem;
    background-color: #3174AF;
}

.panel-title, .panel-body {
    color: #fff;
}

.panel-body {
    font-size: 1.5rem;
}

.panel-title {
    font-size: 2.5rem;
}

@media (max-width: 600px) {
    .panel-title {
        font-size: 2rem;
    }

    .panel {
        padding: 1.25rem;
    }
}

.panel-success {
    background-color: #098765;
}

.panel-warning {
    background-color: #B75F00;
}

.panel-error {
    background-color: #A92131;
}

.panel-note {
    background-color: #0096EF;
}

/* Notification */
@media (max-width: 992px) {
    .notification-container {
        width: 320px;
    }
}

.notification-container {
    position: sticky;
    top: 0px;
    left: 100%;
    width: 450px;
    z-index: 3000;
    margin: 0;
}

.notification .progress-line {
    display: block;
    width: calc(320px - 72px);
    background-color: #F6F8F9;
    height: 10px;
    border-radius: 10px;
    border: 2px solid #fff;
}

@media (min-width: 401px) {
    .notification .progress-line {
        width: calc(352px - 72px);
    }
}

.notification .progress {
    position: absolute;
    display: block;
    width: 160px;
    background-color: #B75F00;
    height: 10px;
    border-radius: 10px;
    border: 2px solid #fff;
    z-index: 2;
}

.notification .progress-bar {
    margin: 0.5rem 0 0rem;
}

.notification {
    position: relative;
    width: 450px;
    padding: 1.5rem;
    background-color: #3174AF;
}

    .notification a {
        color: #fff;
    }

    .notification p {
        color: #fff;
        font-size: 0.875rem;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 700;
        vertical-align: middle;
        display: inline;
    }

.notification-success {
    background-color: #098765;
}

.notification span.icon {
    display: inline;
    position: relative;
    color: #fff;
    vertical-align: middle;
}

    .notification span.icon:before {
        font-size: 1rem;
    }

.notification-with-link {
    display: block;
    position: relative;
}

    .notification-with-link a {
        border-bottom: 1px solid #fff;
    }

        .notification-with-link a:hover, .notification-with-link a:focus {
            border-bottom: 2px solid #fff;
        }

.notification-error {
    background-color: #A92131;
}

.notification-warning {
    background-color: #B75F00;
}

.notification .btn {
    background-color: transparent;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    width: 3.5rem;
    border-radius: 0;
}

    .notification .btn span {
        color: #fff;
    }

/* Tables */
table.alternating {
    font-family: Arial, "Arial", sans-serif;
    font-weight: 300;
    font-size: 0.875rem;
    color: #093e52;
    box-shadow: 0px 1px 6px rgba(9, 62, 82, 0.35);
    border: 1px solid #D2E1E4;
}

.alternating tr:nth-child(2n+1) {
    background-color: #F6F8F9;
}

.alternating tr:nth-child(2n) {
    background-color: #fff;
}

.alternating tr:hover {
    background-color: #EBF7FF;
    color: #093e52;
}

table .actions {
    border-left: 1px solid #D2E1E4;
}

.alternating th:not([scope="row"]) {
    border-bottom: 2px solid #D2E1E4;
    background-color: #fff;
    text-align: left;
    padding-left: 0.5rem;
    padding-right: 1.5em;
    color: #093e52;
    height: 44px;
    white-space: nowrap;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
}

@media screen and (max-width: 992px) {
    table:not(.not-responsive).alternating {
        box-shadow: none;
        border: none;
    }

    .alternating:not(.not-responsive) tr > *:nth-child(2n+1) {
        background-color: #F6F8F9;
    }

    .alternating:not(.not-responsive) tr > *:nth-child(2n) {
        background-color: #fff;
    }

    .alternating:not(.not-responsive) tr:nth-child(2n+1) {
        background-color: #fff;
    }

    .alternating:not(.not-responsive) tr:nth-child(2n) {
        background-color: #F6F8F9;
    }

    .alternating:not(.not-responsive) tr:hover {
        background-color: #fff;
    }

    table:not(.not-responsive) .actions {
        border-left: none;
    }
}

table.white {
    font-family: Arial, "Arial", sans-serif;
    font-weight: 300;
    font-size: 0.875rem;
    color: #093e52;
    background-color: #fff;
    border-collapse: collapse;
}

.white th:not([scope="row"]) {
    border-bottom: 1px solid #D2E1E4;
    background-color: #fff;
    text-align: left;
    padding: 0.5rem;
    color: #367F8C;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
}

/* Options and sort column */
.options-col, .sort-col {
    position: absolute;
    right: 4px;
    top: 0px;
    width: 44px;
    height: 44px;
    border-bottom: 0;
}

    .options-col:hover, .sort-col:hover {
        border-bottom: 0;
    }

    .options-col:after {
        content: '\e01c';
        font-family: 'civica-icons';
        display: block;
        position: absolute;
        color: #367F8C;
        line-height: 38px;
        font-size: 1em;
        left: 9px;
        top: 3px;
    }

    .sort-col:after {
        content: '\e000';
        font-family: 'civica-icons';
        display: block;
        position: absolute;
        color: #367F8C;
        line-height: 38px;
        font-size: 1em;
        left: 9px;
        top: 3px;
    }

    .sort-col.sorted:after {
        content: '\e029';
    }

@media (max-width: 992px) {
    .options-col, .sort-col {
        right: 4px;
        width: 20px;
    }

        .options-col:after, .sort-col:after {
            left: 1px;
        }
}

.options-col:focus, .sort-col:focus {
    box-shadow: 0 0 0 3pt #2C93E2;
    border: 2px solid #093e52 !important;
}

table tr.active td {
    background-color: #EBF7FF !important;
}

@media (max-width: 991.5px) {
    table tr.active {
        border: 1px solid #3174AF;
        box-shadow: 0 2px 10px rgba(9, 62, 82, 0.35);
    }
}

@media (min-width: 992px) {
    tr.active td:first-child:before {
        content: '';
        display: inline-block;
        position: relative;
        left: -8px;
        vertical-align: middle;
        top: 0;
        width: 4px;
        height: 1rem;
        background-color: #3174AF;
    }
}

/* Chips */
.chip {
    padding: 0rem 0.25rem;
    background-color: #F6F8F9;
    color: #3174AF;
    border-radius: 10px;
    pointer-events: none;
    margin-right: 0.5rem;
    margin-bottom: 0.75rem;
    display: inline-block;
    border: 1px solid #3174AF;
    font-size: 0.875em;
}

    .chip:hover {
        background-color: #A92131;
        color: #fff;
    }

.btn-icon-chip .close {
    pointer-events: auto;
    color: #3174AF;
    font-size: 0.875rem;
    position: relative;
    cursor: pointer;
    transition: transform .8s ease-in-out;
    overflow: hidden;
    float: none;
    opacity: 1;
}

    .btn-icon-chip .close:not(:disabled):not(.disabled):hover, .btn-icon-chip .close:not(:disabled):not(.disabled):focus {
        opacity: 1;
        color: #fff;
    }

    .btn-icon-chip .close:before {
        display: inline-block;
    }

.btn-icon-chip {
    background-color: transparent;
    color: #093e52;
    box-shadow: none;
    border: 0;
    padding: 0;
}

    .btn-icon-chip:focus {
        box-shadow: 0 0 0 3pt #2C93E2;
        border: 2px solid #093e52;
    }

    .btn-icon-chip .close {
        position: relative;
        top: 0.2em;
        text-shadow: none;
    }

    .btn-icon-chip:hover .close::before {
        overflow: hidden;
        transform: rotate(360deg);
        transition: transform .8s ease-in-out;
        color: #fff;
    }

@media (prefers-reduced-motion: reduce) {
    .btn-icon-chip:hover .close {
        transition: transform 0s ease-in-out;
    }

        .btn-icon-chip:hover .close::before {
            transition: transform 0s ease-in-out;
        }
}

/* Summary list */
.summary-list-row {
    width: 100%;
    border-bottom: 1px solid #D2E1E4;
    position: relative;
}

.summary-list-key, .summary-list-value, .summary-list-actions {
    display: inline-block;
}

.summary-list-key {
    width: 100%;
    vertical-align: top;
    padding-bottom: 0.5rem;
}

    .summary-list-key a {
        font-family: Arial, "Arial", sans-serif;
        font-weight: 700;
    }

.summary-list-value {
    width: 100%;
}

.summary-list-actions {
    width: 100%;
    vertical-align: top;
    padding-right: 0;
    text-align: left;
    padding-bottom: 0.5rem;
}

@media (min-width: 576px) {
    .summary-list-key {
        width: 30%;
    }

    .summary-list-value {
        width: 50%;
        padding-bottom: 0.5rem;
    }

    .summary-list-actions {
        width: 19%;
        position: absolute;
        right: 1rem;
        text-align: right;
        padding-top: 0.5rem;
    }
}

.summary-list.no-border .summary-list-row {
    border: 0;
}

/* Tag */
.tag {
    padding: 0 0.5rem;
    background-color: #3174AF;
    color: #fff;
    line-height: 2rem;
    display: inline-block;
}

.tag-green {
    background-color: #098765;
}

.tag-red {
    background-color: #A92131;
}

.tag-amber {
    background-color: #B75F00;
}

/* Form */
.text-form {
    width: 100%;
}

.form-group .col {
    padding-bottom: 0;
    padding-top: 0;
}

/* Form validity */
.validity-text {
    color: #A92131;
    font-size: 0.875rem;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    margin-bottom: 0.5rem;
    display: block;
}

/* View more results */
.view-more-results {
    text-align: center;
}

.view-more-link {
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    color: #3174AF;
    border: 0;
}

.view-more-button {
    display: block;
    margin: 0 auto 0.5rem;
    background-color: #fff;
    border: 2px solid #D2E1E4;
    border-radius: 50%;
    width: 2.75em;
    height: 2.75em;
    box-shadow: 0 2px 2px rgba(9, 62, 82, 0.35);
}

    .view-more-button:focus {
        outline: none;
        border-radius: 50%;
        box-shadow: 0 0 0 3pt #2C93E2;
    }

    .view-more-button:hover {
        background-color: #F6F8F9;
        box-shadow: 0 2px 4px rgba(9, 62, 82, 0.35);
    }

.view-more-icon {
    font-size: 1.875em;
    position: relative;
    left: -2px;
    display: inline-block;
    color: #367F8C;
}

/* Progress bar stepper */
.progress-container {
    width: 100%;
    height: 100px;
}

.progressbar {
    padding-left: 0;
}

    /* one item */
    .progressbar li:first-child:nth-last-child(1) {
        width: calc(100% / 1);
    }

    /* two items */
    .progressbar li:first-child:nth-last-child(2), .progressbar li:first-child:nth-last-child(2) ~ li {
        width: calc(100% / 2);
    }

    /* three items */
    .progressbar li:first-child:nth-last-child(3), .progressbar li:first-child:nth-last-child(3) ~ li {
        width: calc(100% / 3 - 0.1%);
    }

    /* four items */
    .progressbar li:first-child:nth-last-child(4), .progressbar li:first-child:nth-last-child(4) ~ li {
        width: calc(100% / 4 - 0.1%);
    }

    /* five items */
    .progressbar li:first-child:nth-last-child(5), .progressbar li:first-child:nth-last-child(5) ~ li {
        width: calc(100% / 5 - 0.1%);
    }

    /* six items */
    .progressbar li:first-child:nth-last-child(6), .progressbar li:first-child:nth-last-child(6) ~ li {
        width: calc(100% / 6 - 0.1%);
    }

    /* seven items */
    .progressbar li:first-child:nth-last-child(7), .progressbar li:first-child:nth-last-child(7) ~ li {
        width: calc(100% / 7 - 0.1%);
    }

    /* eight items */
    .progressbar li:first-child:nth-last-child(8), .progressbar li:first-child:nth-last-child(8) ~ li {
        width: calc(100% / 8 - 0.1%);
    }

    /* nine items */
    .progressbar li:first-child:nth-last-child(9), .progressbar li:first-child:nth-last-child(9) ~ li {
        width: calc(100% / 9 - 0.1%);
    }

    /* ten items */
    .progressbar li:first-child:nth-last-child(10), .progressbar li:first-child:nth-last-child(10) ~ li {
        width: calc(100% / 10 - 0.1%);
    }

    .progressbar li {
        list-style-type: none;
        float: left;
        position: relative;
        text-align: center;
    }

        .progressbar li:before {
            color: #093e52;
            font-family: 'civica-icons';
            content: '';
            width: 32px;
            height: 32px;
            line-height: 32px;
            border: 2px solid #367F8C;
            display: block;
            text-align: center;
            margin: 0 auto 16px auto;
            border-radius: 50%;
            background-color: #fff;
            position: relative;
            z-index: 2;
        }

        .progressbar li:after {
            content: '';
            position: absolute;
            width: 100%;
            height: 2px;
            background-color: #367F8C;
            top: 16px;
            left: -50%;
            z-index: 1;
        }

        .progressbar li.active:after, .progressbar li.complete:after {
            background-color: #093e52;
        }

        .progressbar li:first-child:after {
            content: none;
        }

        .progressbar li a {
            color: #093e52;
        }

        .progressbar li.complete:before {
            content: '\e010';
            background-color: #093e52;
            color: #fff !important;
            border: 2px solid #093e52 !important;
        }

        .progressbar li.active:before {
            content: "•";
            line-height: 15px;
            font-size: 64px;
            color: #093e52 !important;
            border: 2px solid #093e52 !important;
            background-color: #8CCFB7;
            box-shadow: 0 0 0 2px #367F8C;
        }

        /* Internet explorer only */
        _:-ms-lang(x), .progressbar li.active:before {
            line-height: 50%;
        }

/* Edge only */
@supports (-ms-ime-align: auto) {
    _:-ms-lang(x), .progressbar li.active:before {
        line-height: 15px;
    }
}

.progressbar li.active a {
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
}

.progressbar.counter {
    counter-reset: step;
    display: block;
}

    .progressbar.counter li:before {
        counter-increment: step;
        content: counter(step);
        font-size: 18.5px;
        line-height: 30px;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 700;
    }

@media (max-width: 992px) {
    .progress-container {
        height: auto;
    }

    .progressbar li:not(.active) {
        position: absolute !important;
        top: -9999px !important;
        left: -9999px !important;
        visibility: hidden;
    }

    .progressbar li:before {
        display: none;
    }

    .progressbar li {
        display: block;
        width: 100% !important;
        text-align: left;
        margin: 0 0 1rem 0;
        padding: 0;
        counter-increment: steps;
        font-size: 1.25rem;
    }

        .progressbar li a {
            font-size: 1.25rem;
        }

    .progressbar {
        counter-reset: steps;
    }

        .progressbar li:after {
            display: block;
            position: relative;
            width: auto;
            height: auto;
            background-color: transparent !important;
            top: auto;
            left: auto;
            z-index: 1;
            font-size: 0.875rem;
            font-family: Arial, "Arial", sans-serif;
            font-weight: 300;
        }

        .progressbar li:nth-last-child(1)::after, .progressbar li:nth-last-child(1) ~ li::after {
            content: "Step " counter(steps) " of 1";
        }

        .progressbar li:nth-last-child(2)::after, .progressbar li:nth-last-child(2) ~ li::after {
            content: "Step " counter(steps) " of 2";
        }

        .progressbar li:nth-last-child(3)::after, .progressbar li:nth-last-child(3) ~ li::after {
            content: "Step " counter(steps) " of 3";
        }

        .progressbar li:nth-last-child(4)::after, .progressbar li:nth-last-child(4) ~ li::after {
            content: "Step " counter(steps) " of 4";
        }

        .progressbar li:nth-last-child(5)::after, .progressbar li:nth-last-child(5) ~ li::after {
            content: "Step " counter(steps) " of 5";
        }

        .progressbar li:nth-last-child(6)::after, .progressbar li:nth-last-child(6) ~ li::after {
            content: "Step " counter(steps) " of 6";
        }

        .progressbar li:nth-last-child(7)::after, .progressbar li:nth-last-child(7) ~ li::after {
            content: "Step " counter(steps) " of 7";
        }

        .progressbar li:nth-last-child(8)::after, .progressbar li:nth-last-child(8) ~ li::after {
            content: "Step " counter(steps) " of 8";
        }

        .progressbar li:nth-last-child(9)::after, .progressbar li:nth-last-child(9) ~ li::after {
            content: "Step " counter(steps) " of 9";
        }

        .progressbar li:nth-last-child(10)::after, .progressbar li:nth-last-child(10) ~ li::after {
            content: "Step " counter(steps) " of 10";
        }
}

/* Banner */
.banner {
    background-color: #3174AF;
    padding: 0.5rem 9rem 0.5rem 1.5rem;
    position: relative;
    bottom: 0px;
    text-align: left;
    width: 100%;
    z-index: 1900;
}

.banner-text {
    color: #fff;
    font-size: 1rem;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    width: 50%;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .banner-text {
        font-size: 0.875rem;
    }

    .banner {
        padding-right: 2.5rem;
    }
}

.banner:hover {
    background-color: #004D85;
}

    .banner:hover .banner-button {
        background-color: #004D85;
    }

@media (min-width: 576px) {
    .banner {
        padding: 0.5rem 5rem 0.5rem 6rem;
        text-align: center;
    }
}

.banner a {
    color: #fff;
    font-size: 1rem;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 300;
    border-bottom: 1px solid #fff;
}

    .banner a:hover {
        font-size: 1rem;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 300;
        border-bottom: 2px solid #fff;
    }

.banner-button {
    position: absolute;
    right: 0;
    top: 0;
    margin: -1px;
    padding: 0 1rem;
    background-color: transparent;
    min-width: 0;
    height: 44px;
}

    .banner-button .icon {
        position: relative;
        top: 0;
    }

        .banner-button .icon:before {
            font-size: 1rem;
        }

/* Toggle switch */
.switch {
    position: relative;
    display: inline-flex;
    line-height: 1.5em;
}

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.slider {
    border-radius: 28px;
    position: relative;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #D2E1E4;
    -o-transition: .4s;
    -moz-transition: .4s;
    -webkit-transition: .4s;
    transition: .4s;
    margin-right: 20px;
    width: 5em;
    height: 1.75em;
}

@media (prefers-reduced-motion: reduce) {
    .slider {
        -o-transition: 0s;
        -moz-transition: 0s;
        -webkit-transition: 0s;
        transition: 0s;
    }
}

.slider:before {
    position: absolute;
    content: "";
    height: 1.5em;
    width: 1.5em;
    top: 2px;
    left: 2px;
    bottom: 4px;
    background-color: #fff;
    border: 1px solid #849EA8;
    -o-transition: .5s;
    -moz-transition: .5s;
    -webkit-transition: .5s;
    transition: .5s;
    border-radius: 50%;
    z-index: 10;
}

@media (prefers-reduced-motion: reduce) {
    .slider:before {
        -o-transition: 0s;
        -moz-transition: 0s;
        -webkit-transition: 0s;
        transition: 0s;
    }
}

input:checked + .slider {
    background-color: #098765;
}

input:focus + .slider {
    box-shadow: 0 0 0 3pt #2C93E2;
    outline: 0;
}

input:checked + .slider:before {
    -webkit-transform: translateX(3.25em);
    -moz-transform: translateX(3.25em);
    -ms-transform: translateX(3.25em);
    -o-transform: translateX(3.25em);
    transform: translateX(3.25em);
    border-color: #093e52;
}

input + .slider:after {
    content: 'OFF';
    font-size: 0.875em;
    display: block;
    position: relative;
    left: 2.5em;
    top: 0px;
    color: #093e52;
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    z-index: 5;
}

input:checked + .slider:after {
    content: 'ON';
    left: 1.125em;
    color: #fff;
}

input + .slider.yesno:after {
    content: 'NO';
}

input:checked + .slider.yesno:after {
    content: 'YES';
}

/* Tooltips */
.tooltip {
    position: relative;
    opacity: 1;
    display: inline-block;
}

.tooltip-indicator {
    border-bottom: 1px dashed #093e52;
}

.tooltip .tooltip-text-bottom {
    visibility: hidden;
    width: 120px;
    background-color: #3174AF;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    top: 150%;
    left: 50%;
    margin-left: -60px;
}

    .tooltip .tooltip-text-bottom::after {
        content: " ";
        position: absolute;
        bottom: 100%;
        /* At the top of the tooltip */
        left: 50%;
        margin-left: -5px;
        border-width: 5px;
        border-style: solid;
        border-color: transparent transparent #3174AF transparent;
    }

.tooltip .tooltip-text-top {
    visibility: hidden;
    width: 120px;
    background-color: #3174AF;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    bottom: 150%;
    left: 50%;
    margin-left: -60px;
}

    .tooltip .tooltip-text-top::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -5px;
        border-width: 5px;
        border-style: solid;
        border-color: transparent transparent #3174AF transparent;
        transform: rotate(180deg);
    }

.tooltip .tooltip-text-right {
    visibility: hidden;
    width: 120px;
    background-color: #3174AF;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    top: -5px;
    left: 110%;
}

    .tooltip .tooltip-text-right::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 100%;
        margin-top: -5px;
        border-width: 5px;
        border-style: solid;
        border-color: transparent transparent #3174AF transparent;
        transform: rotate(270deg);
    }

.tooltip .tooltip-text-left {
    visibility: hidden;
    width: 120px;
    background-color: #3174AF;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    top: -5px;
    right: 110%;
}

    .tooltip .tooltip-text-left::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 100%;
        margin-top: -5px;
        border-width: 5px;
        border-style: solid;
        border-color: transparent transparent #3174AF transparent;
        transform: rotate(90deg);
    }

.tooltip:hover .tooltip-text-top, .tooltip:hover .tooltip-text-bottom, .tooltip:hover .tooltip-text-right, .tooltip:hover .tooltip-text-left {
    visibility: visible;
    outline: 0;
}

.tooltip:focus .tooltip-text-top, .tooltip:focus .tooltip-text-bottom, .tooltip:focus .tooltip-text-right, .tooltip:focus .tooltip-text-left {
    visibility: visible;
    outline: 0;
}

.tooltip-indicator:hover {
    border-bottom: 2px dashed #093e52;
}

.tooltip:focus {
    box-shadow: 0 0 0 3pt #2C93E2;
    outline: 0;
}

/* Lightbox */
.lightbox {
    background-color: rgba(9, 62, 82, 0.35);
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: auto;
    display: none;
    z-index: 2000;
}

/* Select fields */
.select-wrapper {
    position: relative;
    max-width: 300px;
}

    .select-wrapper:before {
        font-family: 'civica-icons';
        content: '\e000';
        color: #367F8C;
        display: inline;
        position: absolute;
        z-index: 0;
        right: 8px;
        line-height: 44px;
        font-size: 1em;
        pointer-events: none;
    }

    .select-wrapper[readonly]:before {
        display: none;
    }

/* Tabs */
/* ui tabs */
.ui-tabs.ui-widget-content {
    border: none;
}

.ui-tabs .ui-widget-header {
    border-top: none;
    border-right: none;
    border-left: none;
    background: none;
    color: inherit;
    font-weight: inherit;
}

.ui-tabs .ui-tabs-nav li.ui-tabs-active {
    margin-bottom: 0;
    padding-bottom: 0;
}

.ui-tabs-tab.ui-state-default {
    border: none !important;
    background: none !important;
    color: inherit;
    font-weight: inherit;
}

    .ui-tabs-tab.ui-state-default:hover {
        border: none !important;
        background-color: #F6F8F9 !important;
    }

.ui-tabs-panel.ui-widget-content {
    border: 0;
    margin-top: 20px;
}

.tab-content {
    margin-top: 2rem;
}

.ui-tabs-tab {
    display: inline-block;
    padding: 0.5rem 1rem 0.5rem;
    margin-top: 1.5rem;
}

.ui-tabs-anchor {
    color: #093e52;
    line-height: 1.25rem;
    border: 0;
}

.ui-tabs-active .ui-tabs-anchor {
    font-family: Arial, "Arial", sans-serif;
    font-weight: 700;
    color: #004D85;
}

.ui-tabs-tab:hover {
    background-color: #F6F8F9;
}

    .ui-tabs-tab:hover .ui-tabs-anchor {
        color: #004D85;
        text-decoration: none;
        border: 0;
    }

.ui-tabs-tab:focus {
    box-shadow: 0 0 0 3pt #2C93E2;
}

.ui-tabs-anchor:focus {
    box-shadow: none;
}

.ui-tabs-active:after {
    content: '';
    width: calc( 100% + 2rem);
    display: block;
    position: relative;
    height: 3px;
    background-color: #367F8C;
    top: 0.5rem;
    left: -1rem;
    z-index: 0;
}

.ui-tabs-nav {
    border-bottom: 3px solid #D2E1E4;
    width: 100%;
    padding-left: 0;
    z-index: 1010;
}

/* Page list */
.page-list {
    list-style-type: none;
    padding-left: 0rem;
}

    .page-list li {
        line-height: 3rem;
        vertical-align: top;
    }

    .page-list .icon {
        color: #3174AF;
        margin-right: 0.5rem;
        top: 0.25rem;
        position: relative;
    }

    .page-list a {
        text-decoration: none;
        color: #093e52;
    }

    .page-list .text-with-icon {
        width: 100%;
    }

        .page-list .text-with-icon:hover {
            background-color: #F6F8F9;
        }

    .page-list a:focus {
        box-shadow: none;
    }

        .page-list a:focus .text-with-icon {
            box-shadow: 0 0 0 3px #2C93E2;
            background-color: #F6F8F9;
        }

/* adapted from GDS autocomplete example */
.autocomplete__wrapper {
    position: relative;
}

.autocomplete__input {
    width: 100%;
    display: flex;
    margin-bottom: 0;
}

.autocomplete__hint {
    position: absolute;
    color: #7591A9;
}

.autocomplete__menu {
    background-color: #fff;
    border: 1px solid #7591A9;
    max-height: 342px;
    overflow-x: hidden;
    padding: 0;
    width: 100%;
    width: calc(100% - 4px);
}

.autocomplete__menu--visible {
    display: block;
}

.autocomplete__menu--hidden {
    display: none;
}

.autocomplete__option {
    padding: .25rem 1.5rem;
    display: block;
    position: relative;
}

    .autocomplete__option--focused,
    .autocomplete__option:hover {
        background-color: #3174AF;
        border-color: #3174AF;
        color: #fff;
        outline: none;
    }

.autocomplete__option--no-results {
    background-color: #F6F8F9;
    color: #093e52;
    cursor: not-allowed;
}

.autocomplete__hint {
    padding-left: 12px;
    padding-top: 1px;
}

/* Extra */
.autocomplete .btn {
    position: absolute;
    right: 0;
    background: transparent;
    height: 70%;
    margin-right: 0;
}

#searchclear {
    position: absolute;
    right: 5px;
    top: 0;
    bottom: 0;
    height: 14px;
    margin: auto;
    font-size: 14px;
    cursor: pointer;
    color: #F6F8F9;
}

.progress-container .progressbar .step-text {
    display: none;
}

@media screen and (max-width: 992px) {
    .progress-container .progressbar .step-text {
        position: relative !important;
        top: 0 !important;
        list-style-type: none;
        padding-left: 0;
        left: 0 !important;
        visibility: visible !important;
        font-size: 0.875rem;
        font-family: Arial, "Arial", sans-serif;
        font-weight: 300;
        display: block !important;
        margin-bottom: 0.6rem !important;
    }

        .progress-container .progressbar .step-text::after {
            display: none !important;
        }

    .progress-container .progressbar .active:after {
        display: none !important;
    }

    .progress-container .progressbar li {
        margin-bottom: 0 !important;
    }
}
