:root {
    --radius: 24px;
    --radius2: 20px;
    --bg: #e8e8e8;
    --hero-blue: #004265;
    --search-blue: #062539;
    --cta-blue: #082e47;
    --btt-blue: #084d66;
    --footer-1: #00283d;
    --footer-2: #111b29;
    --orange: #ff8b2b;
    --menu-orange: #ee8229;
    --black: #111b29;
    --tc-black: #0b0c0c;
    --link: #172642;
    --nav-blue: #535a63;
    --menu-blue: #126086;
    --blue: #3f5fde;
    --mid-blue: #c5e9f7;
    --light-blue: #f3f8ff;
    --purple: #46345a;
    --mid-purple: #dad4f9;
    --light-purple: #f7f4fb;
    --light-blue-box: #f3f8ff;
    --logo-green: #7fc347;
    --logo-lightblue: #0077ad;
    --logo-red: #e31e36;
    --logo-blue: #215568;
    --unit: 16px;
    --gutter: 32px;
    --wrapper-margin: 64px;
    --grid-third: calc((((100% - (var(--gutter)*11))/12)*4) + (var(--gutter)*3));
    --grid-twothirds: calc((((100% - (var(--gutter)*11))/12)*8) + (var(--gutter)*7));
    --grid-quarter: calc((((100% - (var(--gutter)*11))/12)*3) + (var(--gutter)*2));
    --grid-half: calc(50% - (var(--gutter)/2));
    --grid-sixth: calc((((100% - (var(--gutter)*11))/12)*2) + var(--gutter));
    --cards_third: calc(((100% - var(--gutter))/3) - (var(--gutter)*(2/3)));
    --cards_twothirds: calc((var(--cards_third)*2) + var(--gutter));
    --cards_half: calc((((100% - var(--gutter))/2)) - (var(--gutter)))
}

@media all and (max-width: 1199px) {
    :root {
        --wrapper-margin:48px
    }
}

@media all and (max-width: 899px) {
    :root {
        --wrapper-margin:32px
    }

    :root {
        --masthead-height: 83px
    }
}

@media all and (max-width: 599px) {
    :root {
        --wrapper-margin:16px;
        --gutter: 16px;
        --radius: 20px;
        --radius2: 16px
    }
}

@font-face {
    font-family: source sans pro;
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.cdnfonts.com/s/12183/SourceSansPro-Regular.woff) format('woff')
}

@font-face {
    font-family: source sans pro;
    font-style: italic;
    font-weight: 400;
    src: url(https://fonts.cdnfonts.com/s/12183/SourceSansPro-It.woff) format('woff')
}

@font-face {
    font-family: source sans pro;
    font-style: normal;
    font-weight: 600;
    src: url(https://fonts.cdnfonts.com/s/12183/SourceSansPro-Semibold.woff) format('woff')
}

@font-face {
    font-family: source sans pro;
    font-style: normal;
    font-weight: 700;
    src: url(https://fonts.cdnfonts.com/s/12183/SourceSansPro-Bold.woff) format('woff')
}

@font-face {
    font-family: 'source serif pro';
    font-style: normal;
    font-weight: 400;
    src: local('Source Serif Pro'),url(https://fonts.cdnfonts.com/s/15884/SourceSerifPro-Regular.woff) format('woff')
}

*,html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,label,fieldset,input,p,blockquote,th,td,object,button {
    margin: 0;
    padding: 0;
    -webkit-appearance: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

fieldset,img {
    border: 0
}

address,caption,cite,code,dfn,em,strong,th,var {
    font-style: normal;
    font-weight: 400
}

ol,ul,li {
    list-style: none
}

caption,th {
    text-align: left
}

h1,h2,h3,h4,h5,h6 {
    font-size: 100%;
    font-weight: 400
}

html {
    box-sizing: border-box;
    scroll-behavior: smooth
}

*,*:before,*:after {
    box-sizing: inherit
}

q:before,q:after {
    content: ''
}

sup,sub {
    vertical-align: baseline;
    position: relative;
    top: -.5em;
    font-size: .8em
}

sub {
    top: 1em
}

.clear {
    clear: both
}

.clearfix:after,.module:after {
    content: " ";
    display: table;
    clear: both
}

em,i {
    font-style: italic !important;
    font-weight: inherit !important
}

a img {
    border: none
}

a {
    text-decoration: none
}

a:active,a:focus-visible,button {
    outline: none;
    border: none;
    -moz-outline-style: none
}

::selection {
    background: var(--mid-blue);
    color: #000
}

::-moz-selection {
    background: var(--mid-blue);
    color: #000
}

.screen-reader-text,.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0
}

html {
    font-size: 62.5%;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    width: 100%;
    top: 0 !important;
    font-family: 'Source Sans Pro',sans-serif;
    font-variant-numeric: proportional-nums;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    color: var(--tc-black);
    background-color: var(--light-blue);
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-tap-highlight-color: transparent;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    transition: transform .4s ease;
    --scrollbar-width: calc(100vw - 100%)
}

body.home {
    background: var(--bg)
}

body:is([class*=template_news],.blog,.single-post) {
    background: var(--light-purple)
}

.h1,body #pageheader h1 {
    font-family: 'Source Serif Pro',serif;
    font-weight: 400;
    font-size: 60px;
    line-height: 120%;
    letter-spacing: -.01em;
    margin-bottom: .333em
}

body:not(.search) #pageheader h1 {
    max-width: 12em
}

#pageheader h1:only-child {
    margin-bottom: 0 !important
}

#pageheader h1.long {
    font-size: 44px;
    margin-bottom: .5em
}

#pageheader .textcontent h1 {
    max-width: none
}

body.home #pageheader h1 {
    font-family: 'Source Serif Pro',serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 130%;
    letter-spacing: -.01em;
    margin-bottom: 1em;
    max-width: 25em
}

h2 {
    margin-bottom: .5em;
    font-size: 40px;
    font-weight: 600;
    line-height: 120%
}

h2.h2,.bodytext h2 {
    font-family: 'Source Serif Pro',serif;
    font-weight: 400
}

h2.h2>a {
    color: inherit
}

.bodytext h3:not(:first-child) {
    margin-top: 1em
}

.bodytext h2:not(:first-child) {
    margin-top: 1.2em
}

.bodytext p,.bodytext li {
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    margin-bottom: 1em
}

.bodytext p strong,.bodytext li strong {
    font-weight: 700
}

.bodytext li {
    margin-bottom: .5em
}

.bodytext ol li:last-child,.bodytext ul:not(.quicklinks):not(.downloads) li:last-child {
    margin-bottom: 1em
}

.bodytext ul:not(.quicklinks):not(.downloads) ul li:last-child {
    margin-bottom: 0
}

.bodytext ul li {
    list-style: disc
}

.bodytext ul ul li {
    list-style: circle;
    margin-top: .5em
}

.bodytext ul ul ul li {
    list-style: square
}

.bodytext ol li {
    list-style: decimal
}

.bodytext ol ol li {
    list-style: lower-latin;
    margin-top: .5em
}

.bodytext ol ol li {
    list-style: lower-roman
}

.bodytext ul,.bodytext ol {
    margin-left: 2rem
}

h3 {
    font-size: 30px;
    margin-bottom: .5em;
    font-style: normal;
    font-weight: 600;
    line-height: 120%
}

h4 {
    font-size: 24px;
    font-style: normal;
    line-height: 120%;
    margin-bottom: .75em;
    font-weight: 600
}

.bodytext h4:not(:first-child) {
    margin-top: 1.5em
}

.bodytext hr {
    border: 2px solid var(--logo-lightblue);
    margin: var(--gutter) 0 16px
}

@media all and (max-width: 1199px) {
    .h1,body:not(.home) #pageheader h1 {
        font-size:40px;
        margin-bottom: .5em
    }

    body.home #pageheader h1 {
        font-size: 24px;
        letter-spacing: -.01em;
        margin-bottom: 1em;
        max-width: 1000px
    }

    .h2,h2 {
        font-size: 32px;
        margin-bottom: 16px
    }

    h3 {
        font-size: 24px;
        margin-bottom: 16px
    }

    h4 {
        font-size: 21px;
        margin-bottom: 16px
    }

    .bodytext p,.bodytext li {
        font-size: 17px
    }
}

.cta {
    font-size: 17px !important;
    line-height: 20px !important
}

ul.cta li {
    font-size: inherit;
    line-height: inherit
}

ul.cta li:not(:last-child) {
    margin-bottom: 16px
}

.cta a,.cta span {
    box-sizing: content-box;
    background: #fff;
    color: var(--black);
    font-weight: 600 !important;
    font-size: inherit;
    line-height: inherit;
    vertical-align: top;
    display: inline-block;
    text-shadow: none;
    border-radius: 300px;
    padding: 14px 22px;
    transition: all .2s ease;
    overflow: hidden;
    position: relative;
    border: 1px solid var(--black)
}

#masthead .cta a {
    padding: 16px 22px;
    border-width: 2px
}

.cta a:hover,.cta span:hover {
    border-color: var(--cta-blue);
    background-color: var(--cta-blue);
    color: #fff
}

.cta.o a,.cta.o span {
    border-color: var(--orange);
    background-color: var(--orange);
    color: #000
}

.cta.o a:hover,.cta.o span:hover {
    border-color: var(--cta-blue);
    background-color: var(--cta-blue);
    color: #fff
}

input#mc-embedded-subscribe:hover {
    background: #7f7658
}

.cta a:focus-visible,.cta span:focus-visible {
    box-shadow: 0 0 0 3px #fff,0 0 0 5px var(--orange)
}

.underline a,.underline span {
    transition: all .2s ease;
    cursor: pointer;
    text-decoration: none;
    padding: 2px 0;
    background-image: linear-gradient(currentColor,currentColor),linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
    background-position: 0 100%,0 100%;
    background-repeat: no-repeat,no-repeat;
    background-size: 0 1px,100% 1px;
    transition: background-size .5s
}

#homeslides .slidetext a p span,#homeslides .slidetext a h2 span {
    padding: 0;
    background-size: 0 2px,100% 2px
}

.underline a:hover,.underline span:hover {
    background-size: 100% 1px,100% 1px
}

#homeslides .slidetext a:hover p span,#homeslides .slidetext a:hover h2 span {
    background-size: 100% 2px,100% 2px
}

@media all and (max-width: 899px) {
    #homeslides .slidetext a p span,#homeslides .slidetext a h2 span {
        background-size:0 1px,100% 1px
    }

    #homeslides .slidetext a:hover p span,#homeslides .slidetext a:hover h2 span {
        background-size: 100% 1px,100% 1px
    }
}

.section .bodytext {
    background: #fff;
    position: relative
}

.textcontent {
    max-width: 640px;
    max-width: calc(640px + 48px);
    width: 100%;
    margin: 0 auto 0;
    padding: 0 24px
}

.section .textcontent {
    padding: 24px;
    margin: 0 auto calc(var(--wrapper-margin) + 24px)
}

.section:only-child .textcontent:only-child {
    min-height: 200px
}

.section .textcontent>:last-child,.section .textcontent>:not(.quicklinks):last-child>:last-child {
    margin-bottom: 0
}

.section .textcontent:before {
    display: block;
    content: "";
    z-index: -1;
    background: #fff;
    position: absolute;
    border-radius: var(--radius);
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: calc(100% + var(--wrapper-margin));
    height: calc(100% + 48px)
}

@media only screen and (max-width: 899px) {
    .textcontent,.section .textcontent {
        max-width:100%
    }

    .section .textcontent:before {
        width: calc(100% + 16px);
        height: calc(100% + 16px)
    }
}

@media only screen and (max-width: 599px) {
    .textcontent {
        max-width:100%
    }

    .section .textcontent {
        border-radius: var(--radius)
    }

    .section .textcontent:before {
        width: 100%;
        height: 100%;
        display: none
    }
}

.imagery:not(:first-child) {
    margin-top: var(--gutter)
}

.imagery:not(:last-child) {
    margin-bottom: var(--gutter)
}

.imagery .vidholder {
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    position: relative
}

.imagery iframe {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

figcaption {
    color: #575757;
    font-size: 16px;
    padding: 1em 0;
    margin-bottom: 1em
}

.imagery img {
    display: block;
    width: 100%;
    height: auto
}

#backtotop>span,.wrapper {
    width: 100%;
    max-width: 1440px;
    min-width: 320px;
    border: var(--wrapper-margin) solid transparent;
    border-top: none !important;
    border-bottom: none !important;
    margin: 0 auto;
    position: relative;
    z-index: 10
}

.section {
    margin-bottom: calc(var(--wrapper-margin) - var(--gutter));
    margin-bottom: var(--wrapper-margin)
}

.section:has(.banner_cards) .banner_cards,.section:has(.cta_cards) .cta_cards {
    margin-bottom: calc(0px - var(--gutter))
}

.content {
    position: relative
}

.listings.mainlistings {
    padding: var(--wrapper-margin) 0
}

.listings:not(:first-child) {
    padding: var(--wrapper-margin) 0
}

@media only screen and (max-width: 599px) {
    body {
        width:100%;
        min-width: 100%
    }
}

@media only screen and (min-width: 600px) {
    body {
        min-width:768px
    }
}

@media only screen and (min-width: 900px) {
    body {
        width:100%;
        min-width: 100%
    }
}

@media all and (max-width: 1199px) {
    .section {
        margin-bottom:calc(var(--wrapper-margin))
    }
}

@media all and (max-width: 899px) {
    #main {
        padding-top:var(--masthead-height)
    }

    .section {
        margin-bottom: 32px
    }
}

@media all and (max-width: 599px) {
    .section {
        margin-bottom:calc(32px - var(--gutter));
        margin-bottom: 32px
    }
}

div.cky-footer-wrapper>div:last-child {
    display: none !important
}

#masthead {
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    transition: all .25s ease;
    color: #454545;
    background: #fff;
    position: relative
}

#masthead>.wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    transition: all .2s ease;
    padding: 12px 0 32px
}

@media all and (max-width: 899px) {
    #masthead {
        border-bottom:1px solid #6f6f6f
    }

    #masthead>.wrapper {
        padding: 16px 0 16px
    }
}

#logo {
    width: 198px;
    min-width: 198px;
    height: 70px;
    position: relative
}

#logo a,#logo svg {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .2s ease
}

#logo a:hover {
    opacity: .7
}

#logo svg path {
    transition: all .2s ease
}

@media all and (max-width: 899px) {
    #logo {
        width:124px;
        min-width: 124px;
        height: 44px;
        width: 141px;
        min-width: 141px;
        height: 50px
    }

    body.searchshown #logo {
        visibility: hidden
    }
}

#logo a:focus-visible {
    box-shadow: 0 0 0 3px #fff,0 0 0 5px var(--orange);
    border-radius: 4px
}

body.searchshown #logo a:focus-visible,body.navshown #logo a:focus-visible {
    box-shadow: 0 0 0 3px var(--hero-blue),0 0 0 5px var(--orange);
    border-radius: 4px
}

#logo svg path.logo-blue {
    fill: #215568
}

#logo svg path.logo-lightblue {
    fill: #0077ad
}

#logo svg path.logo-green {
    fill: #7fc347
}

#logo svg path.logo-red {
    fill: #e31e36
}

#masthead>.translate {
    width: 100%;
    padding: 12px 0
}

@media all and (max-width: 899px) {
    .translate {
        padding:24px 40px
    }

    .translate dl {
        display: flex
    }
}

@media all and (min-width: 900px) {
    #masthead .translate,.translate dl {
        display:flex;
        justify-content: flex-end
    }
}

.translate dt,.translate dd {
    font-size: 16px;
    line-height: 1;
    color: #6e6e6e
}

.translate dt:not(:last-child),.translate dd:not(:last-child) {
    margin-right: .5em
}

.translate dd a {
    color: var(--black)
}

.translate dd a {
    transition: all .2s ease;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    background-image: linear-gradient(currentColor,currentColor),linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
    background-position: 0 100%,0 100%;
    background-repeat: no-repeat,no-repeat;
    background-size: 0 1px,100% 1px;
    transition: background-size .5s
}

.translate dd a.current {
    background-size: 100% 1px,100% 1px
}

.translate dd a:hover {
    background-size: 100% 1px,100% 1px
}

.translate dd a:focus-visible {
    box-shadow: 0 0 0 1px #fff,0 0 0 3px var(--orange);
    border-radius: 2px
}

#mainmenu {
    width: 100%
}

@media all and (max-width: 899px) {
    #masthead>.translate {
        display:none !important
    }
}

#secondary {
    display: flex;
    flex-direction: column;
    justify-content: center
}

#secondary ul {
    display: flex;
    align-items: center
}

#secondary ul li {
    margin-left: var(--unit)
}

body.searchshown #secondary ul li {
    pointer-events: none;
    opacity: 0;
    position: fixed
}

a#closesearch,a#showsearch {
    display: block;
    border: 2px solid var(--black);
    border-radius: 50%;
    padding: 14px
}

a#closesearch:hover,a#showsearch:hover {
    background: var(--hero-blue)
}

a#closesearch:before,a#showsearch:before {
    display: block;
    width: 24px;
    height: 24px;
    content: "";
    background-size: 24px 24px;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path fill="%23111B29" d="M14,0.1c-5.5,0-9.9,4.5-9.9,9.9c0,2.4,0.8,4.6,2.2,6.3l-6.3,6.3l1.4,1.4l6.3-6.3c1.7,1.4,3.9,2.2,6.3,2.2 c5.5,0,9.9-4.5,9.9-9.9C23.9,4.5,19.5,0.1,14,0.1z M14,16.9c-3.8,0-6.9-3.1-6.9-6.9s3.1-6.9,6.9-6.9c3.8,0,6.9,3.1,6.9,6.9 S17.8,16.9,14,16.9z"/></svg>')
}

a#closesearch:hover:before,a#showsearch:hover:before {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path fill="%23FFFFFF" d="M14,0.1c-5.5,0-9.9,4.5-9.9,9.9c0,2.4,0.8,4.6,2.2,6.3l-6.3,6.3l1.4,1.4l6.3-6.3c1.7,1.4,3.9,2.2,6.3,2.2 c5.5,0,9.9-4.5,9.9-9.9C23.9,4.5,19.5,0.1,14,0.1z M14,16.9c-3.8,0-6.9-3.1-6.9-6.9s3.1-6.9,6.9-6.9c3.8,0,6.9,3.1,6.9,6.9 S17.8,16.9,14,16.9z"/></svg>')
}

a#closesearch:before,body.searchshown a#showsearch:before {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path class="st0" d="M10.4,12l-9.6,9.6l1.6,1.6l9.6-9.6l9.6,9.6l1.6-1.6L13.6,12l9.6-9.6l-1.6-1.6L12,10.4L2.4,0.8L0.8,2.4 L10.4,12z"/></svg>')
}

a#closesearch:hover:before,body.searchshown a#showsearch:hover:before {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path fill="%23FFFFFF" d="M10.4,12l-9.6,9.6l1.6,1.6l9.6-9.6l9.6,9.6l1.6-1.6L13.6,12l9.6-9.6l-1.6-1.6L12,10.4L2.4,0.8L0.8,2.4 L10.4,12z"/></svg>')
}

.hamburger:focus-visible,a#closesearch:focus-visible,a#showsearch:focus-visible {
    box-shadow: 0 0 0 3px #fff,0 0 0 5px var(--orange)
}

body.navshown .hamburger:focus-visible {
    box-shadow: 0 0 0 3px var(--hero-blue),0 0 0 5px var(--orange)
}

#menuholder .hamburger,#showmenu {
    display: none
}

@media all and (max-width: 899px) {
    body.navshown a#showsearch:focus-visible {
        box-shadow:0 0 0 3px var(--hero-blue),0 0 0 5px var(--orange)
    }

    #menuholder .hamburger {
        display: block
    }

    #secondary ul li.cta {
        display: none !important
    }

    a#closesearch,a#showsearch {
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        padding: 0 !important;
        position: relative
    }

    .hamburger:before,a#closesearch:before,a#showsearch:before {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%)
    }

    #showmenu {
        display: block
    }

    .hamburger {
        display: block;
        cursor: pointer;
        border: 2px solid var(--black);
        border-radius: 8px;
        height: 46px;
        width: 50px;
        position: relative;
        background: 0 0;
        outline: none
    }

    .hamburger:before {
        display: block;
        width: 24px;
        height: 24px;
        content: "";
        background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path class="st0" d="M0,2h24v3.2H0V2z M0,10.5h24v3.2H0V10.5z M0,18.8h24V22H0V18.8z"/></svg>')
    }

    body.navshown #secondary .hamburger {
        border: 2px solid #fff
    }

    body.navshown #secondary .hamburger:before {
        background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path fill="%23FFFFFF" d="M10.4,12l-9.6,9.6l1.6,1.6l9.6-9.6l9.6,9.6l1.6-1.6L13.6,12l9.6-9.6l-1.6-1.6L12,10.4L2.4,0.8L0.8,2.4 L10.4,12z"/></svg>')
    }

    body.navshown a#showsearch {
        border: 2px solid #fff
    }

    body.navshown a#showsearch:before {
        background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path fill="%23FFFFFF" d="M14,0.1c-5.5,0-9.9,4.5-9.9,9.9c0,2.4,0.8,4.6,2.2,6.3l-6.3,6.3l1.4,1.4l6.3-6.3c1.7,1.4,3.9,2.2,6.3,2.2 c5.5,0,9.9-4.5,9.9-9.9C23.9,4.5,19.5,0.1,14,0.1z M14,16.9c-3.8,0-6.9-3.1-6.9-6.9s3.1-6.9,6.9-6.9c3.8,0,6.9,3.1,6.9,6.9 S17.8,16.9,14,16.9z"/></svg>')
    }
}

@media all and (min-width: 900px) {
    #mainmenu .translate,#mainmenu #toplinks {
        display:none !important
    }

    #mainmenu {
        border-bottom: 1px solid #6f6f6f
    }

    #mainmenu .wrapper {
        display: flex;
        position: static !important
    }

    #mainmenu>.wrapper:first-child>ul {
        display: flex;
        justify-content: space-between;
        width: 100%
    }

    #mainmenu>.wrapper:first-child>ul>li>a:focus-visible>span {
        box-shadow: 0 0 0 2px #fff,0 0 0 4px var(--orange);
        border-radius: 4px
    }

    #mainmenu .wrapper>ul>li>div {
        visibility: hidden;
        opacity: 0;
        transition: opacity .25s ease-out;
        position: absolute;
        z-index: 20;
        left: 0;
        top: 100%;
        top: calc(100% - 1px);
        width: 100%;
        padding: calc(var(--unit)*2);
        padding-left: 0;
        padding-right: 0;
        border-bottom: 4px solid var(--menu-orange);
        background: #fff;
        box-shadow: 0px 0px 0px 0px rgba(0,0,0,.1),0px 21px 46px 0px rgba(0,0,0,.1),0px 83px 83px 0px rgba(0,0,0,.09),0px 186px 112px 0px rgba(0,0,0,.05),0px 331px 132px 0px rgba(0,0,0,.01),0px 518px 145px 0px rgba(0,0,0,.0)
    }

    #mainmenu .wrapper>ul>li>div:before {
        content: "";
        display: block;
        height: 1px;
        width: 100%;
        background: #6f6f6f;
        position: absolute;
        top: 0;
        left: 0;
        pointer-events: none;
        z-index: 2
    }

    @keyframes opensubmenu {
        0% {
            -webkit-transform: scale(0);
            transform: scale(0)
        }

        50% {
            opacity: 1;
            -webkit-transform: none;
            transform: none
        }
    }

    #mainmenu .wrapper>ul>li:hover>div,#mainmenu .wrapper>ul>li>div:hover,#mainmenu .wrapper>ul>li.active>div {
        visibility: visible;
        opacity: 1;
        transition: opacity .25s ease-in
    }

    #mainmenu div.overview {
        width: var(--grid-third);
        margin-right: var(--gutter);
        position: relative
    }

    #mainmenu div.overview+ul {
        width: var(--grid-twothirds);
        column-count: 2;
        column-gap: var(--gutter);
        position: relative
    }

    #mainmenu div.overview+ul>li {
        break-inside: avoid-column
    }

    #mainmenu div.overview:after,#mainmenu div.overview+ul:after {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        height: 100%;
        width: 1px;
        background: rgba(102,102,102,.2)
    }

    #mainmenu div.overview:after {
        left: calc(100% + 15px)
    }

    #mainmenu div.overview+ul:after {
        left: calc(50% - 7.5px)
    }

    #mainmenu div.overview p {
        font-size: 17px;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: .01em;
        margin: 1em 0
    }
}

#mainmenu div.overview>p:first-child {
    font-family: 'Source Serif Pro',serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 38px;
    letter-spacing: .01em;
    margin: 0 0 .5em
}

h3>a,h2.h2>a,#mainmenu div.overview>p:first-child a {
    color: inherit
}

h3>a:focus-visible,h2.h2>a:focus-visible,#mainmenu div.overview>p:first-child a:focus-visible {
    box-shadow: 0 0 0 1px #fff,0 0 0 3px var(--orange);
    border-radius: 2px
}

#mainmenu li .wrapper>ul>li {
    padding: 12px 8px;
    font-size: 14px;
    line-height: 140%
}

@media all and (max-width: 899px) {
    #mainmenu div.overview div {
        display:none !important
    }

    #mainmenu li .wrapper>ul>li {
        padding: 0;
        margin: 24px 0
    }
}

#mainmenu li .wrapper>ul>li strong {
    font-weight: 700;
    font-size: 16px;
    line-height: 120%;
    margin-bottom: .25em
}

#mainmenu li .wrapper>ul>li strong:after {
    transition: all .2s ease;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 1.25em;
    height: 1em;
    display: inline-block;
    content: "\00A0";
    margin-left: .25em;
    position: relative;
    top: .2em;
    background-image: url('data:image/svg+xml;utf8, <svg fill="%23111B29" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><path d="M11.8,14.9l-1.2-1.2l3-3H3.5V9h10.1l-3-3l1.2-1.2l5,5L11.8,14.9z"/></svg> ')
}

#mainmenu li .wrapper>ul>li a:hover strong:after {
    margin-left: .75em
}

#mainmenu li .wrapper>ul>li a>span {
    padding-top: .25em;
    display: inline-block
}

#mainmenu li .wrapper>ul>li a {
    color: var(--black)
}

#mainmenu li .wrapper>ul>li li a:focus-visible,#mainmenu li .wrapper>ul>li a:focus-visible strong:first-child {
    box-shadow: 0 0 0 1px #fff,0 0 0 3px var(--orange);
    border-radius: 2px
}

#mainmenu li .wrapper>ul>li ul {
    padding: .5em 8px 0
}

#mainmenu li .wrapper>ul>li li {
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
    margin: .75em 0
}

#mainmenu li .wrapper>ul>li li a {
    color: var(--menu-blue)
}

#mainmenu li .wrapper>ul>li li a:hover {
    color: var(--black)
}

h3>a,h2.h2>a,#mainmenu div.overview>p:first-child a,#mainmenu li .wrapper>ul>li li a,#mainmenu li .wrapper>ul>li a>strong:first-child {
    transition: all .2s ease;
    cursor: pointer;
    text-decoration: none;
    padding: 2px 0;
    background-image: linear-gradient(var(--blue),var(--blue)),linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
    background-position: 0 100%,0 100%;
    background-repeat: no-repeat,no-repeat;
    background-size: 0 2px,100% 2px;
    transition: background-size .3s
}

h3>a:hover,h2.h2>a:hover,#mainmenu div.overview>p:first-child a:hover,#mainmenu li .wrapper>ul>li li a:hover,#mainmenu li .wrapper>ul>li a:hover>strong:first-child {
    background-size: 100% 2px,100% 2px
}

h2.h2>a,#mainmenu div.overview>p:first-child a {
    padding: 2px 0 4px;
    background-size: 0 4px,100% 4px;
    background-image: linear-gradient(var(--orange),var(--orange)),linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0))
}

h3>a {
    padding: 0;
    background-size: 0 4px,100% 4px
}

h2.h2>a {
    padding: 0
}

h3>a:hover,h2.h2>a:hover,#mainmenu div.overview>p:first-child a:hover {
    background-size: 100% 4px,100% 4px
}

#mainmenu>.wrapper>ul:not(#toplinks)>li {
    font-size: 18px;
    line-height: 21px
}

#mainmenu>.wrapper>ul:not(#toplinks)>li>a {
    font-weight: 600;
    display: block;
    position: relative;
    color: var(--nav-blue);
    padding-bottom: 20px
}

#mainmenu>.wrapper>ul:not(#toplinks)>li.active>a,#mainmenu>.wrapper ul:not(#toplinks)>li>a.current,#mainmenu>.wrapper ul:not(#toplinks)>li>a:hover,#mainmenu>.wrapper ul:not(#toplinks)>li:hover>a {
    color: var(--black)
}

#mainmenu>.wrapper ul:not(#toplinks)>li>a>span {
    display: flex;
    align-items: center
}

#mainmenu>.wrapper>ul>li>a>span:after {
    content: "";
    margin-left: .333em;
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><polygon fill="%23535A63" points="10,15.4 1.3,6.7 2.7,5.3 10,12.6 17.3,5.3 18.7,6.7 	"/></svg>');
    transition: all .2s ease
}

#mainmenu>.wrapper>ul:not(#toplinks)>li.active>a span:after,#mainmenu>.wrapper>ul:not(#toplinks)>li>a.current span:after,#mainmenu>.wrapper>ul:not(#toplinks)>li>a:hover span:after {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><polygon fill="%23111B29" points="10,15.4 1.3,6.7 2.7,5.3 10,12.6 17.3,5.3 18.7,6.7 	"/></svg>')
}

@media all and (min-width: 900px) {
    #mainmenu>.wrapper>ul:not(#toplinks)>li.active>a span:after,#mainmenu>.wrapper>ul:not(#toplinks)>li:hover>a span:after {
        transform:rotate(180deg)
    }

    #mainmenu>.wrapper>ul>li>a:before {
        position: absolute;
        pointer-events: none;
        bottom: 0;
        left: 0;
        content: "";
        display: block;
        width: 0;
        height: 4px;
        background: var(--orange);
        transition: all .2s ease
    }

    #mainmenu>.wrapper>ul>li.active>a:before,#mainmenu>.wrapper>ul>li>a.current:before,#mainmenu>.wrapper>ul>li:hover>a:before {
        width: 100%
    }

    #mainmenu>.wrapper>ul>li.active>a:after {
        display: block;
        content: "";
        position: absolute;
        bottom: -2px;
        transform: translateX(-50%);
        left: 50%;
        width: calc(110% + 36px);
        height: calc(100% + 10px)
    }
}

@media all and (min-width: 1000px) {
    #mainmenu>.wrapper>ul>li.active>a:after {
        width:calc(110% + 56px)
    }
}

@media all and (min-width: 1100px) {
    #mainmenu>.wrapper>ul>li.active>a:after {
        width:calc(110% + 96px)
    }
}

@media all and (min-width: 1200px) {
    #mainmenu>.wrapper>ul>li.active>a:after {
        width:calc(110% + 128px)
    }
}

@media all and (min-width: 1300px) {
    #mainmenu>.wrapper>ul>li.active>a:after {
        width:calc(110% + 156px)
    }
}

@media all and (max-width: 899px) {
    body.navshown {
        overflow:hidden
    }

    #mainmenu {
        background: #fff;
        visibility: hidden;
        position: absolute;
        transform: translateX(-100%);
        transition: all .2s ease;
        max-height: calc(100vh - var(--masthead-height));
        min-height: calc(100vh - var(--masthead-height))
    }

    #menuholder {
        visibility: hidden;
        position: relative
    }

    #menuholder .hamburger {
        position: absolute;
        top: -64px;
        right: 32px;
        border: 2px solid #fff
    }

    body.navshown #menuholder .hamburger:before {
        background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path fill="%23FFFFFF" d="M10.4,12l-9.6,9.6l1.6,1.6l9.6-9.6l9.6,9.6l1.6-1.6L13.6,12l9.6-9.6l-1.6-1.6L12,10.4L2.4,0.8L0.8,2.4 L10.4,12z"/></svg>')
    }

    body.navshown #menuholder {
        visibility: visible;
        z-index: 100
    }

    body.navshown #mainmenu {
        opacity: 1;
        visibility: visible;
        display: block;
        transform: none;
        overflow: auto
    }

    #masthead {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%
    }

    body.navshown #masthead {
        background: var(--hero-blue)
    }

    body.searchshown #masthead {
        background: var(--search-blue)
    }

    body.navshown #masthead #logo svg path {
        fill: #fff !important
    }

    #mainmenu .wrapper {
        border: none !important
    }

    #mainmenu .wrapper>ul#toplinks>li {
        margin: 16px 0
    }

    #mainmenu .wrapper>ul>li>div {
        max-height: 0;
        overflow: hidden;
        visibility: hidden;
        transition: all .5s ease;
        background: var(--light-blue);
        position: relative
    }

    #mainmenu .wrapper>ul>li>div>div.wrapper {
        padding: 32px 40px 24px
    }

    #mainmenu .wrapper>ul>li>div:after {
        height: 4px;
        width: 100%;
        background-color: var(--menu-orange);
        display: block;
        content: "";
        position: absolute;
        bottom: 0;
        left: 0
    }

    #mainmenu .wrapper>ul>li.active>div {
        max-height: 1000px;
        visibility: visible
    }

    #mainmenu .wrapper>ul:first-child {
        padding-left: 16px;
        padding-right: 16px
    }

    #mainmenu .wrapper>ul#menu>li>a {
        padding: 24px 40px
    }

    #mainmenu .wrapper>ul#menu>li>a {
        display: block;
        border-bottom: 1px solid rgba(102,102,102,.2)
    }

    #mainmenu>.wrapper>ul>li>a span:after {
        margin-left: auto
    }

    #mainmenu>.wrapper>ul:not(#toplinks)>li.active>a span:after {
        transform: rotate(180deg);
        background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><polygon fill="%23FFFFFF" points="10,15.4 1.3,6.7 2.7,5.3 10,12.6 17.3,5.3 18.7,6.7 	"/></svg>')
    }

    #mainmenu>.wrapper>ul:not(#toplinks)>li.active>a {
        background: var(--hero-blue);
        color: #fff
    }

    #mainmenu>.wrapper ul:not(#toplinks)>li>a:focus-visible>span:first-child {
        box-shadow: 0 0 0 2px #fff,0 0 0 4px var(--orange);
        border-radius: 4px
    }

    #mainmenu>.wrapper ul:not(#toplinks)>li.active>a:focus-visible>span:first-child {
        box-shadow: 0 0 0 2px var(--hero-blue),0 0 0 4px var(--orange);
        border-radius: 4px
    }

    #mainmenu>.wrapper>ul>li.active>div:before {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 40px;
        width: 0;
        height: 0;
        border-left: 14px solid transparent;
        border-right: 14px solid transparent;
        border-top: 20px solid var(--hero-blue)
    }

    #mainmenu div.overview>p:first-child {
        font-size: 26px;
        line-height: 32px
    }

    #mainmenu div.overview>p:first-child a {
        display: flex
    }

    #mainmenu div.overview>p:first-child a:after {
        transition: all .2s ease;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        width: 32px;
        height: 1em;
        display: inline-block;
        content: "";
        margin-left: auto;
        position: relative;
        top: .2em;
        background-image: url('data:image/svg+xml;utf8, <svg fill="%23454545" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><path d="M11.8,14.9l-1.2-1.2l3-3H3.5V9h10.1l-3-3l1.2-1.2l5,5L11.8,14.9z"/></svg> ')
    }
}

@media all and (max-width: 599px) {
    #menuholder .hamburger {
        right:16px
    }
}

#pageheader {
    display: block;
    width: 100%;
    background-color: var(--hero-blue);
    color: #fff;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column
}

body:is([class*=template_news],.blog) #pageheader>.wrapper,#pageheader>.wrapper {
    padding: calc(64px + 12px) 0
}

#pageheader #authors .wrapper,#pageheader>.wrapper:last-child {
    padding: calc(64px + 12px) 0 calc(128px + 24px)
}

#pageheader>.breadcrumbs+.wrapper {
    padding-top: 48px
}

#pageheader #authors {
    background: var(--mid-blue);
    color: var(--black);
    border-color: var(--mid-blue) !important
}

body.home #pageheader {
    background: var(--bg);
    color: var(--black)
}

body:is([class*=template_news],.single-post,.blog) #pageheader {
    background: var(--purple)
}

#pageheader>div ul li {
    list-style: disc
}

#pageheader>div ul ul li {
    list-style: circle;
    margin-top: .5em
}

#pageheader>div ul ul ul li {
    list-style: disc
}

#pageheader>div ol li {
    list-style: decimal
}

#pageheader>div ol ol li {
    list-style: lower-latin;
    margin-top: .5em
}

#pageheader>div ol ol li {
    list-style: lower-roman
}

#pageheader>div ul,#pageheader>div ol {
    margin: 0 0 2rem
}

#pageheader>div li:not(:last-child) {
    margin-bottom: .5em
}

#pageheader>div li,#pageheader p {
    font-size: 24px;
    line-height: 140%;
    max-width: 25em
}

#pageheader p:not(:last-child) {
    margin-bottom: 1em
}

body:not(.home) #pageheader p.cta a {
    color: inherit;
    background-color: inherit;
    border-color: currentColor
}

body:not(.home) #pageheader p.cta a:hover {
    color: var(--black);
    background-color: #fff;
    border-color: #fff
}

body:not(.home) #pageheader p.cta a:focus-visible {
    box-shadow: 0 0 0 3px var(--hero-blue),0 0 0 5px var(--orange)
}

body.home #pageheader p.cta a {
    border-color: var(--cta-blue);
    background-color: var(--cta-blue);
    color: #fff
}

body.home #pageheader p.cta a:hover {
    color: var(--black);
    background-color: #fff;
    border-color: var(--cta-blue)
}

body.home #pageheader p.cta a:focus-visible {
    box-shadow: 0 0 0 3px var(--bg),0 0 0 5px var(--orange)
}

#pageheader .wrapper>div:not(.textcontent) {
    margin: 0 auto;
    width: 100%;
    max-width: 1088px;
    padding: 0 24px
}

#pageheader+div>.wrapper>.textcontent {
    margin-top: 24px
}

#pageheader p:not(.cta) a {
    transition: all .2s ease;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    color: inherit;
    background-image: linear-gradient(#fff,#fff),linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
    background-position: 0 100%,0 100%;
    background-repeat: no-repeat,no-repeat;
    background-size: 0 1px,100% 1px;
    transition: background-size .2s;
    background-size: 100% 1px,100% 1px
}

#pageheader p:not(.cta) a:hover {
    background-size: 100% 100%,100% 100%;
    color: var(--black)
}

#pageheader p:not(.cta) a:focus-visible {
    box-shadow: 0 0 0 1px var(--hero-blue),0 0 0 3px var(--orange);
    border-radius: 2px
}

#pageheader #authors :not(.cta) a:focus-visible {
    box-shadow: 0 0 0 1px var(--mid-blue),0 0 0 3px var(--orange);
    border-radius: 2px
}

@media all and (min-width: 1200px) {
    #pageheader+.content>div:first-child:not(#anchors):not(.wrapper),#pageheader+.content>div#anchors:first-child+div.section {
        margin-top:-64px
    }
}

@media all and (max-width: 1199px) {
    #pageheader+.content>div:first-child:not(.wrapper) {
        margin-top:-64px
    }
}

@media all and (max-width: 899px) {
    #pageheader+div>.wrapper>.textcontent {
        margin-top:0
    }

    #pageheader>.wrapper {
        padding: 48px 0 calc(48px + 12px)
    }

    #pageheader #authors .wrapper,#pageheader>.wrapper:last-child {
        padding: 48px 0 calc((48px*2) + 24px)
    }

    #pageheader>.breadcrumbs+.wrapper {
        padding-top: 48px
    }

    body:is([class*=template_news],.blog) #pageheader>.wrapper {
        padding: 48px 0
    }

    #pageheader+.content>div:first-child:not(.wrapper) {
        margin-top: -48px
    }

    #pageheader li,#pageheader p {
        font-size: 21px
    }
}

@media all and (max-width: 599px) {
    #pageheader>.wrapper {
        padding:32px 0 calc(32px + 8px)
    }

    #pageheader #authors .wrapper,#pageheader>.wrapper:last-child {
        padding: 32px 0 calc((32px*2) + 12px)
    }

    #pageheader>.breadcrumbs+.wrapper {
        padding-top: 32px
    }

    body:is([class*=template_news],.blog) #pageheader>.wrapper {
        padding: 32px 0
    }
}

#heroimage:has(img) {
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 50%;
    position: relative;
    overflow: hidden
}

#heroimage picture {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

#heroimage picture img {
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover
}

@media all and (max-width: 899px) {
    #heroimage:has(img) {
        padding-bottom:75%
    }
}

#footer {
    color: #fff
}

#footer ul {
    margin-bottom: 12px
}

#footer li,#footer p {
    font-size: 16px;
    line-height: 19px;
    margin-bottom: .75em
}

#footer p {
    line-height: 140%;
    max-width: 30em;
    max-width: 23em
}

#footer h3,#footer h2,#footer #footernav .wrapper>ul>li>a {
    display: inline-block;
    font-size: 22px;
    line-height: 27px;
    font-weight: 700;
    margin-bottom: 12px
}

#footer a {
    color: inherit
}

#footer a#backtotop:focus-visible span span,#footer a:not(#backtotop):focus-visible {
    box-shadow: 0 0 0 1px #fff,0 0 0 3px var(--orange);
    border-radius: 2px
}

#footer a#backtotop:focus-visible span span {
    box-shadow: 0 0 0 1px var(--menu-blue),0 0 0 3px var(--orange)
}

#footer>div#footernav a:focus-visible {
    box-shadow: 0 0 0 1px var(--footer-1),0 0 0 3px var(--orange)
}

#footer>div#footerinfo a:focus-visible {
    box-shadow: 0 0 0 1px var(--footer-2),0 0 0 3px var(--orange)
}

#footer>div#footernav {
    background: var(--footer-1);
    color: #fff;
    border: 1px solid transparent;
    padding-bottom: var(--wrapper-margin)
}

#footer>div#footerinfo {
    background: var(--footer-2);
    padding: var(--wrapper-margin) 0
}

#footer>div#footerinfo .wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

#footer>div#footerinfo .wrapper>div {
    width: calc(25% - (64px*0.75));
    width: calc(25% - 16px)
}

#footer>div#footerinfo svg {
    width: 198px;
    min-width: 198px;
    height: 70px;
    display: block
}

#footer>div#footerinfo>.wrapper>div:first-child>p:first-child {
    margin: 0 0 1em
}

#footer>div#footerinfo>.wrapper>div:first-child>p:first-child>a {
    display: inline-block
}

#footer>div#footerinfo svg path {
    fill: #fff
}

#footer>div#footerinfo a {
    position: relative;
    display: inline-block;
    transition: all .2s ease-in-out
}

#footer>div#footerinfo p.logo a:hover {
    opacity: .7
}

#footer>div#footerinfo p:not(.logo) a:before {
    content: '';
    background-color: rgba(255,255,255,.5);
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    z-index: -1;
    transition: all .2s ease-in-out
}

#footer>div#footerinfo p:not(.logo) a:hover {
    color: var(--footer-2)
}

#footer>div#footerinfo p:not(.logo) a:hover:before {
    background-color: rgba(255,255,255,1);
    bottom: 0;
    height: 100%
}

#bottom a {
    color: var(--link)
}

#bottom ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: var(--unit) 0
}

#bottom ul li {
    margin: .5em var(--gutter) .5em 0
}

@media all and (min-width: 900px) {
    #footer #footernav .wrapper>ul {
        column-count:3;
        column-gap: var(--gutter);
        column-gap: var(--wrapper-margin)
    }

    #footer #footernav .wrapper>ul>li {
        break-inside: avoid-column;
        padding: 64px 0 0
    }
}

@media all and (min-width: 1200px) {
    #footer>div#footerinfo .wrapper>div:nth-child(2),#footer>div#footerinfo .wrapper>div:nth-child(3) {
        width:calc(var(--grid-sixth) + var(--wrapper-margin))
    }
}

@media all and (min-width: 1500px) {
    #footer>div#footerinfo .wrapper>div:nth-child(2),#footer>div#footerinfo .wrapper>div:nth-child(3) {
        width:calc(var(--grid-sixth) + var(--gutter))
    }
}

@media all and (max-width: 1199px) {
    #footer>div#footerinfo .wrapper>div {
        width:calc(50% - 32px);
        width: calc(50% - (var(--gutter)/2))
    }

    #footer>div#footerinfo .wrapper>div:first-child,#footer>div#footerinfo .wrapper>div:nth-child(2) {
        margin-bottom: 32px
    }
}

@media all and (max-width: 899px) {
    #footer #footernav .wrapper>ul {
        column-count:2;
        column-gap: var(--wrapper-margin)
    }

    #footer #footernav .wrapper>ul>li {
        break-inside: avoid-column;
        padding: var(--wrapper-margin) 0 0
    }

    #footer .wrapper {
        border-width: 40px
    }

    #footer h3 {
        font-size: 18px;
        line-height: 25px
    }

    #footer li,#footer p {
        font-size: 14px
    }

    #footer li {
        line-height: 17px
    }
}

@media all and (max-width: 599px) {
    #footer p {
        max-width:113em
    }

    #footer #footernav .wrapper>ul {
        column-count: 1
    }

    #footer #footernav .wrapper>ul>li {
        padding: 32px 0 0
    }

    #footer>div#footernav {
        padding-bottom: 32px
    }

    #footer>div#footerinfo {
        padding: 32px 0
    }

    #footer>div#footerinfo .wrapper>div {
        width: 100%
    }

    #footer>div#footerinfo .wrapper>div:not(:last-child) {
        margin-bottom: 32px
    }

    #bottom ul li {
        width: calc(50% - 16px);
        margin-right: 32px
    }

    #bottom ul li:nth-child(2n+2) {
        margin-right: 0
    }
}

.intro p:not(.cta) {
    font-size: 20px;
    margin-bottom: 1em;
    line-height: 130%
}

.intro :last-child {
    margin-bottom: 0 !important
}

@media all and (max-width: 899px) {
    .intro p:not(.cta) {
        font-size:19px
    }
}

.breadcrumbs {
    color: #fff
}

.breadcrumbs a {
    color: inherit
}

.breadcrumbs ul {
    display: flex;
    align-items: flex-end;
    font-size: 16px;
    padding: 24px 0
}

.breadcrumbs ul li {
    font-size: inherit;
    line-height: 19px;
    font-weight: 400;
    color: inherit
}

.breadcrumbs ul li:not(:last-child):after {
    content: "\2022";
    padding: 0 .75em;
    font-weight: inherit
}

.breadcrumbs a {
    transition: all .2s ease;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    background-image: linear-gradient(#fff,#fff),linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
    background-position: 0 100%,0 100%;
    background-repeat: no-repeat,no-repeat;
    background-size: 0 1px,100% 1px;
    transition: background-size .2s
}

.breadcrumbs a {
    background-size: 100% 1px,100% 1px
}

.breadcrumbs a:hover {
    background-size: 100% 100%,100% 100%;
    color: var(--black)
}

.breadcrumbs a:focus-visible {
    box-shadow: 0 0 0 1px var(--hero-blue),0 0 0 3px var(--orange);
    border-radius: 2px
}

@media all and (max-width: 899px) {
    .breadcrumbs {
        display:none
    }
}

#search {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    border-top: 59px solid transparent;
    pointer-events: none;
    visibility: hidden
}

body.searchshown #search {
    visibility: visible;
    opacity: 1
}

#search>div {
    padding-left: 220px
}

#search>.wrapper>div {
    display: flex;
    justify-content: flex-end;
    pointer-events: auto
}

#search form {
    opacity: 0;
    font-family: inherit;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    z-index: 9999;
    pointer-events: auto;
    transition: all .3s ease;
    transform: translateX(48px)
}

body.searchshown #search form {
    opacity: 1;
    transform: none;
    transition: all .3s ease
}

#search form div {
    background: #fff;
    border: 2px solid var(--black);
    border-radius: 300px;
    padding: 4px 12px 4px 16px;
    height: 56px
}

#search form label:after {
    content: attr(data-text)
}

#search form label {
    color: var(--black);
    margin-right: 1em
}

#search form label,#search form div input {
    font-size: 17px
}

#search form div input {
    height: 44px;
    outline: none;
    background: 0 0;
    padding: 0;
    border: none;
    font-weight: 600 !important;
    font-family: inherit
}

#search form div input:focus-visible {
    box-shadow: 0 0 0 2px #fff,0 0 0 4px var(--orange);
    border-radius: 2px
}

#search form div input[type=text] {
    min-width: 400px;
    padding: 0 4px
}

#search form div input[type=submit] {
    cursor: pointer;
    text-indent: -999px;
    width: 40px;
    background-size: 24px 24px;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path fill="%23111B29" d="M14,0.1c-5.5,0-9.9,4.5-9.9,9.9c0,2.4,0.8,4.6,2.2,6.3l-6.3,6.3l1.4,1.4l6.3-6.3c1.7,1.4,3.9,2.2,6.3,2.2 c5.5,0,9.9-4.5,9.9-9.9C23.9,4.5,19.5,0.1,14,0.1z M14,16.9c-3.8,0-6.9-3.1-6.9-6.9s3.1-6.9,6.9-6.9c3.8,0,6.9,3.1,6.9,6.9 S17.8,16.9,14,16.9z"/></svg>')
}

#search form div input[type=submit]:hover {
    opacity: .7
}

#closesearch {
    max-width: 56px;
    margin-left: var(--unit);
    pointer-events: auto
}

@media all and (max-width: 1199px) {
    #search form div input[type=text] {
        min-width:360px
    }
}

@media all and (max-width: 1099px) {
    #search form div input[type=text] {
        min-width:320px
    }
}

@media all and (max-width: 999px) {
    #search form div input[type=text] {
        min-width:280px
    }
}

@media all and (max-width: 899px) {
    body.searchshown #search {
        z-index:99
    }

    #search {
        border-top: none;
        padding: 16px 0;
        height: 82px;
        background-color: #fff;
        display: flex;
        align-content: center;
        align-items: center;
        background: var(--search-blue);
        color: #fff
    }

    #search>div {
        padding-left: 0
    }

    #search .wrapper {
        display: flex
    }

    #search .wrapper>div,#search .wrapper>div>form,#search .wrapper>div>form>div {
        flex: 1;
        display: flex
    }

    #search form div {
        background: var(--search-blue);
        color: #fff;
        border: 2px solid #fff;
        border-radius: 300px;
        padding: 2px 8px 2px 16px;
        height: 46px
    }

    #search form label:after {
        content: attr(data-mobile)
    }

    #search form label,#search form div input {
        font-size: 16px;
        color: #fff
    }

    #search form div input {
        height: 34px;
        height: 38px
    }

    #search form div input[type=text] {
        min-width: 10px;
        flex: 1;
        padding: 0 4px;
        font-weight: 400 !important
    }

    #search form div input[type=submit] {
        background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path fill="%23FFFFFF" d="M14,0.1c-5.5,0-9.9,4.5-9.9,9.9c0,2.4,0.8,4.6,2.2,6.3l-6.3,6.3l1.4,1.4l6.3-6.3c1.7,1.4,3.9,2.2,6.3,2.2 c5.5,0,9.9-4.5,9.9-9.9C23.9,4.5,19.5,0.1,14,0.1z M14,16.9c-3.8,0-6.9-3.1-6.9-6.9s3.1-6.9,6.9-6.9c3.8,0,6.9,3.1,6.9,6.9 S17.8,16.9,14,16.9z"/></svg>')
    }

    body.searchshown a#closesearch {
        border: 2px solid #fff
    }

    body.searchshown a#closesearch:hover {
        background: var(--black)
    }

    body.searchshown a#closesearch:before {
        background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path fill="%23FFFFFF" d="M10.4,12l-9.6,9.6l1.6,1.6l9.6-9.6l9.6,9.6l1.6-1.6L13.6,12l9.6-9.6l-1.6-1.6L12,10.4L2.4,0.8L0.8,2.4 L10.4,12z"/></svg>')
    }

    body.searchshown #search form div input:focus-visible {
        box-shadow: 0 0 0 2px var(--search-blue),0 0 0 4px var(--orange)
    }

    body.searchshown a#closesearch:focus-visible {
        box-shadow: 0 0 0 3px var(--search-blue),0 0 0 5px var(--orange)
    }

    #searchpageform ::placeholder,#search form ::placeholder {
        color: #fff;
        opacity: 1
    }

    #searchpageform:-ms-input-placeholder,#search form:-ms-input-placeholder {
        color: #fff
    }

    #searchpageform ::-ms-input-placeholder,#search form ::-ms-input-placeholder {
        color: #fff
    }
}

ul.social {
    width: calc(100% + 16px)
}

ul.social li {
    display: inline-block;
    position: relative;
    line-height: 1;
    margin: 0 1em 0 0
}

#footer ul.social li {
    font-size: 16px
}

ul.social li a {
    display: block;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    margin: 0 auto !important;
    transition: all .2s ease;
    padding: .0833333333333333rem;
    background: 0 0 !important
}

.social a:before {
    content: "";
    display: block;
    width: 36px;
    height: 36px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat
}

.social a[href*=facebook]:before {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve"><path fill="white" d="M18,0.1c-9.9,0-18,8.1-18,18c0,9,6.6,16.5,15.2,17.8V23.3h-4.6v-5.2h4.6v-4c0-4.5,2.7-7,6.8-7c2,0,4,0.3,4,0.3 v4.4h-2.3c-2.2,0-2.9,1.4-2.9,2.8v3.4h5L25,23.3h-4.2v12.6c4.2-0.7,8.1-2.8,10.9-6.1c2.8-3.3,4.3-7.4,4.3-11.7 C36,8.2,27.9,0.1,18,0.1z"/></svg>')
}

.social a[href*=twitter]:before,.social a[href*="x."]:before {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve"> <path fill="white" d="M21.1,15.4L33.4,2.1h-3L19.8,13.6L11.2,2.1H1.1l13.1,17.6L1,33.9h3l11.6-12.5l9.3,12.5H35L21.1,15.4z M5.5,4.3h4.6 l20.5,27.4H26L5.5,4.3z"/></svg>')
}

.social a[href*=insta]:before {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve"><path fill="white" d="M10.4,0h15.1C31.3,0,36,4.7,36,10.4v15.1c0,2.8-1.1,5.4-3.1,7.4S28.3,36,25.6,36H10.4C4.7,36,0,31.3,0,25.6 V10.4C0,7.7,1.1,5,3.1,3.1S7.7,0,10.4,0z M10.1,3.6c-1.7,0-3.4,0.7-4.6,1.9c-1.2,1.2-1.9,2.9-1.9,4.6v15.8c0,3.6,2.9,6.5,6.5,6.5 h15.8c1.7,0,3.4-0.7,4.6-1.9c1.2-1.2,1.9-2.9,1.9-4.6V10.1c0-3.6-2.9-6.5-6.5-6.5H10.1z M27.5,6.3C28,6.3,28.6,6.5,29,7 c0.4,0.4,0.7,1,0.7,1.6s-0.2,1.2-0.7,1.6c-0.4,0.4-1,0.7-1.6,0.7c-0.6,0-1.2-0.2-1.6-0.7c-0.4-0.4-0.7-1-0.7-1.6s0.2-1.2,0.7-1.6 C26.3,6.5,26.9,6.3,27.5,6.3z M18,9c2.4,0,4.7,0.9,6.4,2.6c1.7,1.7,2.6,4,2.6,6.4s-0.9,4.7-2.6,6.4c-1.7,1.7-4,2.6-6.4,2.6 s-4.7-0.9-6.4-2.6C9.9,22.7,9,20.4,9,18s0.9-4.7,2.6-6.4C13.3,9.9,15.6,9,18,9z M18,12.6c-1.4,0-2.8,0.6-3.8,1.6s-1.6,2.4-1.6,3.8  s0.6,2.8,1.6,3.8c1,1,2.4,1.6,3.8,1.6s2.8-0.6,3.8-1.6c1-1,1.6-2.4,1.6-3.8s-0.6-2.8-1.6-3.8C20.8,13.2,19.4,12.6,18,12.6z"/></svg>    ')
}

.social a[href*=linkedin]:before {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve"><path fill="white" d="M32,0c1.1,0,2.1,0.4,2.8,1.2C35.6,1.9,36,2.9,36,4v28c0,1.1-0.4,2.1-1.2,2.8C34.1,35.6,33.1,36,32,36H4    c-1.1,0-2.1-0.4-2.8-1.2C0.4,34.1,0,33.1,0,32V4c0-1.1,0.4-2.1,1.2-2.8C1.9,0.4,2.9,0,4,0H32z M31,31V20.4c0-1.7-0.7-3.4-1.9-4.6    c-1.2-1.2-2.9-1.9-4.6-1.9c-1.7,0-3.7,1-4.6,2.6v-2.2h-5.6V31h5.6v-9.9c0-1.5,1.2-2.8,2.8-2.8c0.7,0,1.5,0.3,2,0.8    c0.5,0.5,0.8,1.2,0.8,2V31H31z M7.8,11.1c0.9,0,1.7-0.4,2.4-1c0.6-0.6,1-1.5,1-2.4c0-1.9-1.5-3.4-3.4-3.4c-0.9,0-1.8,0.4-2.4,1    s-1,1.5-1,2.4C4.4,9.6,5.9,11.1,7.8,11.1z M10.5,31V14.3H5V31H10.5z"/>    </svg>')
}

.social a[href*=vimeo]:before {
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"    viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve">    <path fill="white" d="M35.6,9.8c-0.2,3.4-2.5,8.1-7.2,14.1c-4.8,6.3-8.8,9.3-12.2,9.3c-2,0-3.8-1.9-5.2-5.7c-1-3.4-1.8-6.9-2.8-10.4    c-1.1-3.8-2.2-5.7-3.4-5.7c-0.2,0-1.2,0.6-2.7,1.7L0.4,11c1.8-1.5,3.4-3.1,5.1-4.6c2.3-2,4.1-3.1,5.2-3.2c2.7-0.3,4.4,1.6,5.1,5.6    c0.7,4.3,1.2,7,1.4,8.1c0.8,3.6,1.6,5.3,2.6,5.3c0.7,0,1.8-1.1,3.3-3.5c1.5-2.3,2.3-4.1,2.4-5.3c0.2-2-0.6-3-2.4-3    c-0.8,0-1.7,0.2-2.6,0.6c1.7-5.7,5-8.4,9.9-8.3C34.1,2.9,35.8,5.2,35.6,9.8z"/>    </svg>')
}

.social li a:hover {
    opacity: .7
}

#backtotop {
    display: block;
    background: var(--menu-blue);
    font-size: 21px;
    line-height: 1.2;
    padding: var(--unit) 0
}

#backtotop>span {
    display: flex;
    justify-content: flex-end;
    align-items: center
}

#backtotop>span>span {
    position: relative;
    margin-left: .5em
}

#backtotop>span>span:before {
    content: '';
    background-color: rgba(255,255,255,.5);
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    z-index: -1;
    transition: all .2s ease-in-out
}

#backtotop:hover>span>span {
    color: var(--footer-2)
}

#backtotop:hover>span>span:before {
    background-color: rgba(255,255,255,1);
    bottom: 0;
    height: calc(100% - 1px)
}

#backtotop>span:before {
    width: 16px;
    min-width: 16px;
    height: 16px;
    display: inline-block;
    content: "";
    float: left;
    transition: all .2s ease;
    position: relative;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"><path fill="white" d="M7,16V3.8L1.4,9.4L0,8l8-8l8,8l-1.4,1.4L9,3.8V16H7z"/></svg>')
}

#backtotop:hover>span:before {
    transform: translateY(-4px)
}

@media all and (max-width: 899px) {
    #backtotop {
        font-size:16px
    }
}

#anchors p,#anchors li {
    color: var(--black);
    font-size: 14px;
    line-height: 18px
}

#anchors p {
    font-weight: 700;
    padding: 12px
}

#anchors li a {
    display: block;
    position: relative;
    color: #525252;
    font-weight: 600;
    border-bottom: 1px solid #f0f0f0;
    padding: 12px
}

#anchors li a.active {
    color: var(--black)
}

#anchors li a:focus-visible {
    z-index: 10;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 0 0 3px var(--orange)
}

#anchors li a:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 4px;
    background: #d3d3d3
}

#anchors li a.active:before {
    background: #11b2d6
}

@media all and (max-width: 1199px) {
    #anchors .wrapper>div {
        background:#fff;
        border-radius: var(--radius);
        padding: 12px 24px 24px;
        margin-bottom: 16px;
        max-width: calc(640px + var(--wrapper-margin));
        margin: 0 auto calc(var(--gutter) + (var(--wrapper-margin)/2))
    }
}

@media all and (max-width: 899px) {
    #anchors .wrapper>div {
        max-width:none;
        width: calc(100% + 8px);
        position: relative;
        left: -4px;
        padding-left: 28px;
        padding-right: 28px
    }
}

@media all and (max-width: 599px) {
    #anchors .wrapper>div {
        padding-left:24px;
        padding-right: 24px
    }
}

@media all and (min-width: 1200px) {
    #anchors {
        height:100%;
        width: 100%;
        position: relative;
        pointer-events: none;
        position: absolute;
        padding-top: 40px;
        border-top: 64px solid transparent;
        z-index: 19;
        top: 0
    }

    #anchors .wrapper {
        position: sticky;
        top: 0
    }

    #anchors .wrapper div {
        pointer-events: auto;
        width: calc((((100% - (var(--gutter)*11))/12)*2) + (var(--gutter)*1.5));
        width: calc((100% - 640px - 64px - 64px)/2);
        position: relative;
        z-index: 999
    }
}

#skip {
    background: var(--orange);
    font-size: 21px;
    line-height: 1.2;
    padding: var(--unit) 0;
    transform: translate(-100%);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

#skip:focus-within {
    transform: translate(0);
    position: static
}

#skip>.wrapper {
    display: flex
}

#skip>.wrapper>a {
    position: relative;
    margin-right: var(--gutter);
    color: rgba(0,0,0,.87)
}

#skip>.wrapper>a:before {
    content: '';
    background-color: currentColor;
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    z-index: -1;
    transition: all .2s ease-in-out
}

#skip>.wrapper>a:hover:before {
    background-color: rgba(255,255,255,1);
    bottom: 0;
    height: calc(100% - 1px)
}

#skip>.wrapper>a:focus-visible {
    box-shadow: 0 0 0 2px var(--orange),0 0 0 4px #fff;
    border-radius: 2px;
    background: #fff
}

@media all and (max-width: 899px) {
    #skip {
        position:absolute;
        font-size: 16px
    }

    #skip:focus-within {
        position: fixed;
        z-index: 999
    }
}

dl.tags {
    display: flex;
    flex-wrap: wrap
}

dl.tags dt,dl.tags dd {
    font-size: 19px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%
}

dl.tags dt {
    font-weight: 700;
    margin-right: .333em
}

dl.tags dd:not(:last-child):after {
    content: "\2022";
    padding: 0 .5em;
    font-weight: inherit;
    content: ";";
    padding: 0 .33em 0 0;
    font-weight: inherit
}

dl.tags dd a {
    color: inherit;
    transition: all .2s ease;
    cursor: pointer;
    text-decoration: none;
    padding: 1px 0;
    background-image: linear-gradient(currentColor,currentColor),linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
    background-position: 0 100%,0 100%;
    background-repeat: no-repeat,no-repeat;
    background-size: 0 1px,100% 1px;
    transition: background-size .5s
}

dl.tags dd a:hover {
    background-size: 100% 1px,100% 1px
}

.home_news {
    margin-bottom: 0 !important;
    background: rgba(0,0,0,.1);
    padding: var(--wrapper-margin) 0
}

.home_news>h2 {
    flex: none
}

.bodytext p.date {
    padding: 0 0 32px;
    margin: 0 0 32px;
    border-bottom: 1px solid rgba(102,102,102,.2)
}

.bodytext p.date strong {
    font-weight: 700
}

ul.members {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + var(--gutter))
}

ul.members:not(:first-child) {
    margin: calc(var(--gutter)/2) 0 0
}

.memberholder {
    margin: calc(var(--gutter)/2) 0 0
}

.section .textcontent>.memberholder:last-child {
    margin-bottom: calc(0px - var(--gutter))
}

ul.members li,.bodytext ul.members li:last-child {
    list-style: none;
    margin: 0 var(--gutter) var(--gutter) 0;
    width: calc(50% - var(--gutter));
    border: 1px solid rgba(0,66,101,.5);
    background: #fff;
    border-radius: 16px;
    padding: 24px
}

ul.members li p {
    margin: 0 !important;
    font-size: 16px !important;
    color: var(--black) !important
}

ul.members li p strong {
    font-weight: 700
}

.members .headshot {
    position: relative;
    width: 64px;
    height: 64px;
    margin-bottom: 5px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--mid-blue);
    color: var(--cta-blue)
}

.members .headshot:before {
    content: attr(data-initial);
    font-size: 32px;
    line-height: 64px;
    width: 64px;
    text-align: center;
    display: block;
    font-weight: 600
}

.members .headshot picture {
    position: absolute;
    width: calc(100% + 2px);
    width: calc(100% + 2px);
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

.members .headshot picture img {
    position: absolute;
    width: 100%;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover
}

@media all and (max-width: 599px) {
    ul.members,.bodytext ul.members li:last-child,ul.members li {
        width:100%;
        margin-right: 0
    }
}

ul.members li a,#pageheader ul.members li a {
    color: inherit;
    transition: all .2s ease;
    cursor: pointer;
    text-decoration: none;
    padding: 1px 0;
    background-image: linear-gradient(currentColor,currentColor),linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
    background-position: 0 100%,0 100%;
    background-repeat: no-repeat,no-repeat;
    background-size: 0 1px,100% 1px;
    transition: background-size .5s
}

ul.members li a:hover,#pageheader ul.members li a:hover {
    background-size: 100% 1px,100% 1px
}

.banner_cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.banner_cards>div {
    width: calc(50% - (var(--gutter)/2));
    border-radius: var(--radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    margin-bottom: var(--gutter)
}

.banner_cards>div>picture {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden
}

.banner_cards>div>picture:before {
    display: block;
    content: "";
    width: 100%;
    height: 0;
    padding-bottom: 50%
}

.banner_cards>div>picture img {
    display: block;
    object-fit: cover;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

.banner_cards>div>div {
    padding: 48px 64px 52px;
    background-color: var(--cta-blue);
    color: #fff;
    flex: 1
}

.banner_cards div p:not(.cta) {
    font-size: 19px;
    margin-bottom: 1em
}

.banner_cards div p.cta+.cta {
    margin-top: 1em
}

.banner_cards div p.cta a {
    color: inherit;
    background-color: inherit;
    border-color: currentColor
}

.banner_cards div p.cta a:hover {
    color: var(--black);
    background-color: #fff;
    border-color: #fff
}

.banner_cards div p.cta a:focus-visible {
    box-shadow: 0 0 0 3px var(--cta-blue),0 0 0 5px var(--orange)
}

.banner_cards>div:first-child:nth-last-child(odd)>div p.cta a:focus-visible {
    box-shadow: 0 0 0 3px #fff,0 0 0 5px var(--orange)
}

@media all and (min-width: 900px) {
    .banner_cards>div:first-child:nth-last-child(odd) {
        display:flex;
        flex-direction: row;
        width: 100%
    }

    .banner_cards>div:first-child:nth-last-child(odd) p.cta a:hover {
        color: #fff;
        background-color: var(--black);
        border-color: var(--black)
    }

    .banner_cards>div:first-child:nth-last-child(odd)>picture,.banner_cards>div:first-child:nth-last-child(odd)>div {
        width: 50%
    }

    .banner_cards>div:first-child:nth-last-child(odd)>div {
        background-color: #fff;
        color: var(--black)
    }
}

@media all and (max-width: 1199px) {
    .banner_cards>div>div {
        padding:32px 48px 40px
    }
}

@media all and (max-width: 899px) and (min-width:600px) {
    .banner_cards>div {
        display:flex;
        flex-direction: row;
        width: 100%
    }

    .banner_cards>div>picture,.banner_cards>div>div {
        width: 50%
    }

    .banner_cards>div:nth-child(even)>picture {
        order: 10
    }

    .banner_cards>div:first-child:nth-last-child(odd)>div {
        background-color: #fff;
        color: var(--black)
    }
}

@media all and (max-width: 899px) {
    .banner_cards>div>picture:before {
        padding-bottom:66.66%
    }
}

@media all and (max-width: 599px) {
    .banner_cards>div {
        width:100%
    }

    .banner_cards>div>div {
        padding: 24px 24px 28px
    }
}

.cta_cards {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + var(--gutter));
    position: relative;
    right: calc(var(--gutter)/2)
}

.cta_cards>div {
    width: var(--cards_third);
    border-radius: var(--radius);
    overflow: hidden;
    margin: 0 calc(var(--gutter)/2) var(--gutter);
    background: #fff;
    color: var(--black);
    padding: 40px
}

.cta_cards>div:not(.double) {
    display: flex;
    flex-direction: column
}

.cta_cards>div.double {
    width: var(--cards_twothirds);
    padding-bottom: calc(40px - var(--gutter))
}

.cta_cards>div.double h2 {
    width: 100%
}

.cta_cards div p:not(.cta) {
    font-size: 20px;
    margin-bottom: 1em;
    line-height: 130%
}

@media all and (min-width: 1024px) {
    .cta_cards>div.double {
        display:flex;
        flex-wrap: wrap;
        flex-direction: column
    }

    .cta_cards>div.double>div {
        display: flex;
        flex: 1
    }

    .home_news .cta_cards>div.double {
        flex-wrap: nowrap;
        flex-direction: column !important
    }

    .cta_cards>div.double div.subcard {
        width: var(--grid-half)
    }

    .cta_cards>div.double div.subcard:not(:nth-of-type(2n+2)) {
        margin-right: var(--gutter)
    }
}

@media all and (max-width: 1023px) {
    .cta_cards>div {
        width:var(--cards_half)
    }

    .cta_cards div p:not(.cta) {
        font-size: 19px
    }

    .cta_cards>div.double {
        width: var(--grid-half)
    }
}

@media all and (max-width: 599px) {
    .cta_cards>div.double,.cta_cards>div {
        width:100%;
        margin-right: 0 !important;
        padding: 24px
    }

    .cta_cards>div.double {
        padding-bottom: calc(24px - var(--gutter))
    }
}

.cta_cards_group {
    padding: var(--wrapper-margin) var(--wrapper-margin) calc(var(--wrapper-margin) - var(--gutter));
    padding: 40px;
    padding-bottom: calc(40px - var(--gutter));
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    border-radius: var(--radius)
}

.cta_cards_group>div:first-child {
    width: var(--grid-third);
    margin-right: var(--gutter);
    margin-bottom: var(--gutter)
}

.cta_cards_group>div:last-child {
    display: flex;
    flex-wrap: wrap;
    flex: 1
}

div.subcard,.cta_cards_group>div:last-child>div {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--gutter);
    background: var(--light-blue);
    border: 1px solid var(--hero-blue);
    border-radius: var(--radius2);
    padding: 32px
}

.cta_cards_group>div:last-child>div div.intro {
    margin-bottom: 16px
}

@media all and (min-width: 600px) {
    .cta_cards_group>div:last-child>div {
        width:var(--grid-half)
    }

    .cta_cards_group>div:last-child>div:not(:nth-child(2n+2)) {
        margin-right: var(--gutter)
    }
}

@media all and (min-width: 900px) and (max-width:1099px) {
    .cta_cards_group>div:first-child {
        width:var(--grid-half);
        width: 100%
    }
}

@media all and (max-width: 899px) {
    .cta_cards_group>div:first-child {
        width:100%;
        margin-right: 0;
        margin-bottom: var(--wrapper-margin)
    }
}

@media all and (max-width: 599px) {
    .cta_cards_group>div:first-child {
        margin-bottom:24px
    }

    .cta_cards_group>div:last-child>div {
        padding: 24px
    }

    .cta_cards_group {
        padding: 24px;
        padding-bottom: calc(24px - var(--gutter))
    }
}

div.quicklinks_card {
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    border-radius: var(--radius);
    margin-bottom: var(--wrapper-margin);
    padding: 40px 40px calc(40px - var(--gutter))
}

.quicklinks_card>div {
    width: var(--grid-third);
    margin-right: var(--gutter);
    margin-bottom: var(--gutter)
}

.quicklinks_card>div :last-child {
    margin-bottom: 0 !important
}

ul.quicklinks {
    display: flex;
    flex-wrap: wrap;
    flex: 1
}

ul.quicklinks>li {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--gutter)
}

.quicklinks_card.otherlinks {
    background: var(--mid-blue)
}

.quicklinks_card.otherlinks>h2 {
    width: 100%;
    margin-bottom: .75em
}

body.single-post .quicklinks_card.otherlinks {
    background: var(--mid-purple)
}

.textcontent ul.quicklinks {
    margin: var(--gutter) 0
}

.textcontent ul.quicklinks:last-child {
    margin-bottom: 0
}

.listings h2.h2:not(:first-child) {
    margin-top: var(--gutter)
}

.listings h2.h2 {
    margin-bottom: var(--gutter)
}

@media all and (min-width: 1200px) {
    .quicklinks_card>div {
        width:var(--grid-quarter)
    }

    ul.quicklinks li {
        width: var(--grid-third);
        margin-right: var(--gutter)
    }

    ul.quicklinks:not(.fourlinks) li:nth-child(3n+3),ul.quicklinks:not(.fourlinks) li:nth-child(3n+3) {
        margin-right: 0
    }

    ul.quicklinks.fourlinks li,.fourlinks>ul.quicklinks li {
        width: var(--grid-quarter);
        margin-right: var(--gutter)
    }

    ul.quicklinks.fourlinks li:nth-child(4n+4),.fourlinks>ul.quicklinks li:nth-child(4n+4) {
        margin-right: 0
    }

    .quicklinks_card.otherlinks {
        padding: 40px 40px calc(40px - var(--gutter))
    }
}

@media all and (min-width: 900px) and (max-width:1199px) {
    .quicklinks_card ul.quicklinks:not(.fourlinks) li {
        width:var(--grid-half);
        margin-right: var(--gutter)
    }

    .quicklinks_card ul.quicklinks:not(.fourlinks) li:nth-child(2n+2) {
        margin-right: 0
    }

    ul.quicklinks.fourlinks li {
        width: var(--grid-half);
        margin-right: var(--gutter)
    }

    ul.quicklinks.fourlinks li:nth-child(2n+2) {
        margin-right: 0
    }

    .quicklinks_card.otherlinks {
        padding: 40px 40px calc(40px - var(--gutter))
    }

    .listings ul.quicklinks>li {
        width: var(--grid-third);
        margin-right: var(--gutter)
    }

    .listings ul.quicklinks.fourlinks li:nth-child(3n+3),.listings ul.quicklinks li:nth-child(3n+3) {
        margin-right: 0
    }

    .listings ul.quicklinks li:nth-child(2n+2) {
        margin-right: var(--gutter)
    }
}

@media all and (min-width: 768px) and (max-width:899px) {
    .quicklinks_card {
        flex-wrap:wrap
    }

    .quicklinks_card>div {
        width: 100%;
        margin-right: 0;
        margin-bottom: 24px
    }

    .quicklinks_card ul.quicklinks:not(.fourlinks) li {
        width: var(--grid-third);
        margin-right: var(--gutter)
    }

    .quicklinks_card ul.quicklinks:not(.fourlinks) li:nth-child(3n+3) {
        margin-right: 0
    }

    ul.quicklinks.fourlinks li,.double ul.quicklinks li,ul.quicklinks li {
        width: var(--grid-half);
        margin-right: var(--gutter)
    }

    ul.quicklinks.fourlinks li:nth-child(4n+4),ul.quicklinks.fourlinks li:nth-child(2n+2) {
        margin-right: 0
    }

    .double ul.quicklinks li {
        width: 100%;
        margin-right: 0
    }

    .listings ul.quicklinks>li {
        width: var(--grid-half);
        margin-right: var(--gutter)
    }

    .listings ul.quicklinks.fourlinks li:nth-child(2n+2),.listings ul.quicklinks li:nth-child(2n+2) {
        margin-right: 0
    }
}

@media all and (min-width: 600px) and (max-width:767px) {
    .quicklinks_card {
        flex-wrap:wrap
    }

    .quicklinks_card>div {
        width: 100%;
        margin-right: 0;
        margin-bottom: 24px
    }

    .quicklinks_card ul.quicklinks:not(.fourlinks) li {
        width: var(--grid-third);
        margin-right: var(--gutter)
    }

    .quicklinks_card ul.quicklinks:not(.fourlinks) li:nth-child(3n+3) {
        margin-right: 0
    }

    .quicklinks_card>ul.quicklinks.fourlinks li {
        width: var(--grid-half);
        margin-right: var(--gutter)
    }

    .quicklinks_card>ul.quicklinks.fourlinks li:nth-child(2n+2) {
        margin-right: 0
    }

    .listings ul.quicklinks>li {
        width: var(--grid-half);
        margin-right: var(--gutter)
    }

    .listings ul.quicklinks.fourlinks li:nth-child(2n+2),.listings ul.quicklinks li:nth-child(2n+2) {
        margin-right: 0
    }
}

@media all and (min-width: 900px) and (max-width:1199px) {
    .double ul.quicklinks>li {
        width:var(--grid-half);
        margin-right: var(--gutter)
    }

    .double ul.quicklinks>li:nth-child(2n+2) {
        margin-right: 0
    }
}

@media all and (min-width: 900px) and (max-width:1023px) {
    .double ul.quicklinks>li {
        width:100%;
        margin-right: 0
    }
}

@media all and (min-width: 600px) {
    .textcontent ul.quicklinks {
        width:calc(100% + var(--gutter));
        margin: var(--gutter) 0
    }

    .textcontent ul.quicklinks li {
        margin-right: var(--gutter) !important;
        width: calc(50% - var(--gutter))
    }
}

@media all and (max-width: 599px) {
    div.quicklinks_card {
        padding:24px
    }

    .quicklinks_card.otherlinks>h2 {
        margin-bottom: 1em
    }

    .quicklinks_card {
        flex-wrap: wrap
    }

    .quicklinks_card>div {
        width: 100%;
        margin-right: 0;
        margin-bottom: 24px
    }

    ul.quicklinks li {
        width: 100%
    }
}

ul.quicklinks>li>a {
    flex: 1;
    display: block;
    border-radius: 8px;
    border: 1px solid var(--cta-blue);
    background: #fff;
    color: var(--black);
    padding: 20px 24px;
    transition: all .2s ease
}

ul.newslinks>li>a {
    border: 1px solid var(--purple);
    background: var(--light-purple)
}

ul.quicklinks>li>a:focus {
    box-shadow: 0 0 0 3px #fff,0 0 0 5px var(--orange)
}

.quicklinks_card.otherlinks>ul li>a {
    background: rgba(255,255,255,.5)
}

ul.quicklinks>li>a:hover,ul.quicklinks>li>a:focus {
    background: var(--cta-blue);
    color: #fff
}

.quicklinks_card.otherlinks>ul.quicklinks li a:focus {
    box-shadow: 0 0 0 3px var(--mid-blue),0 0 0 5px var(--orange)
}

ul.newslinks>li>a:hover,ul.newslinks>li>a:focus {
    background: var(--mid-purple);
    color: var(--black)
}

.quicklinks_card.otherlinks>ul.newslinks li a:hover,.quicklinks_card.otherlinks>ul.newslinks li a:focus {
    background: var(--purple);
    color: #fff
}

.quicklinks_card.otherlinks>ul.newslinks li a:focus {
    box-shadow: 0 0 0 3px var(--mid-purple),0 0 0 5px var(--orange)
}

ul.quicklinks>li>a p {
    font-size: 20px;
    line-height: 120%
}

ul.quicklinks>li>a p:not(:last-child) {
    margin-bottom: .5em
}

ul.quicklinks>li>a p strong {
    font-weight: 700
}

ul.quicklinks>li>a>p:not(:first-child) {
    font-size: 16px;
    line-height: 120%
}

ul.quicklinks>li>a>p.date,ul.quicklinks>li>a>time {
    display: block;
    font-weight: 600;
    margin-top: 1em;
    font-size: 14px;
    line-height: 120%
}

ul.quicklinks>li>a>p.date1 strong,ul.quicklinks>li>a>p.date strong {
    display: block
}

ul.quicklinks>li>a>p.date1+p.date {
    border-top: 1px solid rgba(102,102,102,.4);
    margin-top: 16px;
    padding-top: 16px;
    padding-bottom: 0;
    border-bottom: 0
}

@media all and (max-width: 599px) {
    div.quicklinks_card {
        padding:24px;
        padding-bottom: calc(24px - var(--gutter))
    }

    ul.quicklinks>li>a p {
        font-size: 19px
    }

    ul.quicklinks>li>a>p:not(:first-child) {
        font-size: 14px
    }
}

.accordions>div {
    padding: 16px;
    border: 1px solid var(--blue);
    background: #fff;
    border-radius: var(--radius);
    transition: background-color .2s ease
}

.accordions>div:not(:last-child) {
    margin-bottom: var(--gutter)
}

.accordions,.accordions.stepbystep {
    margin-top: var(--gutter);
    border-top: 1px solid transparent
}

.accordions>div.hover {
    background-color: rgba(63,95,222,.1)
}

.accordions>div>header {
    position: relative;
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap
}

.accordions>div>header>button {
    outline: none;
    border: none;
    background: 0 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0
}

.accordions>div>header h3 {
    margin: 0;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    flex: 1;
    padding-top: 3px;
    padding-bottom: 3px
}

.accordions>div>header p {
    margin: .75em 0;
    width: 100%
}

button.showall {
    cursor: pointer;
    margin: 16px 0 var(--gutter);
    font-family: inherit
}

.accordions.stepbystep button.showall {
    margin: 16px 0 64px
}

button.showall,.accordions>div>header .pseudo_button:after {
    content: "Show";
    color: var(--blue);
    display: flex;
    align-items: center;
    border: 1px solid var(--blue);
    background: #fff;
    border-radius: 16px;
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
    padding: 8px 8px 8px 36px;
    background-size: 20px 20px;
    background-position: 8px 50%;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><polygon fill="%233F5FDE" points="10,13.1 5.9,9.1 7,8 10,11 13,8 14.1,9.1"/><path fill="%233F5FDE" d="M10,20C4.5,20,0,15.5,0,10C0,4.5,4.5,0,10,0c5.5,0,10,4.5,10,10C20,15.5,15.5,20,10,20z M10,1c-5,0-9,4-9,9 c0,5,4,9,9,9c5,0,9-4,9-9C19,5,15,1,10,1z"/></svg>')
}

:lang(ga) button.showall,:lang(ga) .accordions>div>header .pseudo_button:after {
    content: "TaispeÃ¡in"
}

button.showall:focus-visible,.accordions>div>header:has(:focus-visible) .pseudo_button:after {
    box-shadow: 0 0 0 3px #fff,0 0 0 5px var(--orange)
}

button.showall.opened,.accordions>div.open>header .pseudo_button:after {
    content: "Hide";
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><polygon fill="%233F5FDE" points="13,12 10,9 7,12 5.9,10.9 10,6.9 14.1,10.9 		"/><path fill="%233F5FDE" d="M10,20C4.5,20,0,15.5,0,10C0,4.5,4.5,0,10,0s10,4.5,10,10C20,15.5,15.5,20,10,20z M10,1c-5,0-9,4-9,9s4,9,9,9 s9-4,9-9S15,1,10,1z"/></svg>')
}

:lang(ga) button.showall.opened,:lang(ga) .accordions>div.open>header .pseudo_button:after {
    content: "Folaigh"
}

button.showall:hover,button.showall:focus-visible,.accordions>div>header:has(:focus-visible) .pseudo_button:after,.accordions>div.hover>header .pseudo_button:after {
    background-color: rgba(63,95,222,.1);
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><path fill="%233F5FDE" d="M10,20C4.5,20,0,15.5,0,10S4.5,0,10,0s10,4.5,10,10S15.5,20,10,20z"/><polygon fill="%23FFFFFF" points="10,13.1 5.9,9.1 7,8 10,11 13,8 14.1,9.1  "/></svg>')
}

button.showall.opened:focus-visible,button.showall.opened:hover,.accordions>div.open>header:has(:focus-visible) .pseudo_button:after,.accordions>div.open.hover>header .pseudo_button:after {
    background-color: rgba(63,95,222,.1);
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><path fill="%233F5FDE" d="M10,20C4.5,20,0,15.5,0,10C0,4.5,4.5,0,10,0s10,4.5,10,10C20,15.5,15.5,20,10,20z"/><polygon fill="%23FFFFFF" points="13,12 10,9 7,12 5.9,10.9 10,6.9 14.1,10.9 		"/></svg>')
}

.accordions>div>div {
    visibility: hidden;
    max-height: 0;
    transition: max-height .333s ease-out;
    overflow: hidden
}

.accordions:not(.stepbystep)>div>div:before {
    display: block;
    height: 24px;
    content: ""
}

.accordions>div.open>div {
    max-height: 300em;
    visibility: visible;
    transition: max-height .5s ease-in
}

@media all and (max-width: 1199px) {
    .accordions.stepbystep button.showall {
        margin:16px 0 var(--wrapper-margin)
    }
}

@media all and (max-width: 899px) {
    .accordions>div>header {
        display:block
    }

    button.showall,.accordions>div>header .pseudo_button:after {
        font-size: 17px;
        display: inline-flex
    }

    .accordions.stepbystep button.showall {
        margin: 0 0 32px
    }

    .accordions>div>header h3 {
        font-size: 20px;
        margin-bottom: .5em
    }

    .accordions>div>header h3+p {
        margin-top: 0
    }
}

.stepbystep>div {
    padding: 15px 0 0 72px;
    border: none;
    border-radius: 0;
    position: relative
}

.stepbystep>div.hover {
    background-color: transparent
}

.stepbystep>div:before {
    content: attr(data-number);
    display: block;
    width: 40px;
    height: 40px;
    line-height: 36px;
    border-radius: 50%;
    background: #fff;
    color: var(--black);
    font-size: 19px;
    font-style: normal;
    text-align: center;
    border: 1px solid #b1b4b6;
    font-weight: 700;
    position: absolute;
    top: 10px;
    left: 0;
    z-index: 2
}

.stepbystep>div:after {
    content: "";
    display: block;
    width: 16px;
    height: 100%;
    position: absolute;
    top: 10px;
    left: 12px;
    border: 1px solid #b1b4b6;
    border-left: none;
    border-right: none;
    background-size: 1px 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml;utf8,<svg preserveAspectRatio="none" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1 20" style="enable-background:new 0 0 1 20;" xml:space="preserve"><rect fill="%23B1B4B6" width="1" height="20"/></svg>')
}

.stepbystep>div:first-child:after {
    border-top: none;
    height: calc(100% - 10px)
}

.stepbystep>div:last-child:after {
    height: 40px
}

.stepbystep>div:not(:first-child):not(:last-child):after {
    height: 100%
}

.stepbystep>div:not(:first-child):after {
    top: 0
}

.stepbystep>div>header {
    padding-bottom: 16px
}

@media all and (max-width: 899px) {
    .stepbystep>div {
        padding:10px 0 0 calc(32px + 24px)
    }

    .stepbystep>div:before {
        width: 32px;
        height: 32px;
        line-height: 30px
    }

    .stepbystep>div:after {
        left: 8px
    }
}

.transcript {
    margin-bottom: calc(var(--gutter)*1.5);
    margin-top: var(--gutter)
}

.transcript {
    border-radius: var(--radius);
    border: 1px solid var(--blue);
    background: #fff
}

.transcript.hover {
    background-color: rgba(63,95,222,.1)
}

.transcript>header {
    position: relative;
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    padding: 16px
}

.transcript>div {
    max-height: 0;
    transition: max-height .333s ease-out;
    overflow: hidden;
    padding: 0 16px
}

.transcript.open>div {
    max-height: 300em;
    transition: max-height .5s ease-in
}

.transcript>div:after,.transcript>div:before {
    display: block;
    height: 24px;
    content: ""
}

.transcript>header>button:after {
    content: "Show";
    color: var(--blue);
    display: flex;
    align-items: center;
    border: 1px solid var(--blue);
    background: #fff;
    border-radius: 16px;
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
    padding: 8px 8px 8px 36px;
    background-size: 20px 20px;
    background-position: 8px 50%;
    background-repeat: no-repeat;
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><polygon fill="%233F5FDE" points="10,13.1 5.9,9.1 7,8 10,11 13,8 14.1,9.1"/><path fill="%233F5FDE" d="M10,20C4.5,20,0,15.5,0,10C0,4.5,4.5,0,10,0c5.5,0,10,4.5,10,10C20,15.5,15.5,20,10,20z M10,1c-5,0-9,4-9,9 c0,5,4,9,9,9c5,0,9-4,9-9C19,5,15,1,10,1z"/></svg>')
}

.transcript>header>button {
    margin: 0;
    outline: none;
    border: none;
    background: 0 0;
    cursor: pointer;
    font-family: inherit;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    flex: 1;
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

.transcript>header>button span {
    display: block;
    flex: 1
}

:lang(ga) .transcript>header>button:after {
    content: "TaispeÃ¡in"
}

.transcript button:focus-visible:after {
    box-shadow: 0 0 0 3px #fff,0 0 0 5px var(--orange);
    background-color: rgba(63,95,222,.1)
}

.transcript.open>header>button:after {
    content: "Hide";
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><polygon fill="%233F5FDE" points="13,12 10,9 7,12 5.9,10.9 10,6.9 14.1,10.9 		"/><path fill="%233F5FDE" d="M10,20C4.5,20,0,15.5,0,10C0,4.5,4.5,0,10,0s10,4.5,10,10C20,15.5,15.5,20,10,20z M10,1c-5,0-9,4-9,9s4,9,9,9 s9-4,9-9S15,1,10,1z"/></svg>')
}

:lang(ga) .transcript.open>header>button:after {
    content: "Folaigh"
}

.transcript>header>button:focus-visible:after,.transcript.hover>header>button:after {
    background-color: rgba(63,95,222,.1);
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><path fill="%233F5FDE" d="M10,20C4.5,20,0,15.5,0,10S4.5,0,10,0s10,4.5,10,10S15.5,20,10,20z"/><polygon fill="%23FFFFFF" points="10,13.1 5.9,9.1 7,8 10,11 13,8 14.1,9.1  "/></svg>')
}

.transcript.open>header>button:focus-visible:after,.transcript.open>header>button:after {
    background-color: rgba(63,95,222,.1);
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"><path fill="%233F5FDE" d="M10,20C4.5,20,0,15.5,0,10C0,4.5,4.5,0,10,0s10,4.5,10,10C20,15.5,15.5,20,10,20z"/><polygon fill="%23FFFFFF" points="13,12 10,9 7,12 5.9,10.9 10,6.9 14.1,10.9 		"/></svg>')
}

@media all and (max-width: 1199px) {
    .transcript {
        margin-bottom:calc(var(--gutter)*2)
    }
}

@media all and (max-width: 599px) {
    .transcript>header>button {
        font-size:18px
    }

    .transcript>header>button:after {
        font-size: 16px
    }
}

@media all and (max-width: 399px) {
    .transcript>header>button span {
        width:100%;
        flex: none;
        padding-bottom: .5em
    }
}

div.downloads_card {
    padding: var(--wrapper-margin) var(--wrapper-margin) calc(var(--wrapper-margin) - var(--gutter));
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    border-radius: var(--radius);
    margin-bottom: var(--wrapper-margin)
}

div.downloads_card>div {
    width: var(--grid-third);
    margin-right: var(--gutter);
    margin-bottom: var(--gutter)
}

div.downloads_card>div :last-child {
    margin-bottom: 0 !important
}

@media all and (min-width: 1200px) {
    div.downloads_card>div {
        width:var(--grid-quarter)
    }
}

@media all and (max-width: 899px) {
    div.downloads_card>div {
        width:100%;
        margin-right: 0;
        margin-bottom: 24px
    }
}

ul.downloads {
    margin: var(--gutter) 0
}

div.downloads_card>ul.downloads {
    margin: 0;
    flex: 1
}

ul.downloads:last-child {
    margin: 0
}

ul.downloads li {
    list-style: none;
    margin-bottom: var(--gutter);
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    display: flex
}

ul.downloads li:last-child {
    margin-bottom: 0
}

ul.downloads li a {
    padding: 16px;
    width: 100%;
    display: flex;
    align-items: center;
    border: 1px solid var(--blue);
    background: #fff;
    border-radius: var(--radius);
    transition: background-color .2s ease;
    color: var(--black)
}

ul.downloads li a span {
    display: block;
    flex: 1;
    padding-right: 1em
}

ul.downloads li a:after {
    content: attr(data-ext);
    border-radius: 8px;
    color: #fff;
    text-transform: uppercase;
    background: var(--menu-blue);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.666666666666667em;
    height: 1.666666666666667em;
    min-width: 1.666666666666667em;
    text-align: center;
    padding: 0 .125em
}

ul.downloads li a:focus-visible {
    box-shadow: 0 0 0 3px #fff,0 0 0 5px var(--orange)
}

ul.downloads li a:focus-visible,ul.downloads li a:hover {
    background: rgba(63,95,222,.1)
}

ul.downloads li a:focus-visible:after,ul.downloads li a:hover:after {
    background: var(--hero-blue)
}

@media all and (max-width: 899px) {
    ul.downloads li {
        font-size:20px
    }

    ul.downloads li a:after {
        font-size: 16px;
        line-height: 1.75em;
        height: 1.75em;
        min-width: 1.75em;
        padding: 0 .125em
    }
}

.footnote {
    display: flex
}

.bodytext .footnote h3,.bodytext .footnote p,.bodytext .footnote li {
    font-family: Source Serif Pro;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%
}

.bodytext .footnote h3 {
    width: 1.5em;
    min-width: 1.5em;
    text-align: center;
    margin-right: 2px
}

.bodytext p:not(.cta) a:not(.fn),.bodytext ul:not(.ctas):not(.quicklinks):not(.downloads) li:not(.cta) a,.bodytext ol:not(.ctas):not(.quicklinks):not(.downloads) li:not(.cta) a {
    transition: all .2s ease;
    cursor: pointer;
    color: inherit;
    text-decoration: none;
    padding: 1px 0;
    background-image: linear-gradient(currentColor,currentColor),linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
    background-position: 0 100%,0 100%;
    background-repeat: no-repeat,no-repeat;
    background-size: 100% 1px,100% 1px;
    transition: background-size .1s ease-out
}

.bodytext p:not(.cta) a:not(.fn):hover,.bodytext ul:not(.ctas):not(.quicklinks):not(.downloads) li:not(.cta) a:hover,.bodytext ol:not(.ctas):not(.quicklinks):not(.downloads) li:not(.cta) a:hover {
    background-image: linear-gradient(var(--orange),var(--orange)),linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
    background-size: 100% 100%,100% 100%;
    color: #000;
    transition: background-size .2s ease
}

.bodytext p:not(.cta) a:not(.fn):focus-visible,.bodytext ul:not(.ctas):not(.quicklinks):not(.downloads) a:focus-visible {
    box-shadow: 0 0 0 1px #fff,0 0 0 3px var(--orange);
    border-radius: 2px
}

.bodytext p a.fn {
    color: inherit
}

.bodytext p a.fn:hover sup {
    background: var(--tc-black);
    color: #fff
}

.bodytext p a.fn:focus-visible sup {
    box-shadow: 0 0 0 1px #fff,0 0 0 3px var(--orange);
    border-radius: 2px
}

#allfindings {
    margin-top: var(--gutter)
}

.listings:first-child #allfindings {
    margin-top: 0
}

#allfindings.processing:after {
    z-index: 999;
    content: " ";
    display: block;
    width: 90px;
    height: 90px;
    animation: spin 1s infinite linear;
    border-radius: 50%;
    border-width: 12px;
    border-style: solid;
    border-color: rgba(18,96,134,.4) rgba(18,96,134,.4) rgba(18,96,134,.4) rgba(18,96,134,1);
    overflow: hidden;
    text-indent: -99999em;
    margin: auto;
    position: relative;
    left: calc(50% - 45px);
    margin: 0
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

div.pagination {
    margin-top: var(--gutter)
}

.nav-links {
    display: flex;
    justify-content: center
}

.nav-links span,.nav-links a {
    display: block;
    margin: 6px;
    font-size: 16px;
    color: inherit;
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
    min-width: 40px;
    width: 40px;
    text-align: center;
    letter-spacing: .17px;
    position: relative;
    border: 1px solid var(--black);
    border-radius: 50%
}

.nav-links span.current {
    background: var(--mid-blue)
}

.nav-links a.prev:after,.nav-links a.next:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    display: block;
    width: 22px;
    height: 22px;
    background-size: 22px 22px;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22" fill="none"><path d="M8.89626 5.5L7.60376 6.7925L11.8021 11L7.60376 15.2075L8.89626 16.5L14.3963 11L8.89626 5.5Z" fill="%23111B29"/> </svg>')
}

.nav-links a.prev:after {
    transform: translate(-50%,-50%) rotate(180deg)
}

.nav-links a:hover {
    color: #fff;
    background: var(--black)
}

.nav-links a.prev:hover:after,.nav-links a.next:hover:after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22" fill="none"><path d="M8.89626 5.5L7.60376 6.7925L11.8021 11L7.60376 15.2075L8.89626 16.5L14.3963 11L8.89626 5.5Z" fill="%23FFFFFF"/> </svg>')
}

.nav-links a:focus-visible {
    box-shadow: 0 0 0 3px #fff,0 0 0 5px var(--orange)
}

#listing_anchors_holder,#didyoumean {
    background: var(--menu-blue);
    color: #fff;
    padding: 24px 0
}

#didyoumean {
    background: #fff
}

#didyoumean .wrapper {
    display: flex;
    flex-wrap: wrap;
    color: #fff;
    align-items: center
}

#didyoumean .wrapper p:not(.cta) {
    font-size: 17px;
    line-height: 1.2;
    color: var(--tc-black);
    margin-right: 16px
}

#didyoumean+.content {
    padding: 32px 0
}

@media all and (max-width: 374px) {
    #didyoumean .wrapper p:not(.cta) {
        margin-bottom:.5em
    }
}

#listing_anchors_holder ul {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 16px);
    position: relative;
    left: -8px
}

#listing_anchors_holder ul.cta li {
    margin: 8px
}

#listing_anchors_holder ul.cta li a {
    background: 0 0;
    color: #fff;
    border-color: #fff;
    border-width: 2px
}

#listing_anchors_holder ul.cta li a:is(:hover,:focus-visible) {
    background: #fff;
    color: var(--tc-black)
}

#listing_anchors_holder ul.cta li a:is(:focus-visible) {
    box-shadow: 0 0 0 2px var(--menu-blue),0 0 0 4px var(--orange)
}

#searchpageform {
    margin-top: var(--gutter);
    display: flex;
    align-items: center;
    font-size: 30px
}

#searchpageform label {
    font-family: inherit;
    font-weight: 600;
    font-size: inherit;
    margin-right: 1em
}

#searchpageform div {
    flex: 1;
    border: 2px solid #fff;
    display: flex;
    border-radius: 300px;
    padding: 2px 16px 2px 24px;
    height: 64px
}

#searchpageform div input[type=text] {
    flex: 1
}

#searchpageform div input:focus-visible {
    box-shadow: 0 0 0 3px var(--orange)
}

#searchpageform div input {
    font-size: inherit;
    color: #fff;
    font-family: inherit;
    background: 0 0;
    outline: none;
    border: none
}

#searchpageform div input[type=submit] {
    cursor: pointer;
    text-indent: -999px;
    width: 40px;
    background-size: 36px 36px;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><path fill="%23FFFFFF" d="M14,0.1c-5.5,0-9.9,4.5-9.9,9.9c0,2.4,0.8,4.6,2.2,6.3l-6.3,6.3l1.4,1.4l6.3-6.3c1.7,1.4,3.9,2.2,6.3,2.2 c5.5,0,9.9-4.5,9.9-9.9C23.9,4.5,19.5,0.1,14,0.1z M14,16.9c-3.8,0-6.9-3.1-6.9-6.9s3.1-6.9,6.9-6.9c3.8,0,6.9,3.1,6.9,6.9 S17.8,16.9,14,16.9z"/></svg>')
}

@media all and (min-width: 900px) {
    body.search #pageheader>.wrapper:last-child {
        padding-bottom:calc(64px + 12px)
    }
}

@media all and (max-width: 899px) {
    body.search #pageheader>.wrapper:last-child {
        padding-bottom:calc(48px + 12px)
    }

    #searchpageform {
        font-size: 24px
    }

    #searchpageform div {
        height: 54px;
        padding: 8px 11px 8px 20px
    }

    #searchpageform div input[type=submit] {
        width: 40px;
        background-size: 24px 24px
    }
}

@media all and (max-width: 599px) {
    body.search #pageheader>.wrapper:last-child {
        padding-bottom:calc(32px + 12px)
    }

    #searchpageform {
        display: block
    }

    #searchpageform label {
        padding: 0 0 .25em;
        display: block
    }
}

.sitemap {
}

.sitemap h2, .sitemap li {
    /*border-bottom: 1px solid var(--blue);*/
    /*   list-style: none !important;*/
}
