:root {
    --colour-1: #034ea2;
    /* --colour-2: rgb(50, 121, 202); */
    --colour-2: #9eb3be;
    --colour-3: #353535;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td {
    vertical-align: top;
}

a {
    text-decoration: none;
    color: #181818;
}

.section-area a {
    color: #181818;
    color: var(--colour-1);
}

/* a:visited {
    color: #36A;
} */

a:hover,
a:focus {
    color: #446093;
    color: var(--colour-2);
}

a:focus {
    outline: 0;
}

a img {
    border: none;
}

b,
strong {
    font-weight: bold;
}

em,
i {
    font-style: italic;
}

dl {
    padding: 10px 0;
}

dt {
    font-weight: bold;
    font-size: 120%;
    font-family: lucida grande, calibri, arial, helvetica, sans-serif;
}

dd {
    padding: 0 0 10px 40px;
}

.ckeditor ul,
.ckeditor ol,
#content ul,
#content ol {
    padding: 0 0 0 30px;
}

body.ckeditor {
    background: #FFF none;
}

.ckeditor ul,
.ckeditor ol {
    padding: 0 0 0 30px;
}

.ckeditor table {
    border: 1px dotted #666 !important;
    border-spacing: 10px;
    border-collapse: separate;
}

.ckeditor td {
    border: 1px dotted #AAA !important;
    border-spacing: 10px;
    padding: 10px;
    border-collapse: separate;
}


.t2 {
    display: none;
}

ol ol {
    list-style-type: lower-alpha;
}

/* For form validation - do not remove */
#content td {
    padding: 3px 20px 3px 0;
    vertical-align: top;
}

body.notfound {
    background: #000;
    color: #FFF;
    padding: 100px;
}

body.notfound h1 {
    text-shadow: 0 0 20px #FFF;
    font: 46px consolas, arial;
}

body.notfound p {
    font: 24px consolas, arial;
    color: #888;
}

/* :target::before {
    content: "";
    display: block;
    height: 30px;
    
    margin: 30px 0 0;
    
    pointer-events: none;
} */

/* Site-specific CSS */

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: "Roboto", Helvetica, Roboto, Arial, sans-serif;
    color: var(--colour-3);
}

body {
    font-family: "Roboto", Helvetica, Roboto, Arial, sans-serif;
    font-weight: 400;
}

h1 {
    color: var(--colour-3);
    font-weight: 600;
}

i.fa-solid,
i.fa-brands {
    font-size: 22px;
    color: var(--colour-1);
    transition: color 0.3s;
}

a.inline-flex i.fa-solid {
    color: var(--colour-1);
    font-size: 18px;
}

a:hover i,
a.inline-flex:hover i.fa-solid {
    color: var(--colour-2);
}

.flex-center {
    display: flex;
    align-items: center;
}

.flex-end {
    display: flex;
    align-items: end;
}

.content {
    display: flex;
    margin: auto;
    padding: 0 1rem;
}

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

.section-area {
    padding: 3rem 0 2rem 0;
    z-index: 1;
    position: relative;
}

.section-area.alt {
    background: #f5f5f5;
}

.section-area.dark {
    background: #152b63;
    background-image: url(../images/bg-rings-10.svg);
    background-size: 1290px;
    background-repeat: no-repeat;
    background-position: -970px -30px;
}

html {
    scroll-behavior: auto;
}

u {
    text-decoration-thickness: 7%;
    text-underline-offset: 4px;
}

/* .grid-container {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 1rem;
} */

.section-area p.emphasis {
    font-family: "Roboto", Helvetica, Roboto, Arial, sans-serif;
    font-size: 24px;
    line-height: 1.3;
}

/* CALLOUT BUTTON STYLING */

.callout.behind {
    z-index: -1;
    border-radius: 0.5rem;
    box-shadow: rgb(0 0 0 / 5%) 1px 1px 5px 2px;
    overflow: hidden;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.callout.services {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-align: center;
    border-radius: 0;
    border: none;
    box-shadow: none;
    margin-bottom: 0;
    overflow: hidden;
    height: 100%;
    background: none;
}

.callout.services.nopad h4 {
    display: flex;
    justify-content: center;
    align-items: center;
    background: none;
    color: var(--colour-1);
}

.zoom-img {
    overflow: hidden;
    position: relative;
    border-radius:0.5rem;
    max-height:220px;
    transform: rotate(0.001deg);
}

.zoom-img img {
    transition: transform 0.3s;
}

.zoom-img h3 {
    position: absolute;
    opacity: 0;
    display: flex;
    height: 100%;
    width: 100%;
    color: white;
    justify-content: center;
    align-items: center;
    background: rgba(3, 77, 162, 0.2);
    z-index: 1;
    transition: opacity 0.3s;
}

a:hover .zoom-img h3 {
    opacity: 1;
}

a:hover>.callout.nopad.services {
    box-shadow: none;
    transform: none;
}

a:hover>.callout.nopad.services img {
    transform: scale(1);
}

a:hover>.callout.nopad.services h4 {
    background: none;
}

.callout.services i.fa-solid {
    font-size: 48px;
    color: #143552;
    transition: none;
    line-height: 1;
}

.callout.nopad.services img {
    object-fit: contain;
    height:100%;
    transform: scale(0.9);
}

.callout.nopad.services.client-portal .zoom-img {
    border: solid 1px #777777;
    border-radius:1rem;
}

.callout.nopad.services.client-portal img {
    height:180px;
    width:100%;
    object-fit:contain;
    padding:1rem;
    transform:scale(0.8);
}

.callout.nopad.services.client-portal h4 {
    /* display:none; */
}

a:hover>.callout.nopad.services.client-portal img {
    transform: scale(0.95);
}

.callout.nopad {
    padding: 0;
    text-align: center;
    transition: transform 0.3s, box-shadow 0.3s;
}

.callout.nopad img {
    object-fit: cover;
    width: 100%;
}

.callout.about-us-contact {
    max-width: 700px;
    margin: auto;
    margin-top: 2rem;
    text-align: center;
}

.callout.about-us-contact h5 {
    font-weight: 700;
}

.callout.about-us-contact p {
    margin-bottom: 0.2rem;
    font-size: 16px;
}

.callout.careers-contact {
    /* max-width:700px; */
    margin: auto;
    text-align: center;
}

.callout.careers-contact h5 {
    font-weight: 700;
    margin-bottom: 2rem;
}

.callout.careers-contact p {
    margin-bottom: 0.2rem;
    font-size: 16px;
    margin-top: 1.5rem;
}

.callout.careers-contact li {
    /* margin-bottom:0.2rem; */
    font-size: 16px;
    text-align: left;
}

.callout.careers-contact a {
    color: #992f3b;
    text-decoration: underline;
}

.callout.careers-contact a:hover {
    color: #1a3a49;
}

.callout.careers-contact a.theme-button {
    color: white;
    text-decoration: none;
}

.callout.careers-contact a.theme-button:hover {
    color: white;
}

.section-links {
    margin-top: 2rem;
}

.section-links .callout.nopad img {
    object-fit: cover;
    width: 100%;
    margin: 0;
    border-radius: 0;
    height: 150px;
}

.callout.nopad h4 {
    margin: 0;
    padding: 0.5rem;
    background: #2b3e86;
    background: var(--colour-1);
    color: white;
    transition: background 0.3s;
}

.callout.nopad.alt h4 {
    background: var(--colour-2);
}

a:hover>.callout.nopad h4 {
    background: #3b509e;
    background: var(--colour-2);
}

a:hover>.callout.nopad.alt h4 {
    background: #82a6e0;
}

.callout.nopad p {
    margin: 0;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
}

a:hover>.callout.nopad {
    transform: translateY(-5px);
    box-shadow: rgb(0 0 0 / 10%) 1px 5px 5px 2px;
}

.our-values .callout {
    border-radius: 0.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    padding: 2rem 1.5rem;
    background: whitesmoke;
    border: none;
    gap: 0.3rem;
}

.our-values .callout .value-text {
    display: flex;
    /* flex-grow:1; */
    align-items: center;
}

.our-values .callout h4 {
    font-weight: 600;
}

.our-values .callout h4:after {
    content: '';
    display: block;
    height: 3px;
    width: 1rem;
    margin: 1rem auto 0 auto;
    background: #c77072;
}

.our-values .callout p {
    margin: 0;
    font-size: 17px;
}

img.about-us-image {
    position: relative;
    top: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    mask-image: linear-gradient(transparent, transparent);
    mask-repeat: no-repeat;
    mask-size: 80%;
    mask-position: 50% 50%;
    /* mask-size: 102%;
    mask-position: 431% 94%; */
    max-height: 500px;
}

/* img.about-us-image-2 {
    mask-image:url(../../../masks/img-mask-2-fade.svg);
    mask-repeat: no-repeat;
    mask-size: 100%;
    mask-position: 50% 50%;
} */

/* HOW WE WORK WITH YOU */

.hwwwy-steps .callout {
    border-radius: 0.5rem;
    /* border: none; */
    box-shadow: 2px 2px 5px 0px #00000042;
    margin-bottom:0;
}

.hwwwy-steps .callout.alt {
    background: #cfdbe4;
    /* color:white; */
}

/*MEDIUM AND UP*/
@media print,
screen and (min-width: 40em) {
    /* .section-area {
        padding: 6rem 0 0rem 0;
    } */

    .section-area.contact-footer {
        padding: 2rem 0 2rem 0;
    }

    .last-section {
        padding-bottom: 4rem;
    }

    .callout.services h4 {
        min-height: 60px;
    }


}

/* LARGE AND UP */
@media screen and (min-width: 64em) {
    img.about-us-image {
        position: absolute;
        width: 48%;
        max-height: none;
    }
}

/* NAVIGATION BAR */


img.nav-logo {
    width:100%;
    max-height: 120px;
    padding:0.5rem;
}

img.nav-logo.white {
    display: none;
}

.menu a {
    color: white;
    color: var(--colour-3);
    font-weight: 600;
}

a.is-active {
    color: var(--colour-2);
}

.top-bar ul {
    /* background-color: #fffcdf; */
    /* background-color: #fff; */
    background: none;
}

.top-bar {
    padding: 0;
    /* background: var(--colour-1);
    background: white; */
    box-shadow: rgb(0 0 0 / 11%) 1px 1px 10px 5px;
    background: linear-gradient(90deg, var(--nav-bg-1) 0%, var(--nav-bg-2) 20%, var(--nav-bg-3) 100%);
    transition: --nav-bg-1 0.3s, --nav-bg-2 0.3s, --nav-bg-3 0.3s, box-shadow 0.3s;
}

a.theme-button.client-portal {
    padding: 0.5rem 1.2rem;
    background: var(--colour-2);
    line-height: 1;
    color: var(--colour-1) !important;
    font-size: 18px;
    font-weight: 800;
}

a.theme-button.client-portal:hover {
    background: white;
}

/*ANCHORED NAV BAR STYLE*/

.menu .is-active > a {
    background:none;
    color:var(--colour-1);
}

@property --nav-bg-1 {
    syntax: "<color>";
    inherits: false;
    initial-value: white;
}
@property --nav-bg-2 {
    syntax: "<color>";
    inherits: false;
    initial-value: white;
}
@property --nav-bg-3 {
    syntax: "<color>";
    inherits: false;
    initial-value: white;
}

.top-bar.white-mode {
    width: 100%;
    /* background: none; */
    box-shadow: none;
    /* border-bottom: 1px solid rgba(255, 255, 255, 0.5); */
    --nav-bg-1: transparent;
    --nav-bg-2: transparent;
    --nav-bg-3: transparent;
    
}

.top-bar.white-mode:hover {
    /* background: linear-gradient(90deg, transparent 0%, transparent 20%, rgba(0, 0, 0, 0.3) 100%);
    background: rgba(19,20,22,.5); */
    --nav-bg-3: rgba(0,0,0,.3);
}

.top-bar.white-mode.is-stuck {
    /* background: rgba(19,20,22,.5);
    background: white; */
    --nav-bg-1: white;
    --nav-bg-2: white;
    --nav-bg-3: white;
}

.top-bar.white-mode.is-stuck a {
    color:var(--colour-3);
}

.top-bar.white-mode img.nav-logo {
    display: none;
    /* display: block; */
}

.top-bar.white-mode img.nav-logo.white {
    display: block;
}

.top-bar.white-mode a {
    color: white;
    /* color: var(--colour-3); */
    font-weight: 600;
}

.top-bar a.theme-button {
    color: white;
    font-size: 16px;
    text-transform: uppercase;
    margin-bottom: 0.33rem;
}

/* .top-bar.white-mode .dropdown.menu.medium-horizontal a:hover {
    color: #97aacd;
} */

.top-bar.white-mode i.fa-solid,
.top-bar.white-mode i.fa-brands {
    font-size: 22px;
    color: var(--colour-1);
    color: white;
    transition: color 0.3s;
}

.top-bar.white-mode a:hover i {
    color: var(--colour-2);
}

.top-bar.white-mode a.inline-flex i.fa-solid {
    color: var(--colour-1);
    /* color: var(--colour-3); */
    font-size: 18px;
}

.top-bar.white-mode a.inline-flex:hover i.fa-solid {
    color: var(--colour-2);
}

.top-bar.white-mode .top-bar-contact {
    border-bottom: 1px solid var(--colour-1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.603);
}

.top-bar li.is-dropdown-submenu-parent > a {
    height:100px;
    height: 100%;
    display:flex;
    align-items:center;
    padding-right: 0.5rem !important;
}

.top-bar .is-dropdown-submenu {
    opacity:0;
    display:block;
    /* padding:1rem; */
    transition: opacity 0.3s, top 0.3s;
    pointer-events: none;
}

.top-bar.white-mode .is-dropdown-submenu {
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(19,20,22,.3);
    /* background: white; */
    top: 150% !important;
    opacity:0;
    display:block;
    /* padding:1rem; */
    transition: opacity 0.3s, top 0.3s;
    pointer-events: none;
}

.top-bar .who-we-are-menu.is-dropdown-submenu {
    display:flex;
    flex-wrap:wrap;
    max-height:250px;
    width:400px;
    left: -140px !important;
}

.top-bar .who-we-are-menu.is-dropdown-submenu li {
    max-width:50%;
}

.top-bar.white-mode .what-we-do-menu.is-dropdown-submenu {
    width:250px;
    min-width:250px;
}

.top-bar .what-we-do-menu li.is-dropdown-submenu-parent > a {
    height:auto;
}

.top-bar .is-dropdown-submenu.js-dropdown-active {
    opacity:1;
    top: calc(100% + 1px) !important;
    pointer-events: auto;
}

.top-bar .services-submenu.is-dropdown-submenu.js-dropdown-active {
    opacity:1;
    top: 0 !important;
    pointer-events: auto;
}

.top-bar.white-mode .dropdown.menu>li.is-active>a {
    color: var(--colour-2);
    /* color: #dfb3b0; */
    /* color: #9fb1fd; */
}

.top-bar.white-mode .dropdown.menu.medium-horizontal a:hover {
    color: #9fb1fd;
    color: var(--colour-2);
}

.top-bar.white-mode .dropdown.menu.medium-horizontal a.theme-button:hover {
    color: white;
}

.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after {
    border-color: var(--colour-1) transparent transparent !important;
    margin-top: -4px;
    left: -10px;
    left:0;
    right: auto;
}

.top-bar.white-mode .dropdown.menu>li.is-dropdown-submenu-parent>a::after {
    border-color: white transparent transparent !important; 
}

.top-bar.white-mode .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    border-color: transparent transparent transparent white !important;
}

.top-bar-contact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--colour-3);
    padding-bottom: 0.2em;
    overflow: hidden;
    margin-top: 0.7rem;
}

.top-bar-contact .left .menu {
    gap: 0.5rem;
}

.top-bar-contact .right .menu {
    gap: 0.5rem;
}

.top-bar-contact .right {
    margin-right: 0.5rem;
}

.top-bar-contact .right a {
    padding: 0.5rem 0.5rem;
}

.top-bar-contact .right a.theme-button {
    padding: 0.6rem 1.5rem;
}

.top-bar.white-mode.is-anchored .dropdown.menu.medium-horizontal a:hover {
    color: #c4dfff;
}

/*END ANCHORED NAV BAR STYLE*/



/*REVEAL OVERLAY NAV BAR*/

html.is-reveal-open > body > div:not(.reveal-overlay) {
    filter: blur(5px);
}

.last-p-margin p:last-child {
    margin-bottom:0;
}

.is-reveal-open .top-bar {
    /* background: white; */
}

/* .is-reveal-open .top-bar.white-mode {
    box-shadow: rgba(0, 0, 0, 0.05) 1px 1px
} */

.is-reveal-open .top-bar-contact {
    /* display: none; */
}

.is-reveal-open .white-mode .menu.medium-horizontal {
    /* margin-top: 12px; */
}

/* .is-reveal-open .top-bar.white-mode img.nav-logo {
    display: block;
}

.is-reveal-open .top-bar.white-mode img.nav-logo.white {
    display: none;
} */

.is-reveal-open .top-bar.white-mode a {
    /* color: rgb(0, 0, 0); */
}

.is-reveal-open .top-bar.white-mode .dropdown.menu.medium-horizontal a:hover {
    color: #97aacd;
}

/* .is-reveal-open .top-bar.white-mode i.fa-solid,
.is-reveal-open .top-bar.white-mode i.fa-brands {
    font-size: 18px;
    color: #000000;
    transition: color 0.3s;
} */

.is-reveal-open .sticky {
    position: fixed;
    z-index: 5;
    width: 100%;
}

/*END REVEAL OVERLAY NAV BAR*/

/* .top-bar.is-stuck {
    box-shadow: rgb(0 0 0 / 11%) 1px 1px 10px 5px;
} */


.top-bar-container {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    /* max-width: 1400px; */
    margin: auto;
    gap: 1.5rem;
    min-height: 100px;
    padding: 0 1rem 0 0;
}

ul.menu li {
    text-align: center;
}

ul.menu.vertical li {
    text-align: left;
}

.sticky-container {
    position: fixed;
    width: 100%;
    z-index: 100;
    top: 0;
}

.is-stuck .top-bar-contact {
    /* display: none; */

}

.is-stuck .menu.medium-horizontal {
    /* margin-top: 0.3em; */
}

.inline-flex {
    display: flex !important;
    gap: 0.7rem;
    align-items: center;
}

ul.nav-links li {
    font-size: 16px;
    text-transform: uppercase;
    height:100%;
}

.title-bar {
    background: white;
    flex-direction: column;
    gap: 1rem;
}

.title-bar .menu-box {
    width: 100%;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 1rem;
    background: #353535;
}

#mobile-menu {
    background: #efefef;
}

#mobile-menu a {
    color: var(--colour-1);
    color: #353535;
}

.dropdown.menu.medium-horizontal a {
    position: relative;
    padding: 0.9rem 0.5rem;
    /* padding: 1.2rem 1.2rem; */
    /* margin: 0 0.3rem; */
    height:100%;
    display: flex;
    align-items: center;
}

.top-bar.white-mode .is-submenu-item a {
    color: var(--colour-3);
    color:white;
}

.top-bar.white-mode .is-submenu-item.is-active > a {
    color:var(--colour-2);
}

.dropdown.menu.medium-horizontal a:hover {
    color: var(--colour-2);
    color: var(--colour-2);
}

/* .menu.medium-horizontal a::before {
    transition: 300ms;
    height: 2px;
    content: "";
    position: absolute;
    background-color: #00234d;
    left: 0;
    bottom: 0;
    width: 0%;

} */

.dropdown.menu>li.is-active>a {
    color: var(--colour-1);
}

.dropdown.menu>li.is-dropdown-submenu-parent>a::after {
    border-color: white transparent transparent !important;
    /* display: none !important; */
}

.accordion-menu .is-accordion-submenu a {
    padding: 0.7rem 2rem;
}

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after {
    border-color: #dfb3b0 transparent transparent !important;
}

.align-left.vertical.menu>li:nth-of-type(n+2) {
    border-top: 1px #9b9b9b8f solid;
}

/* .dropdown.menu > li.is-dropdown-submenu-parent.is-active > a::after {
    border-color: #446093 transparent transparent !important;
} */

.top-bar .is-dropdown-submenu {
    min-width: 300px;
    border: 1px solid black;
    background: white;
}

.menu.medium-horizontal a:hover::before {
    width: 100%;
}

a.inline-flex {
    transition: background 0.5s, color 0.5s;
    border-radius: 0.5rem;
}

a.inline-flex span {
    position: relative;
    /* top:1px; */
}

a.inline-flex:hover {
    /* background: #fff; */
    color: var(--colour-2);
}

.button-container {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

a.theme-button {
    background: var(--colour-1);
    border-radius: 0.5rem;
    color: white;
    padding: 0.6rem 1.5rem;
    font-size: 20px;
    display: flex;
    transition: background 0.3s;
}


a.theme-button:hover {
    background: var(--colour-2);
}

.dropdown.menu.medium-horizontal a.theme-button {
    padding: 0.6rem 1.5rem !important;
    margin-top: 0.3rem;
}

.dropdown.menu.medium-horizontal a.theme-button:hover {
    color: white;
}

.dropdown.menu.medium-horizontal a.theme-button::before {
    content: none;
}

/*MEDIUM UP*/
@media print,
screen and (min-width: 40em) {

    .top-bar {
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }

    .top-bar .top-bar-left {
        -webkit-box-flex: 0;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        margin-right: 0;
        /* margin-left: 0.5rem; */
    }

    .top-bar .top-bar-right {
        -webkit-box-flex: 1;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        margin-left: 0;
        max-width: 900px;
        /* min-width: 800px; */
        /* min-width: 680px; */
    }

    .top-bar .top-bar-farright {
        width: 200px;
        display: flex;
        justify-content: center;
    }

    .menu.medium-horizontal {
        justify-content: space-between;
        align-items: center;
        /* margin-top: 0.3em; */
        /* gap:1rem; */
        height:100%;
    }

}


/* LARGE AND UP */
@media screen and (min-width: 64em) {

    .button-container {
        margin-bottom: 2rem;
    }

    .header-section {
        /* margin-top: 123px; */
    }

    

}

/* XLARGE AND UP */
@media screen and (min-width: 75em) {
    .top-bar-container {
        gap: 5rem;
    }
    .top-bar .top-bar-farright {
        margin-left:0px;
    }
}

@media screen and (max-width: 1200px) {
    .top-bar .top-bar-left {
        display:none;
    }
    .top-bar-container {
        justify-content: space-evenly;
    }
}

/************/
/* VIDEO HEADER */
/************/

.header-box {
    /* height: calc(100vh - 136px); */
    /* min-height: 600px; */
    position: relative;
    /* -webkit-mask-image: linear-gradient(350deg, rgba(0,0,0,1) 40%, rgba(0,0,0,0.7) 70%, rgba(255,255,255,0.05) 85%, rgba(255,255,255,0) 100%);
    mask-image: linear-gradient(350deg, rgba(0,0,0,1) 40%, rgba(0,0,0,0.7) 70%, rgba(255,255,255,0.05) 85%, rgba(255,255,255,0) 100%); */
}

.header-box-small {
    max-height: 600px;
    position: relative;
}

.header-box-small img {
    max-height: 600px;
}

#video_header {
    position: relative;
    /* bottom: -10px; */
    width: 100%;
    /* z-index: -1; */
    object-fit: cover;
    display: block;
    min-height: 600px;
    max-height: 100vh;
    filter: brightness(1.1) saturate(1.5);

}

@media print,
screen and (max-width: 40em) {
    .header-box {
        height:auto;
        min-height:auto;
    }
}

/* SLIDER HEADER */
.orbit-bullets {
    display: flex;
    justify-content: center;
    gap: 0.2rem;
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 2;
}

.orbit-bullets button {
    background: white;
}

.orbit-bullets button.is-active {
    background: var(--colour-2);
}

.orbit-image {
    min-height: 600px;
    max-height: calc(100vh - 120px);
    object-fit: cover;
}

/* HOME */

.header-section {
    background: #fffcdf;
    position: relative;
    overflow: hidden;
}

.header-section img.header {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 30% 5%;
    /* filter: grayscale(1) brightness(1) contrast(0.7); */
    max-height: 100vh;
    min-height: 700px;
}

.sub-page .header-section img.header {
    max-height:700px;
}

.news-page .header-section img.header {
    object-position: 30% 38%;
}

.header-section .overlay {
    position: absolute;
    opacity: 1;
    height: 100%;
    width: 100%;
    background: rgba(20, 22, 24, 0.2);
    background: linear-gradient(140deg, white 0%, white 15%, transparent 40%), linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, transparent 30%);
    background: linear-gradient(140deg, #ffffff00 0%, #ffffff00 15%, transparent 40%), linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, transparent 30%);
    z-index: 1;
}

.header-section .hero-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    width: 100%;
    bottom: 0;
    z-index: 1;
    height: 100%;
    /* justify-content: center; */
    justify-content: center;
    /* padding-bottom: 10%; */
    gap:1.5rem;
}

.sub-page .header-section .hero-container {
    padding-bottom: 6rem;
    justify-content: flex-end;
}

.header-section .orbit {
    /* position: absolute; */
    width: 100%;
    bottom: 0;
    z-index: 1;
    /* height: 100%; */
}

/* .header-section .orbit-wrapper {
    height:100%;
} */

.header-section .orbit-container {
    display:flex;
    align-items: flex-end;
}

/* .header-section .orbit-slide {
    height: 100%;
} */

.home-page .header-section .hero-container {
    padding-bottom: 0;
}

.news-page .header-section .hero-container {
    /* padding-bottom: 50px; */
}

.hero-container img {
    max-width: min(500px, 70%);
    padding: 1rem;
    border-radius: 0.5rem;
    /* background: white; */
    margin:auto;
    display:block;
}

.hero-container h1 {
    font-family: "Poppins", Helvetica, Roboto, Arial, sans-serif;
    width: 100%;
    text-align: center;
    /* background: #145c599c; */
    color: white;
    /* padding: 20px 10px; */
    margin: 0 auto;
    display:block;
    line-height:1.3;
    text-shadow: 0px 0px 5px black;
    max-width:80%;
}

.hero-container span {
    text-transform:uppercase;
    color:white;
    line-height:1;
    margin:0;
}

.header-section .arrow-link {
    position:absolute;
    bottom:0;
    width:100%;
    display:flex;
    justify-content:center;
    z-index:2;
    flex-direction: column;
    align-items: center;
}

.header-section .arrow-link i {
    color:rgba(255, 255, 255, 0.719);
    font-size:30px;
}

.hero-container h2 {
    font-family: "Roboto", Helvetica, Roboto, Arial, sans-serif;
    width: 95%;
    text-align: center;
    /* background: #145c58; */
    color: white;
    font-weight: 600;
    padding: 0px 10px 20px 10px;
    margin: auto;
    text-shadow: 0px 0px 5px black;
}

.hero-container.alt h1 {
    background: #152f5e9c;
}

.hero-container.alt h2 {
    background: #152f5e;
}

.header-section h1 {
    font-size: 34px;
}

.section-title {
    margin-bottom: 2rem;
    text-align: center;
    font-weight: 700;
}

.section-title:after {
    content: '';
    display: block;
    height: 5px;
    width: 100px;
    margin: 15px auto;
    background: var(--colour-1);
}

.section-title.alt {
    color:white;
}

.section-title.alt:after {
    background: var(--colour-2);
}

.section-desc {
    text-align: center;
    max-width: 80rem;
    margin: auto;
    margin-bottom: 2rem;
    padding: 0 2rem;
}

.section-divider {
    background: var(--colour-1);
    padding: 3.5em 3em;
    /* margin-top: 2.5rem; */
}

.section-divider p {
    max-width: 85rem;
    margin: auto;
    font-size: 1.6em;
    text-align: center;
    color:white;
}

.section-divider.alt {
    background: var(--colour-1);
}

.section-divider.alt p {
    color: white;
}

.section-area p,
.header-section p {
    font-size: 20px;

    font-size: 1rem;
}

.section-area li {
    font-size: 1rem;
    margin-bottom: 0.5rem;
    margin-left: 1.5rem;
    padding-left: 0.5rem;
}

.section-area h2,
.section-1 h2 {
    text-align: center;
    margin-bottom: 2rem;
    font-weight: 700;
}

.section-callouts .grid-x {
    justify-content: center;
}

.image-caption img {
    width: 100%;
}

.image-caption p {
    margin: 0;
    padding-top: 0.2rem;
    background: var(--colour-1);
    color: white;
    font-style: italic;
    text-align: center;
    font-size: 18px !important;
}

.alertbox-buffer {
    min-height: 2rem;
}

.alertbox-container {
    /* position:absolute; */
    /* left:0;right:0;top:50px; */
    margin-top: 5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
}

.alertbox.callout {
    max-width: min(750px, 70%);
    margin: 0;
    border-radius: 5px;
    background: rgb(223 237 252);
    z-index: 20;
}

.alertbox.callout.alert {
    background: #800;
    min-width: 300px;
    color: white;
}

.alert-flex {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.alert-flex img {
    height: 100px;
    width: 100px;
    object-fit: contain;
    max-height: none;
    min-height: initial;
}

.alertbox .alert_title {
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
}

/* SECTIONS */

.section-about {
    text-align: left;
}

.section-about ul {
    list-style-position: inside;
    margin: 0;
}

.section-about li {
    margin-left: 0;
    padding: 0;
}

.section-about a.theme-button {
    margin-top: 1rem;
}

.staff-profile {
    padding:1rem 0;
}

/* 
.staff-profile img {
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.6);
    max-width: 300px;
    display:block;
    margin:auto;
} */

.staff-profile h3 {
    text-align:center;
}

.staff-profile h4 {
    margin-bottom:0.2rem;
    font-size:1.3rem;
    line-height:1;
    font-weight:500;
    color:var(--colour-3);
}

.staff-profile p.job-title {
    color:var(--colour-1);
    font-weight:600;
}

.staff-profile p,
.staff-profile li {
    font-size:1rem;
}

.staff-profile ul {
    margin-bottom:0;
}

.staff-profile li {
    margin-bottom:0;
}

.section-video {
    padding: 4rem 0;
    background: var(--colour-1);
}

.section-video span.video-placeholder {
    display:flex;
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    justify-content: center;
    align-items: center;
    padding-bottom:25%;
    font-size:60px;
    font-weight:600;
    color:#999999;
}

.flex-container a.theme-button {
    /* margin-top: 1rem; */
}

.section-testimonials {
    background: var(--colour-1);
    background: rgb(185 205 215);
    padding-top:1rem;
}

.section-testimonials * {
    /* color: white; */
}

.section-testimonials .section-title:after {
    /* background: white;; */
}

.testimonial-container {
    padding-bottom:3rem;
    
}

#splide .testimonial-card {
    padding:1.5rem;
    background:rgba(255, 255, 255, 0.2);
    border-radius:0.5rem;
    display: flex;
    flex-direction: column;
    margin: 1px;
    /* margin-bottom: 0.5rem; */
    height:100%;
    justify-content: center;
    /* border: solid 2px var(--colour-1); */
    text-align:center;
}

#splide .splide__arrows {
    display:none;
}

#splide .splide__arrow {
    background:none;
    top:43%;
}

#splide .splide__arrow svg {
    height:2rem;
    width:2rem;
    fill:white;
    fill: var(--colour-1);
}

#splide .splide__arrow--prev {
    left: -5em;
}

#splide .splide__arrow--next {
    right: -5em;
}

#splide .splide__progress {
    margin-top:0.5rem;
}

#splide .splide__progress__bar {
    background: rgba(255, 255, 255, 0.4);
}

#splide .splide__pagination__page.is-active {
    background: var(--colour-1);
    /* background: white; */
}

#splide .splide__pagination {
    bottom: -2.5rem;
}

#splide p {
    font-size:14px;
}

#splide p.testimonial-name {
    font-size:16px;
    font-style: italic;
    font-weight: 600;
    text-align: center;
    line-height:1;
    margin-bottom:0;
}

#splide p.testimonial-occupation {
    /* font-style: italic; */
    font-weight: 500;
    text-align: center;
    margin-bottom:0;
}

.section-2 img {
    border-radius: 10px;
}

.section-1 {
    padding-top: 2rem;
}

.section-2 {
    padding: 0 0 4rem 0;
    z-index: 0;
}

.section-what-we-do {
    padding-bottom:0;
}

.section-what-we-do a.service-link {
    position:relative;
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items:center;
    padding: 6rem;
    min-height:500px;
    overflow:hidden;
    gap:1rem;
    height:100%;
}

.section-what-we-do a.service-link:hover .background {
    transform: scale(1.1);
}

.section-what-we-do a.service-link:hover .overlay {
    background: rgba(20, 22, 24, 0.7);
}

.section-what-we-do a.service-link * {
    color:white;
    z-index:1;
    margin:0;
    text-align:center;
}

.section-what-we-do a.service-link h3 {
    font-size:3rem;
    font-weight:600;
}

.service-link .overlay {
    position:absolute;
    width:100%;
    height:100%;
    background: rgba(20, 22, 24, 0.5);
    z-index:0;
    transition: background 0.5s;
}

.section-what-we-do .service-link .background {
    position:absolute;
    width:100%;
    height:100%;
    z-index:0;
    background-size:cover;
    transition:transform 0.5s;
}

.service-link.service-accounting {
    border-bottom:1px solid white;
}

.service-link.service-accounting .background {
    background-image:url(../images/header-services.webp);
}

.service-link.service-financial .background {
    background-image:url(../images/header-resources.webp);
}

.section-1 .grid-container,
.section-2 .grid-container {
    max-width: 80em;
}

.grid-container.full {
    padding:0;
}

.grid-container.wide {
    max-width:90em;
}

.grid-container.narrow {
    max-width:70em;
}

.full-width-border {
    margin: 1rem;
    background: #f4f4f4;
    display: flex;
    padding: 3rem;
    align-items: center;
    justify-content: center;
}

.full-width-border h2 {
    font-size: 1.5rem;
}

.text-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.text-content p:last-of-type {
    margin-bottom: 0;
}

img.full-height {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position:relative;
}

img.centered-icon {
    display:block;
    margin: 1rem auto;
    min-height:100px;
}

.pricing-table {
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);
    border: none;
    align-items: center;
}

.pricing-table * {
    text-align: center;
}

.pricing-table a.theme-button {
    display: block;
    margin-bottom: 1rem;
}

.pricing-table ul {
    width: 100%;
}

.pricing-table ul,
.pricing-table li {
    margin: 0;
    padding: 0;
}

.pricing-table ul.accordion ul {
    list-style: none;
    margin: 0;
}

.pricing-table ul.accordion ul li {
    margin: 0;
    padding: 0.5rem 1rem;
    border-bottom: dotted 1px #ddd;
}

.accordion-title,
.accordion-content {
    border: none !important;
}

.accordion-title {
    font-size: 18px;
    background: #6b92d2;
}

.accordion-title:hover,
.accordion-title:focus {
    background: #8cb1ec;
    color: black;
}

.accordion-content {
    padding: 0;
}

.pricing-table img {
    width: 100%;
}

.pricing-table h2 {
    margin: 0;
    padding: 1rem 0;
}

.pricing-table h2.title {
    width: 100%;
    color: white;
    background: var(--colour-1);
}

.pricing-table .description {
    padding: 1rem 0;
    background: rgb(243, 243, 243)
}

.pricing-table .description :last-child {
    margin-bottom: 0;
}

/* MEDIUM */
@media print,
screen and (min-width: 40em) {
    .hero-container h1 {
        font-size: 48px;
    }

    .hero-container h2 {
        font-size: 2.2rem;
    }

    .hero-container h1,
    .hero-container h2 {
        width: min(1000px, 80%);
    }

    .section-2 .hero-container h1,
    .section-2 .hero-container h2 {
        width: min(1200px, 80%);
    }

    .alertbox-buffer {
        min-height: 3rem;
    }

    .full-width-border {
        padding: 5rem 5rem;
    }

    .full-width-border h2 {
        font-size: 2.5rem;
    }

    .section-area p,
    .header-section p {
        font-size: 18px;
    }

    .section-area li {
        font-size: 18px;
    }

    .staff-profile h3 {
        text-align: left;
    }
    
}

/* LARGE AND UP */
@media screen and (min-width: 64em) {

    /* :target::before {
        height: 160px;
        fixed header height
        margin: -160px 0 0;
        negative fixed header height
    } */

    .link-anchor {
        display: block;
        position: relative;
        top: -70px;
        visibility: hidden;
    }

    .hero-container .orbit h1 {
        font-size: 108px;
        font-size:78px;
        /* margin-top:5rem; */
        /* width:100%; */
        display:block;
        margin:auto;
        font-weight:600;
        line-height:1.3;
    }

    .sub-page .hero-container h1 {
        font-size:60px;
    }

    .alertbox-container {
        margin-top: 3.5rem;
    }

    .section-1 {
        padding-top: 3rem;
        padding-bottom: 2rem;
    }

    .alertbox-buffer {
        min-height: 4rem;
    }

    .full-width-border {
        padding: 5rem 10rem;
    }

    #splide .splide__arrows {
        display:block;
    }

    .service-link.service-accounting {
        border-bottom:none;
        border-right:1px solid white;
    }

    .testimonial-container {
        max-width: calc(100% - 10em);
        margin:auto;
    }
    
}

/* PARALLAX */

.parallax {
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
    height: 30vh;
    /* margin-top: 2rem; */
}

.parallax.lazyload {
    background-image: none !important
}

.parallax.parallax-1 {
    background-image: url(../images/cp-bg-3.webp);
}

.parallax.parallax-2 {
    background-image: url(../images/cp-bg-4.webp);
}

.parallax.parallax-3 {
    background-image: url(../images/cp-bg-5.webp);
    /* background-position:right; */
}

.parallax.parallax-5 {
    background-image: url(../images/cp-bg-6.webp);
}

.parallax.parallax-4 {
    background-image: url(../images/cp-bg-2.webp);
}

/* LARGE AND UP */
@media screen and (min-width: 64em) {

    .parallax {
        margin-top: 2rem;
        height: 50vh;
    }
}

/* END PARALLAX*/

/* SUB-PAGE */

.sub-page .header-section {
    min-height: 250px;
    /* margin-top:8rem; */
}

/* .sub-page .header-section .hero-container {
    bottom: 30px;
} */

.sub-page .header-section {
    background: #123155;
    background-image: url(../images/bg-rings-10.svg);
    background-size: 2600px;
    background-repeat: no-repeat;
    background-position: bottom -2160px left -860px;
    height:400px;
    max-height: calc(100vh - 246.25px);
}

.about-us-page .header-section img.header {
    object-position: 50% 80%;
}

.what-we-do .header-section img.header {
    object-position: 50% 37%;
}

.news-page .header-section img.header {
    object-position: 50% 12%;
}

.contact-page .header-section img.header {
    object-position: 50% 80%;
}

.resources-page .header-section img.header {
    object-position: 50% 12%;
}

.sub-page .section-2 .hero-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 2rem;
}

/* .sub-page .section-area .grid-x {
    align-items: center;
} */

.sub-page .section-area img {
    width: 100%;
}

.section-area.our-team-area {
    padding-top: 2rem;
    padding-bottom: 4rem;
}

.section-area.our-team-area .grid-x {
    /* justify-content: center; */
}

.our-team-area .callout.nopad img {
    aspect-ratio:0.9;
    object-position: 50% 30%;
    object-fit:cover;
    background:#dadada;
}

.our-team-area .callout.nopad h4 {
    font-size:1rem;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.our-team-area .callout.nopad p {
    font-size:0.9rem;
}

map {
    position:relative;
}

area:hover {
    cursor:pointer;
}

/* area:hover::after {
    position: absolute;
    display: block;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    content: attr(data-name);
    width: auto;
    height: auto;
    padding: 4px 7px;
    border-radius: 5px;
    line-height: 1;
} */

div.tooltip {
    position: fixed;
    display: none;
    background-color: rgb(37 74 165 / 80%);
    color: white;
    width: auto;
    height: auto;
    padding: 7px 10px;
    border-radius: 5px;
    max-width: 200px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
}

div.tooltip.shown {
    display:block;
}

.tooltip hr {
    margin: 5px 0 3px 0;
    color: white;
}

.tooltip span.tooltip-role {
    font-weight: 400;
    font-size:14px;
    font-style:italic;
}

.services-page .section-area .grid-x {
    /* align-items: normal; */
}

#services-menu {
    /* background: #f4f4f4; */
    justify-content: center;
}

#services-menu li {
    margin: 0 0 0.5rem 0;
    margin: 0;
    padding: 0;
    background: #f4f4f4;
}

#services-menu.menu .is-active>a {
    background: #152f5e;
    color: #fefefe;
}

#services-menu a {
    font-weight: 600;
    font-size: 18px;
}

#services-menu a:hover,
#services-menu a:focus{
    background: #fefefe;
    color:var(--colour-1);
}

.tabs {
    border:none;
}

.tabs-content {
    border: none;
    border-top: 0;
    background: #fefefe;
    color: #0a0a0a;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.tabs-panel {
    padding:0;
}

/* SERVICE IMAGE ADJUSTMENTS */

.service-52187 img {
    object-position: 43% 50%;
}

.service-52188 img {
    object-position: 21% 50%;
}

.service-52189 img {
    object-position: 41% 50%;
}

/* WHAT WE DO PAGE */

.services-section .section-area {
    padding: 3.5rem 0 2rem 0;
}

.services-section .grid-container {
    padding-bottom:0;
}

.services-section .section-area h2 {
    margin-bottom:1rem;
}

.services-section #services-sidebar {
    position:fixed;
    z-index:1000;
    left: 0;
    top:43%;
    background:rgba(0, 0, 0, 0.8);
    padding:0.5rem 0 0.5rem 0.5rem;
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    transition: transform 0.5s, padding-right 0.5s;
}

.services-section #services-sidebar.hidden {
    transform: translateX(-270px);
    padding-right: 50px;
}

.services-section #services-sidebar::after {
    content: ">";
    position: absolute;
    color: white;
    font-size: 30px;
    right: 18px;
    height: 100%;
    top: 0;
    display: flex;
    align-items: center;
    opacity:0;
    transition: opacity 0.5s;
}

.services-section #services-sidebar.hidden::after {
    opacity:1;
}

.services-section #services-sidebar * {
    color:white;
    font-size:20px;
}

.services-section #services-sidebar a:hover {
    color: #8391c9;
}

.services-section .section-area.service-1 {
    overflow:hidden;
    background-image: url(../images/img-mask-1.svg);
    background-repeat: no-repeat;
    background-color: rgba(255,255,255,0.85);
    background-position: 100% 50%;
    background-blend-mode: lighten;
    background-size:45%;
}

.services-section .section-area.service-1 img {
    opacity: 0.1;
    position: absolute;
    top: -126px;
    width: 50%;
    transform: rotate(-85deg);
}

.what-we-do .our-fees a {
    text-decoration: underline;
    font-weight:700;
}

.what-we-do .section-partners {
    padding:0 0 1rem 0 !important;
}

.branding-area-container {
    margin: 1rem auto;
    /* box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; */
    padding: 1.5rem 3rem 2.5rem 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* width: fit-content; */
    max-width: 80rem;
}

.what-we-do .branding-area-container {
    max-width: 80rem;
}

.branding-area-container h4 {
    margin-bottom: 1.5rem;
}

.branding-area {
    display: flex;
    /* padding: 2.5rem 3rem; */
    align-items: center;
    justify-content: center;
    /* column-gap: 3.5rem; */
    row-gap: 2rem;
    width: fit-content;
    /* margin: 1rem auto; */
    /* box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; */
    flex-wrap: wrap;
    max-width: 100%;
}

.branding-area img {
    max-height: 150px;
    max-width: max(20%, 200px);
}

.branding-area h4 {
    width: 100%;
}

.cpa-logo {
    display: flex;
    flex-direction:column;
    gap: 30px;
    align-items: center;
}

.cpa-logo p {
    font-size: 12px;
    max-width: 200px;
    min-width: 80px;
    margin: 0 0 0 0;
    text-align:center;
}

.section-giving img {
    max-width: 300px;
    display: block;
    margin: auto;
    margin-bottom: 1rem;
}

.section-careers {
    background: var(--colour-1);
    color: white;
    z-index:2;
}

.section-careers h2 {
    color: white;
}

.section-associations {
    background: var(--colour-1);
}

/* SUB-PAGE MQs */
@media screen and (max-width: 63em) {
    .services-section #services-sidebar {
        display:none;
    }
    .our-philosophy-area .small-12 {
        text-align:center;
    }
}

@media screen and (min-width: 40em) {
    /* WHAT WE DO PAGE */
    .services-section .section-area {
        padding: 2rem 0;
    }
    .cpa-logo {
        gap: 30px;
        align-items: center;
        flex-direction:row;
    }
    
    .cpa-logo p {
        max-width: 80px;
        min-width: 80px;
        margin: 0 0 0 0;
        text-align:left;
    }
}

/* LARGE AND UP */
@media screen and (min-width: 64em) {

    /* .sub-page .header-section .hero-container {
        bottom: 100px;
    } */


    .sub-page .section-1 {
        padding-top: 3rem;
    }

    .sub-page .section-area img {
        width: 100%;
    }
}

/* NEWS */

a .news-item-container:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 28px rgb(0 0 0 / 25%), 0 10px 10px rgb(0 0 0 / 22%);
}


.news-item-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: #7a7a7a 0 0 5px 0px;
    /* margin-bottom: 30px; */
    transition: box-shadow 0.3s cubic-bezier(.25, .8, .25, 1), transform 0.3s ease-out;
    background: white;
    border-radius: 5px;
    overflow: hidden;
    height: 100%;
}

.news-item-container img {
    max-height: 200px;
    object-fit: cover;
    width: 100%;
    height: 200px;
}

.news-item-container p {
    padding: 0rem 1rem;
    font-size: 15px;
    color: var(--colour-3);
}


.news-item-container p.news-title {
    margin-top: 0.5rem;
    margin-bottom:0.5rem;
    font-weight: 600;
    font-size: 17px;
    color: var(--colour-3);
}

.news-item-container p.news-description {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-item-container p.news-read-more {
    font-size: 15px;
    line-height: normal;
    margin-bottom: 0.8rem;
    font-weight: 600;
    color:var(--colour-1);
}

a:hover .news-item-container p.news-read-more {
    color:var(--colour-2);
}

/*TESTING AOS*/
div.aos.visible:nth-of-type(n) {
    animation-delay: 0s;
}

/* LARGE AND UP */
@media screen and (min-width: 40em) {


    div.aos.visible:nth-of-type(2n) {
        animation-delay: 0.1s;
    }

}

/* LARGE AND UP */
@media screen and (min-width: 64em) {

    div.large-4.aos.visible:nth-of-type(3n-2) {
        animation-delay: 0s;
    }

    div.large-4.aos.visible:nth-of-type(3n-1) {
        animation-delay: 0.1s;
    }

    div.large-4.aos.visible:nth-of-type(3n) {
        animation-delay: 0.2s;
    }

    div.large-3.aos.visible:nth-of-type(4n-3) {
        animation-delay: 0s;
    }

    div.large-3.aos.visible:nth-of-type(4n-2) {
        animation-delay: 0.1s;
    }

    div.large-3.aos.visible:nth-of-type(4n-1) {
        animation-delay: 0.2s;
    }

    div.large-3.aos.visible:nth-of-type(4n) {
        animation-delay: 0.3s;
    }

}

/*END TESTING*/


.news-grid div.visible:nth-of-type(n) {
    animation-delay: 0s;
}

/* LARGE AND UP */
@media screen and (min-width: 40em) {


    .news-grid div.visible:nth-of-type(2n) {
        animation-delay: 0.1s;
    }

}

/* LARGE AND UP */
@media screen and (min-width: 64em) {

    .news-grid div.visible:nth-of-type(3n-2) {
        animation-delay: 0s;
    }

    .news-grid div.visible:nth-of-type(3n-1) {
        animation-delay: 0.1s;
    }

    .news-grid div.visible:nth-of-type(3n) {
        animation-delay: 0.2s;
    }

}

/* NEWS ARTICLE PAGE */

.news-page .header-section {
    text-align: center;
}

.news-share-links-top {
    display: flex;
    align-items: center;
    margin: 0.5rem 0 2rem 0;
    gap: 1rem;
}

.news-share-links-top ul {
    display: flex;
    list-style: none;
    margin: 0;
    gap: 0.8rem;
}

.news-share-links-top li {
    margin: 0;
}

.news-share-links-top p {
    margin: 0;
    line-height: normal;
    font-size: 16px;
}

.news-share-links-top i {
    font-size: 22px;
    color: var(--colour-1);
}

.news-page #article {
    padding: 0.5rem;
}

.news-page #article h1.content_title {
    display: inline-block;
    padding-bottom: 1rem;
    border-bottom: solid #305a592e;
}

.news-page #article .articledescription {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.news-page #article img {
    width: 95%;
    display: inline-block;
}

#article img.float-left {
    width:auto;
    float:left;
    margin-right: 1rem;
    max-width:50%;
}

#article img.float-right {
    width:auto;
    float:right;
    margin-left: 1rem;
    max-width:50%;
}

div#index {
    padding: 1rem;
    border-radius: 1rem;
    background: var(--colour-1);
    color: white;
    box-shadow: rgb(0 0 0 / 10%) 1px 1px 5px 0px;
}

div#archive {
    padding: 1rem;
    border-radius: 1rem;
    background: #e7e7e7;
    color: #132a40;
    margin-top: 2rem;
    margin-bottom: 2rem;
    box-shadow: rgb(0 0 0 / 10%) 1px 1px 5px 0px;
}

div#viewarchive {
    padding: 1rem;
    border-radius: 1rem;
    background: var(--colour-1);
    color: white;
    box-shadow: rgb(0 0 0 / 10%) 1px 1px 5px 0px;
}

div#listing ul {
    list-style: none;
    margin: 0;
}

div#listing p.newsindexheading {
    font-size: 30px;
    text-align: center;
}

div#listing a {
    color: white;
    font-size: 16px;
}

div#listing a:hover {
    color: var(--colour-2);
}

div#archive a {
    color: #132a40;
}

div#listing li {
    padding-bottom: 0.5rem;
    margin-top: 0.5rem;
    border-bottom: solid 1px;
    margin-left: 0;
    padding-left: 0;
}

.news-form-container {
    background: #e2f1ff;
    padding: 2rem 2rem 1.5rem 2rem;
    border-radius: 1rem;
    margin-bottom: 2rem;
    box-shadow: rgb(0 0 0 / 10%) 1px 1px 5px 0px;
}

.news-form-container label {
    font-size: 18px;
}

.news-form-container input,
.news-form-container textarea {
    border-radius: 0.3rem;
}

.news-form-container textarea {
    min-height: 6rem;
}

.c2413 h4 {
    text-align:center;
}

.section-videos {
    min-height: 1300px;
}

/* LARGE AND UP */
@media screen and (min-width: 64em) {

    .news-page .header-section {
        /* padding: 12rem 0 4rem 0; */
        text-align: center;
    }

    .news-form-container {
        margin-bottom: 0;
    }

    .section-videos {
        min-height: 1580px;
    }
}

/* CALL TO ACTION */

.call-to-action {
    color: white;
    padding: 0 0 2rem 0;;
    margin: 0 2rem;
}

.sub-page .call-to-action {
    padding: 1rem 0 4rem 0;
}

.call-to-action .grid-container {
    max-width: 85rem;
}

.call-to-action h1 {
    color: white;
    font-size: 2.5rem;
}

.call-to-action p {
    margin:0;
    font-size: 2rem;
}

.cta-container {
    background: rgb(21 47 94);
    background: linear-gradient(46deg, rgb(21 47 94) 0%, rgb(53 83 139) 100%);
    background: linear-gradient(46deg, var(--colour-1) 0%, var(--colour-2) 100%);
    border-radius: 1rem;
    padding: 2rem;
    padding: 1rem;
    box-shadow: 0px 24px 40px 0px rgba(1, 28, 46, 0.24);
    text-align: center;
}

.cta-buttons {
    margin: 1rem 0 0 0;
    gap: 1rem;
    justify-content: center;
}

.cta-buttons a.theme-button {
    justify-content: center;
    background:rgb(73, 73, 73);

}

.cta-buttons a.theme-button:hover {
    background:#b48623;
    background: var(--colour-1);

}

.cta-buttons a.cta-phone {
    background: white;
    color: #132a40;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    transition: all 0.3s;
    font-size:20px;
    justify-content: center;
}

.cta-buttons a.cta-phone:hover {
    background: #cca146;
    background: var(--colour-1);
    color: white;
}

.cta-buttons i.fa-solid {
    font-size: 18px;
    color: #b48623;
    color: var(--colour-1);
}

.cta-buttons a.cta-phone:hover i.fa-solid {
    color: #b48623;
    color: white;
}


/* LARGE AND UP */
@media screen and (min-width: 64em) {
    .cta-container {
        text-align: left;
        padding:2rem;
    }

    .call-to-action h1 {
        font-size: 4rem;
    }

    .call-to-action {
        padding: 3rem 0 4rem 0;
    }

    .cta-buttons {
        margin: 0;
    }

    .sub-page .call-to-action {
        /* padding: 4rem 0; */
    }
}

/* CONTACT FORM */

.contact-form-area {
    background: #152f5e;
    background: linear-gradient(191deg, #152f5e 0%, #254072 100%);
}

.contact-form-area .contact-form {
    background: #f5faff;
    padding: 2rem 2rem 1.5rem 2rem;
    border-radius: 1rem;
    margin: 1rem;
}


.contact-form-area ul {
    margin: 0;
    margin-left: -1rem;
}

.contact-form-area ul li {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    color: white;
    font-size: 18px;

}

.contact-form-area ul li a {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    transition: all 0.3s;
}

.contact-form-area ul li a:hover {
    background: white;
    color: #132a40;
}

.contact-form-area a,
.contact-form-area h2 {
    color: white;
}

.contact-form-area p {
    font-size: 16px;
}

.contact-form-area h2 {
    text-align: center;
}

.contact-form-area i.fa-solid,
.contact-form-area i.fa-brands {
    font-size: 18px;
    color: #97aacd;
}

.contact-form-area .section-text {
    margin: auto 1rem;
    justify-content: center;
    display: flex;
}


/* CONTACT FOOTER */

.contact-footer {
    background: var(--colour-1);
    background: #152b63;
    background-image: url(../images/bg-rings-10.svg);
    background-size: 1290px;
    background-repeat: no-repeat;
    background-position: -970px -30px;
    box-shadow: 0px -1px 5px 0px rgb(0 0 0 / 10%);
}

.contact-footer .grid-container,
.contact-disclaimer .grid-container {
    padding-bottom: 0;
    max-width: 90rem;
}

input.theme-button,
button.g-recaptcha {
    background: var(--colour-1);
    border-radius: 0.5rem;
    color: white;
    padding: 1rem 3rem;
    font-size: 18px;
    display: flex;
    border: none;
    margin-top: 1.5rem;
    width: 100%;
    justify-content: center;
}

.careers button.g-recaptcha {
    background: var(--colour-2);
    border-radius: 0.5rem;
    color: white;
    padding: 1rem 3rem;
    font-size: 18px;
    display: flex;
    border: none;
    margin-top: 1.5rem;
    width: 100%;
    justify-content: center;
}

.careers button.g-recaptcha:hover {
    background:white;
    color:var(--colour-1);
}

input.theme-button:hover,
button.g-recaptcha:hover {
    background: var(--colour-2);
    /* color: var(--colour-1); */
}

.section-contact ul.socials {
    margin: 0;
    /* margin-left: -1rem; */
}

.section-contact ul.socials li {
    display: flex;
    align-items: center;
    /* margin-bottom: 0.8rem; */
    justify-content: center;
    margin: 0;
    padding: 0;
}

.section-contact ul.socials li a {
    display: flex;
    align-items: center;
    padding: 1rem;
    border-radius: 5px;
    /* transition: background 0.3s; */
}

.section-contact ul.socials a.inline-flex {
    color: var(--colour-3);
    font-weight: 600;
    font-size: 16px;
    padding: 1rem 1rem;
    gap: 0.8rem;
    line-height:1.4;
}

.section-contact ul.socials a.inline-flex i {
    font-size: 15px;
    position: relative;
    bottom: -1px;
}

.section-contact ul.socials a.inline-flex:hover {
    color: var(--colour-1);
}

.section-contact ul.socials li a:hover {
    background: white;
}

.contact-footer ul.disclaimers {
    justify-content: center;
    gap: 0.5rem;
    flex-direction:row;
    margin-top:1rem;
}

.contact-footer li.is-dropdown-submenu-parent.is-active a:after {
    border-color: var(--colour-1) transparent transparent !important;
}

.contact-footer li.is-dropdown-submenu-parent.is-active a {
    background:white;
    color:var(--colour-1);
}

.contact-footer .dropdown.menu.vertical li ul.is-dropdown-submenu {
    top:50%;
    transform:translateY(-50%);
    border:none;
    border-radius:0.5rem;
    left:93%
}

.contact-footer ul.disclaimers li.is-submenu-item.is-dropdown-submenu-item {
    padding-left:0;
}

.contact-footer ul.disclaimers li {
    margin: 0;
    font-size: 16px;
}

.contact-footer ul.disclaimers li a {
    color: white;
    border-radius: 5px;
}

.contact-footer ul.disclaimers li a:hover {
    color: var(--colour-1);
    background: white;
}

.contact-footer ul.disclaimers li.is-dropdown-submenu-item a:hover {
    color: var(--colour-2);
}

.contact-footer a,
.contact-footer h2 {
    color: var(--colour-3);
    color: white;
}

.contact-footer .liability a:hover {
    color:var(--colour-2);
}

.contact-footer p {
    font-size: 16px;
    text-align: left;
}

.contact-footer h2 {
    text-align: center;
}

.section-contact i.fa-solid,
.section-contact i.fa-brands {
    font-size: 18px;
    color: white;
}

.section-contact .socials {
    justify-content: center;
    gap: 0.5rem;
}

.section-contact i.fa-brands,
.section-contact i.fa-solid {
    font-size: 36px;
    color: var(--colour-1);
}

.section-contact a:hover i {
    color: var(--colour-2);
}

.contact-footer .section-text h5 {
    margin-bottom:0.3rem;
    font-weight:500;
    color:white;
}

.contact-footer .menu.socials {
    /* align-content: center; */
    gap:1rem;
}

.contact-footer .menu.socials.column {
    flex-direction: column;
    margin-bottom: 0.7rem;
}

.contact-footer ul.socials li {
    font-size: 16px;
    margin: 0;
    padding: 0;
    text-wrap: nowrap;
}

.contact-footer ul.socials li a {
    width: fit-content;
    font-weight: 400;
    text-align:left;
    padding:0;
    white-space: normal;
}

.contact-footer ul.socials i {
    color: var(--colour-1);
    color: #0067db;
    line-height:1;
}

.contact-footer ul.socials a:hover i {
    color: var(--colour-2);
}

.contact-footer  ul.socials .flex-container i {
    color: white;
}

.contact-footer  ul.socials .flex-container a:hover i {
    color: var(--colour-2);
}

.contact-footer p.social-media {
    margin-top:1rem;
    margin-bottom:0;
}

/* .contact-footer .section-text {
    margin: 1rem;
} */

.contact-footer p {
    color: white;
}

.contact-disclaimer {
    /* background:var(--colour-1); */
    /* background: #515151; */
    text-align:center;
    padding: 1rem 0 0 0;
    color:white;
    font-size:14px;
}

.contact-disclaimer.general-advice {
    background: #515151;
}

.contact-disclaimer.complaint {
    background: #515151;
}

.contact-disclaimer.complaint p {
    font-size:14px;
    margin-bottom:0.4rem;
    text-align:left;
}

.contact-footer p.liability,
.contact-disclaimer p.liability {
    margin-bottom: 0;
    font-size: 13px;
    color: white;
    margin-top: 2rem;
}

.contact-disclaimer a {
    color:white;
    text-decoration: underline;
}

.contact-disclaimer a:hover {
    color:var(--colour-2);
}

.contact-footer .contact-form {
    background: #fffef8;
    background: none;
    /* padding: 2rem 2rem 1.5rem 2rem; */
    border-radius: 1rem;
    margin: 1rem;
}

ul.contact-us {
    list-style: none;
    margin-top: 1rem;
    font-size: 20px;
}

ul.contact-us li {
    padding: 0.5rem 1rem;
}

ul.contact-us li a {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: #181818;
    /* padding: 0.5rem 1rem; */
    border-radius: 5px;
    transition: all 0.3s;
}

ul.contact-us i {
    font-size: 20px;
    position: relative;
    top: 1px;
}

.contact-form input,
.contact-form textarea,
.contact-form select {
    border-radius: 0.3rem;
}

.contact-form textarea {
    min-height: 8rem;
}

.contact-form label {
    color: var(--colour-3);
    font-size: 16px;
    font-weight: 600;
    color:white;
    width:100%;
}
.contact-form.careers label {
    color: white;
}

.contact-form .contact-us-row {
    display:flex;
    gap: 1rem;
}

.google-map iframe {
    display: block;
    width: 100%;
}

.sitemap {
    background: #152f5e;
    padding: 1rem;
}

.sitemap a {
    color: white;
}

.sitemap a:hover {
    color: #d7fdfb;
}

.sitemap ul {
    display: flex;
    list-style: none;
    gap: 2rem;
    margin: 0;
    justify-content: center;
    font-weight: bold;
    font-size: 0.9rem;
}

.sitemap ul ul {
    font-weight: 400;
    flex-direction: column;
    gap: 0;
    font-size: 0.8rem;
}

.sitemap a {
    padding: 0.2rem;
}

/* FOOTER */

.acknowledgement-of-country {
    background: #b17f22;
    color: white;
    padding: 1rem;
}

.acknowledgement-of-country p {
    margin: 0;
    text-align: center;
}

.footer-main {
    padding: 1rem;
    background: #414042;
    font-size: 0.8rem;
}

.footer-main .grid-container {
    padding: 0;
}

.footer-main p,
.footer-main a {
    margin: 0;
    color: white;
}

.grecaptcha-badge {
    z-index:10;
    bottom: 10px !important;
}
/* .grecaptcha-badge.visible {
    opacity:1;
} */

/*MODAL STYLING*/

.reveal {
    border-radius: 0.5rem;
    padding: 2rem;
}

.reveal img.hidden-image {
    display:none;
}

/* .reveal a {
    color: var(--colour-1);
    text-decoration: underline;
    text-underline-offset: 2px;
} */

/* .reveal a:hover {
    color: var(--colour-2);
} */

.reveal.staff-profile {
    max-width: 60em;
}

.reveal.staff-profile img {
    margin-bottom: 1rem;
    float: none;
    max-height: 400px;
    width: 100%;
    object-fit: cover;
    object-position: 50% 30%;
}

.reveal.staff-profile .staff-profile-details {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:0.1rem;
    text-align:center;
}

.reveal.staff-profile .staff-profile-details h2 {
    line-height:1.2;
    font-size:28px;
    margin-bottom:0;
}

.reveal.staff-profile .staff-profile-details span.role {
    color:var(--colour-1);
}

.reveal.staff-profile .staff-profile-details span.credentials {
    
}

.reveal.staff-profile .modal-email {
    display:flex;
    margin-top:1rem;
    align-items: center;
    gap:0.5rem;
}

.reveal.staff-profile .modal-email:hover i {
    color:var(--colour-2);
}

.reveal.service {
    padding: 0;
    border: none;
}

.reveal.service .service-modal .modal-trim {
    background: #123155;
    background-image: url(../images/bg-rings-10.svg);
    background-size: 2600px;
    background-repeat: no-repeat;
    background-position: top -430px left -330px;
    min-width:100px;
}

.reveal.service .service-modal {
    padding: 0;
    display: flex;
    height: 100%;
}

.reveal.service .service-modal img {
    max-width: 30%;
    object-fit: cover;
}

.reveal.service .service-modal .side-colour {
    min-width: 15%;
    background: #992f3b;
    background: linear-gradient(45deg, #992f3b, #852b35);
    background: linear-gradient(0deg, var(--colour-2), var(--colour-1), var(--colour-2));
    background: linear-gradient(0deg, var(--colour-2) 0%, var(--colour-2) 33.3%, var(--colour-1) 33.3%, var(--colour-1) 66.6%, var(--colour-2) 66.6%, var(--colour-2) 100%);
}

.reveal.service .service-modal-text {
    padding: 2rem;
}

.reveal.service .service-modal-text a.theme-button {
    display: inline-block;
}

#pds-links li p {
    margin-bottom:0;
}

.staff-profile .cell :last-child {
    margin-bottom: 0;
}

#dingo .grid-x .columns {
    padding: 0.5rem
}

#dingo_tax h1,
#dingo_tax h2 {
    font-size: 2rem
}

.reveal h5 {
    color:var(--colour-1);
}

@media print,
screen and (max-width: 39.99875em) {
    .reveal {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: none;
        margin-left: 0;
        border: 0;
        border-radius: 0;
    }

    .reveal.service .service-modal .modal-trim {
        min-width:20px;
    }

    .contact-form .contact-us-row {
        display:flex;
        gap:0;
        flex-wrap:wrap;
    }
}

@media print,
screen and (min-width: 40em) {
    .reveal {
        width: 95%;
        max-width: 75rem;
    }

    #tax-deductions.reveal {
        max-width: 65rem;
    }

    .reveal.staff-profile img {
        max-height: 400px;
        width: 100%;
        object-fit: cover;
        object-position: 50% 25%;
    }
}

/*END MODAL STYLING*/

/* BACK TO TOP */

a#back_to_top {
    position: fixed;
    bottom: 5rem;
    right: 0rem;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.5s;
    background: rgba(0,0,0,0.4);
    padding:0.5rem 0.5rem 0.5rem 0.6rem;
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}

a#back_to_top i {
    font-size: 30px;
    color: white;
    line-height: 1;
}

a#back_to_top:hover i {
    color: var(--colour-2);
}

/* messages */
#message_box {
    background: #080;
    padding: 10px 20px;
    color: #FFF;
    font: 18px arial, helvetica, sans-serif;
    border: 2px solid #050;
    border-radius: 4px;
    margin: 10px 0;
}

td {
    color:black;
}

#error_message_box {
    background: #800;
    padding: 10px 20px;
    color: #FFF;
    font: 18px arial, helvetica, sans-serif;
    border: 2px solid #400;
    border-radius: 4px;
    margin: 10px 0;
}

/* Ticker */
#ticker_core {
    height: 20px;
    padding: 13px 20px 0 20px;
}

/* jsticker_scroll and jsticker_scroll_vertical */
.scrollingtext {
    position: absolute;
}

#jsticker_scroll {
    position: relative;
    height: 40px;
    /* width: 100%; */
    display: block;
    overflow: hidden;
    margin: 0 auto;
    background:#222222;
}

#jsticker_scroll div {
    display: inline-block;
    margin: 0;
}

#jsticker_scroll a {
    color: #333;
    color: white;
    display: block;
    padding: 8px 20px;
    /* font: 11px Verdana; */
}

#jsticker_scroll a:hover {
    color: #090;
}

#jsticker_scroll .scrollingtext {
    white-space: nowrap;
}


/* ANIMATE ON SCROLL TESTING */

.aos {
    visibility: hidden;
}

.aos.visible {
    visibility: visible;
}

.aos.slideUp.visible {
    transform: translateY(100%);
    animation: slideUp 0.5s both;
}

.aos.slideDown.visible {
    transform: translateY(-100%);
    animation: slideDown 0.5s both;
}

.aos.fadeOut {
    visibility: visible;
    animation-delay: 0s !important;
    animation: fadeOut 0.5s both;
}

.aos.fadeIn.visible {
    animation: fadeIn 1s both;
}

/* BASIC ANIMATIONS */
@keyframes slideUp {
    from {
        transform: translatey(90%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        visibility: hidden
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideDown {
    from {
        transform: translatey(-100%);
        opacity: 0
    }

    to {
        transform: translateY(0);
        opacity: 1
    }
}

@keyframes slideLeft {
    from {
        transform: translateX(90%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/*TIMELINE*/

@media (min-width: 1200px) {

    #timeline .demo-card:nth-child(odd) .head::after,
    #timeline .demo-card:nth-child(even) .head::after {
        position: absolute;
        content: "";
        width: 0;
        height: 0;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
    }

    #timeline .demo-card:nth-child(odd) .head::before,
    #timeline .demo-card:nth-child(even) .head::before {
        position: absolute;
        content: "";
        width: 9px;
        height: 9px;
        background-color: #bdbdbd;
        border-radius: 9px;
        box-shadow: 0px 0px 2px 8px #f7f7f7;
    }
}

/* Some Cool Stuff */
.demo-card:nth-child(1) {
    order: 1;
}

.demo-card:nth-child(2) {
    order: 4;
}

.demo-card:nth-child(3) {
    order: 2;
}

.demo-card:nth-child(4) {
    order: 5;
}

.demo-card:nth-child(5) {
    order: 3;
}

.demo-card:nth-child(6) {
    order: 6;
}

/* #timeline {
    padding: 100px 0;
    background: #f7f7f7;
    border-top: 1px solid rgba(191, 191, 191, 0.4);
    border-bottom: 1px solid rgba(191, 191, 191, 0.4);
} */
#timeline h1 {
    text-align: center;
    font-size: 3rem;
    font-weight: 200;
    margin-bottom: 20px;
}

#timeline p.leader {
    text-align: center;
    max-width: 90%;
    margin: auto;
    margin-bottom: 45px;
}

#timeline .demo-card-wrapper {
    position: relative;
    margin: auto;
}

@media (min-width: 1200px) {
    #timeline .demo-card-wrapper {
        display: flex;
        flex-flow: column wrap;
        width: 1170px;
        height: 888px;
        margin: 0 auto;
    }
}

#timeline .demo-card-wrapper::after {
    z-index: 1;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: rgba(191, 191, 191, 0.4);
    height: 95%;
    /* border-left: 1px solid rgba(191, 191, 191, 0.4); */
}

@media (min-width: 1200px) {
    #timeline .demo-card-wrapper::after {
        /* border-left: 1px solid #bdbdbd; */
        background: #bdbdbd;
        height: 90%;
    }
}

#timeline .demo-card {
    position: relative;
    display: block;
    margin: 10px auto 40px;
    max-width: 94%;
    z-index: 2;
    border-radius: 1rem;
}

#timeline .demo-card:hover {
    transform: translateY(-10px);
}

@media (min-width: 480px) {
    #timeline .demo-card {
        max-width: 80%;
        box-shadow: 0px 1px 22px 4px rgba(0, 0, 0, 0.07);
    }
}

@media (min-width: 720px) {
    #timeline .demo-card {
        max-width: 80%;
    }
}

@media (min-width: 1200px) {
    #timeline .demo-card {
        max-width: 450px;
        height: auto;
        margin: 90px;
        margin-top: 45px;
        margin-bottom: 45px;
    }

    #timeline .demo-card:nth-child(odd) {
        margin-right: 45px;
    }

    #timeline .demo-card:nth-child(odd) .head::after {
        border-left-width: 15px;
        border-left-style: solid;
        left: 100%;
    }

    #timeline .demo-card:nth-child(odd) .head::before {
        left: 491.5px;
    }

    #timeline .demo-card:nth-child(even) {
        margin-left: 45px;
    }

    #timeline .demo-card:nth-child(even) .head::after {
        border-right-width: 15px;
        border-right-style: solid;
        right: 100%;
    }

    #timeline .demo-card:nth-child(even) .head::before {
        right: 489.5px;
    }

    #timeline .demo-card:nth-child(2) {
        margin-top: 180px;
    }
}

#timeline .demo-card .head {
    position: relative;
    display: flex;
    align-items: center;
    color: #fff;
    font-weight: 400;
    justify-content: center;
}

#timeline .demo-card .head .number-box {
    display: inline;
    float: left;
    margin: 15px;
    padding: 10px;
    font-size: 35px;
    line-height: 35px;
    font-weight: 600;
    background: rgba(0, 0, 0, 0.17);
}

#timeline .demo-card .head h2 {
    /* text-transform: uppercase; */
    font-size: 1.3rem;
    font-weight: inherit;
    /* letter-spacing: 2px; */
    margin: 0;
    /* padding-bottom: 6px; */
    /* line-height: 1rem; */
    /* margin-right: 4rem; */
    font-weight: 600;
}

@media (min-width: 480px) {
    #timeline .demo-card .head h2 {
        font-size: 1.5rem;
        /* line-height: 1.2rem; */
        color: white;
        flex-grow: 1;
        text-align: left;
    }
}

#timeline .demo-card .head h2 span {
    display: block;
    font-size: 0.6rem;
    margin: 0;
}

@media (min-width: 480px) {
    #timeline .demo-card .head h2 span {
        font-size: 0.8rem;
    }
}

#timeline .demo-card .body {
    background: #fff;
    border: 1px solid rgba(191, 191, 191, 0.4);
    border-top: 0;
    padding: 15px;
    border-bottom-left-radius: 0.8rem;
    border-bottom-right-radius: 0.8rem;
}

@media (min-width: 1200px) {
    #timeline .demo-card .body {
        height: 315px;
    }
}

#timeline .demo-card .body p {
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 15px;
    margin-bottom: 0;
}

#timeline .demo-card .body img {
    display: block;
    width: 100%;
}

#timeline .demo-card--step1 {
    background-color: #46b8e9;
    background-color: var(--colour-2);
}

#timeline .demo-card--step1 .head::after {
    border-color: #46b8e9;
    border-color: var(--colour-2);
}

#timeline .demo-card--step2 {
    background-color: #3ee9d1;
    background-color: var(--colour-2);
}

#timeline .demo-card--step2 .head::after {
    border-color: #3ee9d1;
    border-color: var(--colour-2);
}

#timeline .demo-card--step3 {
    background-color: #ce43eb;
    background-color: var(--colour-2);
}

#timeline .demo-card--step3 .head::after {
    border-color: #ce43eb;
    border-color: var(--colour-2);
}

#timeline .demo-card--step4 {
    background-color: #4d92eb;
    background-color: var(--colour-2);
}

#timeline .demo-card--step4 .head::after {
    border-color: #4d92eb;
    border-color: var(--colour-2);
}

#timeline .demo-card--step5 {
    background-color: #46b8e9;
    background-color: var(--colour-2);
}

#timeline .demo-card--step5 .head::after {
    border-color: #46b8e9;
    border-color: var(--colour-2);
}


/*
MESSAGE BOX ---------------------------------------------
*/

/* This is the container for the message box */
#messages {
    width: 100%;
    /* position: absolute; */
    bottom: 0px;
    z-index: 10;
}

#messages:after {
    content: '';
    display: table;
    clear: both;
}

/* message box */
.msgbox_messages {
    width: 100%;
    padding: 0px 0px;
    height: 50px;
    min-height: 50px;
    background: #2172AF;
}

.msgbox_message {
    width: 100%;
}

.msgbox_title {
    font: bold 24px Calibri, sans-serif;
    color: #FFF;
    display: block;
    line-height: 50px;
    text-align: center;
}

.msgbox_title a {
    font: bold 24px Calibri, sans-serif;
    color: #FFF;
    display: block;
    padding: 0 10px;
    line-height: 50px;
    text-decoration: none;
    transition-property: background-position;
    transition-duration: 1s;
}

.msgbox_title a:hover {
    background: #185380;
    color: #FFF;
}

.msgbox_body {
    padding: 10px;
    font: 15px arial, sans-serif;
    line-height: 140%;
}

.msgbox_body a {
    color: #F00;
}

.msgbox_prevnext {
    border-radius: 0 0 5px 5px;
    background: #444;
    height: 50px;
    overflow: hidden;
    width: 100%;
}

.msgbox_prevnext a {
    color: #AAA;
    display: block;
    width: 50%;
    float: left;
    font: bold 32px arial;
    line-height: 50px;
    text-align: center;
}

.msgbox_prevnext a:hover {
    color: #FFF;
    background: #222;
}

/* LetterFX */

.letterfx {
    display: inline-block;
    margin: 0;
    padding: 0;
    transition: all 1s;
    -ms-transition: all 1s;
    -webkit-transition: all 1s
}

.letterfx-spin-before {
    transform: rotate(3600deg);
    -ms-transform: rotate(3600deg);
    -webkit-transform: rotate(3600deg)
}

.letterfx-spin-after {
    transform: none
}

.letterfx-fade-before {
    opacity: 0
}

.letterfx-grow-before {
    transform: scale(0, 0);
    -ms-transform: scale(0, 0);
    -webkit-transform: scale(0, 0)
}

.letterfx-grow-after {
    transform: none
}

.letterfx-smear-before {
    color: transparent;
    text-shadow: -1px -1px 25px transparent
}

.letterfx-smear-after {
    color: inherit;
    text-shadow: 0 0 #333
}

.letterfx-fall-before {
    visibility: hidden;
    transform: scale(3, 3);
    -ms-transform: scale(3, 3);
    -webkit-transform: scale(3, 3)
}

.letterfx-fall-after {
    transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -webkit-transform: scale(1, 1);
    text-shadow: 0
}

.letterfx-swirl-before {
    visibility: hidden;
    transform: scale(3, 3) rotate(3600deg);
    -ms-transform: scale(3, 3) rotate(3600deg);
    -webkit-transform: scale(3, 3) rotate(3600deg)
}

.letterfx-swirl-after {
    transform: none text-shadow:0
}

.letterfx-wave-container .letterfx {
    position: relative
}

.letterfx-wave-before {
    bottom: 0
}

.letterfx-wave-after {
    bottom: 15px
}

.letterfx-fly-left-container .letterfx,
.letterfx-fly-right-container .letterfx,
.letterfx-fly-top-container .letterfx,
.letterfx-fly-bottom-container .letterfx {
    position: relative
}

.letterfx-fly-left-before {
    left: -50em
}

.letterfx-fly-left-after {
    left: 0
}

.letterfx-fly-right-before {
    right: -50em
}

.letterfx-fly-right-after {
    right: 0
}

.letterfx-fly-top-before {
    top: -20em
}

.letterfx-fly-top-after {
    top: 0
}

.letterfx-fly-bottom-before {
    bottom: -20em
}

.letterfx-fly-bottom-after {
    bottom: 0
}