@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@500;600;700&display=swap");
:root {
    --color-black: #000;
    --color-white: #fff;
    --color-off-white: #f0f1fa;
    --end-text-color: #06427a;
    --vh: 1vh;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}
html,
body {
    width: 100%;
    min-height: 100%;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: auto;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}
a,
a:active,
a:hover,
a:visited {
    color: currentColor;
    outline: 0;
    text-decoration: none;
}
button,
input,
select,
textarea {
    font: inherit;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
#ui,
#page-container,
#page-extra-sections {
    position: relative;
    width: 100%;
    min-height: 0;
    color: var(--color-black);
}
#end-section {
    position: relative;
    width: 100%;
    height: calc(var(--vh, 1vh) * 100);
    min-height: calc(var(--vh, 1vh) * 100);
    max-height: calc(var(--vh, 1vh) * 100);
    overflow: hidden;
    background: var(--color-off-white);
    color: var(--color-black);
}
#end-section-outer,
#end-section-inner {
    position: relative;
    width: 100%;
    height: 100%;
}
#end-section-content {
    position: absolute;
    left: 50%;
    top: 27%;
    width: 100%;
    transform: translate3d(-50%, -50%, 0);
    text-align: center;
    z-index: 2;
    pointer-events: none;
}
#end-section-title {
    width: 100%;
    max-width: 92vw;
    margin: 0 auto;
    color: var(--end-text-color);
    font-family: "Josefin Sans", Arial, sans-serif;
    font-size: clamp(2.8rem, 4.3vw, 5.8rem);
    font-weight: 600;
    line-height: .98;
    letter-spacing: 0;
}
#end-section-title-link {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: .24em;
    row-gap: .06em;
    cursor: default;
    pointer-events: auto;
}
.bridge-title-line {
    position: relative;
    display: inline;
    margin-bottom: .2em;
    padding-bottom: .1em;
    line-height: 1.14;
    white-space: normal;
    isolation: isolate;
}
.bridge-title-line::after {
    content: none;
}
.bridge-title-word {
    display: inline-block;
    white-space: nowrap;
}
#end-section-title-link:hover .bridge-title-char {
    text-decoration-line: underline;
    text-decoration-thickness: .055em;
    text-underline-offset: .18em;
    text-decoration-skip-ink: none;
}
.bridge-title-char-wrap {
    position: relative;
    display: inline-block;
    height: 1.08em;
    line-height: 1.08;
    overflow: hidden;
    vertical-align: baseline;
    will-change: transform;
    z-index: 1;
}
.bridge-title-char {
    display: inline-block;
    transition: transform .62s cubic-bezier(.35, 0, 0, 1);
    will-change: transform;
}
.bridge-title-char-clone {
    position: absolute;
    left: 0;
    top: 0;
    transform: translate3d(0, 108%, 0);
}
.bridge-title-char-wrap.is-rolling .bridge-title-char {
    transform: translate3d(0, -108%, 0);
}
.bridge-particle-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
    transition: opacity .25s ease;
}
.bridge-particle-canvas.is-active {
    opacity: 1;
    visibility: visible;
}
@media (hover: hover) and (pointer: fine) {
    body.has-cbc-cursor,
    body.has-cbc-cursor a,
    body.has-cbc-cursor button,
    body.has-cbc-cursor input,
    body.has-cbc-cursor textarea,
    body.has-cbc-cursor select,
    body.has-cbc-cursor [role="button"],
    body.has-cbc-cursor .slick-arrow,
    body.has-cbc-cursor .slick-dots button {
        cursor: none !important;
    }
    .cbc-cursor-dot,
    .cbc-cursor-halo {
        position: fixed;
        left: 0;
        top: 0;
        pointer-events: none;
        opacity: 0;
        z-index: 2147483647;
        transform: translate3d(-50%, -50%, 0);
        transition:
            opacity .18s ease,
            width .24s ease,
            height .24s ease,
            border-color .24s ease,
            background-color .24s ease;
        will-change: transform;
    }
    .cbc-cursor-dot {
        width: 9px;
        height: 9px;
        border-radius: 999px;
        background: #06427a;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, .18);
    }
    .cbc-cursor-halo {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        padding: 0;
        border: 1px solid transparent;
        border-radius: 999px;
        background: rgba(6, 66, 122, .11);
        color: #fff;
        font-family: "Josefin Sans", Arial, sans-serif;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: .02em;
        text-transform: none;
        text-align: center;
        white-space: nowrap;
        mix-blend-mode: normal;
    }
    .cbc-cursor-label {
        opacity: 0;
        transform: scale(.92);
        transition: opacity .18s ease, transform .18s ease;
    }
    body.cbc-cursor-visible .cbc-cursor-dot,
    body.cbc-cursor-visible .cbc-cursor-halo {
        opacity: 1;
    }
    body.cbc-cursor-link .cbc-cursor-halo {
        min-width: 58px;
        width: 58px;
        height: 58px;
        padding: 0;
        background: rgba(6, 66, 122, .14);
    }
    body.cbc-cursor-media .cbc-cursor-dot {
        opacity: 0;
    }
    body.cbc-cursor-media .cbc-cursor-halo {
        min-width: 96px;
        width: auto;
        height: 96px;
        padding: 0 16px;
        border-color: rgba(255, 255, 255, .95);
        background: rgba(6, 66, 122, .08);
        color: #fff;
        text-shadow: 0 1px 8px rgba(0, 0, 0, .42);
    }
    body.cbc-cursor-media .cbc-cursor-label {
        opacity: 1;
        transform: scale(1);
    }
}
@media (max-width: 812px) {
    #end-section {
        height: auto;
        min-height: 100vh;
        max-height: none;
        overflow: visible;
    }
    #end-section-outer,
    #end-section-inner {
        min-height: 100vh;
    }
    #end-section-content {
        top: 28%;
    }
    #end-section-title {
        max-width: 94vw;
        font-size: clamp(2.25rem, 9vw, 4.5rem);
        line-height: .92;
    }
}
@media(max-width:767px){
    #end-section-title-link{
            display: inline-flex;
            row-gap: 0;
    }
    .bridge-title-line {
        position: relative;
        display: inline;
        margin-bottom: 0;
        padding-bottom: 0;
        white-space: normal;
        isolation: auto;
    }
}