
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@300..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');


.red {
    background: pink;
}
.green {
    background: green;
}
.blue {
    background: blue
}

:root {
    --orange: #F7442A;
    --orange-hover: #DE3118;
    --grey: #2b2b2b;
    --light-grey: #F7F7F7;
    --white: #FFFFFF;
    --blue: #103A4D;
    --blue-hover: #0F4964;
    --gradient-blue: radial-gradient(50% 75% at 65% 50%, #1B495D 0%, #103A4D 100%);
}
/* er */
#preloader {
    position: fixed;
    height: 100svh;
    width: 100vw;
    background-color: #fff;
    z-index:999999999;
    display: flex;
    align-items: center;
}
#preload-logo {
    text-align: center;
}
#preload-logo img {
    width: clamp(100px, 8vw, 200px);
}
/* top */
.top {
    position: fixed;
    width: 100%;
    padding: clamp(12px, 4vw, 10px) 0;
    top: 0;
    left: 0;
    z-index: 999999;
    background-color: rgba(15, 58, 78, .95);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    transition: background-color .5s ease;
    transition-delay: .2s;
}
.top.triger {
    background-color: rgba(15, 58, 78, .0);
}
.menu-slidedown {
    background-color: rgba(15, 58, 78, .95);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    transition: all 1s cubic-bezier(.40, -0.01, 0, .99);
    position: fixed;
    height: 0px;
    width: 100%;
    z-index: 99999;
}
.menu-slidedown.extend {
    height: 100vh;
}

.navbar {
    display: flex;
    align-items: center;
}
.left {
    flex-grow: 1;
    display: flex;
    align-items: center;
}
.left img {
    display: block;
    width: clamp(80px, 8vw, 120px);
    height: auto;
    align-items: center;
}
.right {
    text-align: right;
    flex-grow: 2;
    justify-content: flex-end;
}
.right .button {
    margin-bottom: 0;
    height: clamp(35px, 4vw, 40px);
    width: auto;
    font-size: clamp(1rem, 2vw, 1.2rem);
    line-height: clamp(35px, 4vw, 42px);
    margin-left: 10px;
}
.right ul {
    color: #fff;
    margin-bottom: 0;
    padding-top: 1px;
}
.right li {
    list-style: none;
    display:inline-block;
    margin-right: clamp(10px, 1.3vw, 16px);
    margin-bottom: 0;
    position: relative;
    padding: 11px 6px;
}

.right li a {
    color: #fff;
    font-size: 1.25rem;
    letter-spacing: .01rem;
    text-decoration: none;
    font-weight: 500;
    display: inline-block;
}
.right li a:hover {
    color: #C1ECFF;
}
.right li ul li a:hover {
    color: #0E394D
}
.nav {
    display: inline-flex;
    align-items: center;
}
/* dropdowns */
.nav li ul {
    position: absolute;
    top: 32px;
    left: 0;
    margin-left: 0;
    background: rgba(255, 255, 255, 1);
    box-shadow: 0px 8px 30px 0px rgba(0,0,0,0.1);
    -webkit-box-shadow: 0px 8px 30px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 8px 30px 0px rgba(0,0,0,0.1);
    padding: 6px;
    min-width: 300px;
    text-align: left;
    border-radius: 4px;
    visibility: hidden;
    opacity: 0;
    display: none;
    z-index: 999;
    transition: all 1s ease;
}
.nav li ul::before {
    content: "";
    height: 12px;
    width: 12px;
    position: absolute;
    background: inherit;
    top: -5px;
    left: 10px;
    z-index: 0;
    transform: rotate(45deg);

}
.nav ul li ul li {
    list-style: none;
    display: list-item;
    padding: 4px 8px;
    margin: 2px;
}
.nav ul li ul li:hover {
    background: #E7F2F7;
    border-radius: 2px;
}
.nav ul li ul li a {
    padding: 4px;
    display: block;
    color: var(--grey);
}
.nav li:hover > ul {
    display: block;
    opacity: 1;
    visibility: visible;
    transition: all 1s ease;
}
.menu-icon {
    margin-right: clamp(8px, 2vw, 20px);
    padding: 2px 2px 2px 0;
    display: none;
    height: 22px;
    cursor: pointer;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    width: 22px;
}
.menu-icon span {
    background: white;
    height: 1.5px;
    width: 22px;
    display: block;
    border-radius: 4px;
    position: absolute;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}
.menu-icon span:nth-child(1) {
    top: 4px;
}
.menu-icon span:nth-child(2),
.menu-icon span:nth-child(3) {
    top: 12px;
}
.menu-icon span:nth-child(4) {
    top: 20px;
}
.menu-icon.burgerx span:nth-child(1) {
    top: 25px;
    width: 0%;
    left: 50%;
}

.menu-icon.burgerx span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.menu-icon.burgerx span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.menu-icon.burgerx span:nth-child(4) {
    top: 18px;
    width: 0%;
    left: 50%;
}
@media (max-width: 800px) {
    .menu-icon {
        display: block;
    }
    .right li ul li a:hover {
        color: #C1ECFF;
    }

    .nav {
        position: absolute;
        left: 0;
        top: -50dvh;
        width: 100%;
        margin-top: 50%;
        transform: translateY(-50%);
        display: block;
        filter: opacity(0.0);
        transition: all 1s ease;
        z-index: -1;
    }
    .nav.show {
        margin-top: 50dvh;
        display: block;
        filter: opacity(1);
        top: 0;
    }

    .right ul {
        color: #fff;
        margin-bottom: 0;
        padding-top: 1px;
        text-align: center;
        position: relative;
    }
    .right li {
        list-style: none;
        display: list-item;
        margin-right: clamp(12px, 9vw, 30px);
        margin-bottom: 20px;
        padding-top: 1px;
    }
    .right li a {
        font-size: 2rem;
    }
    .nav li ul {
        position: relative;
        top: 0;
        background: none;
        box-shadow: none;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        padding: 0;
        min-width: 300px;
        text-align: center;
        border-radius: 6px;
        visibility: visible;
        opacity: 1;
        display: block;
        z-index: 999;
        transition: none;
    }
    .nav li ul::before {
        content: "";
        display: none;

    }
    .nav ul li ul li {
        list-style: none;
        display: list-item;
        padding: 2px;
        margin: 2px;
    }
    .nav ul li ul li:hover {
        background: none;
        border-radius: 0px;
    }
    .nav ul li ul li a {
        padding: 4px;
        display: block;
        color: white;
        font-size: 1.4rem;
    }
    .nav li:hover > ul {
        display: block;
        opacity: 1;
        visibility: visible;
        transition: all 1s ease;
    }
}

/* hero */
.hero {
    display: table;
    position: relative;
    height: 100vh;
    width: 100%;
    background-image: var(--gradient-blue);
    color: #fff;
    min-height: 666px;
    transition: height .5s ease;
}
.hero canvas, .hero-inside canvas {
    display: block;
    vertical-align: bottom;
}
#particles-js {
    position: absolute;
    width: 100%;
    height: 100%;
    filter: opacity(.4);
    top: 0;
}
.tag-wrap {
    display: table-cell;
    vertical-align: middle
}
.tag {
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(1px, 4vw, 84px);
}
.tagline p {
    font-size: clamp(4rem,  0.3rem + 4.5vw, 8.0rem);
    color: #fff;
    margin-bottom: clamp(1.8rem, 2vw, 40px);
    line-height: 100%;
    font-weight: 500;
}
.tagtext {
    max-width: 500px;
    width: 30%;
}
.tagtext h1 {
    font-size: 1.6rem;
    line-height: 140%;
}
.tag-detail {
    position: absolute;
    width: 100%;
    bottom: 0;
    z-index: 9;
    left: 0;
}
.tag-detail img {
    vertical-align: middle;
    width: clamp(10px, 2vw, 14px);
    margin-right: 8px;
    margin-top: -2px;

}
.op-07 {
    opacity: .65;
}
.cursor {
    display: inline-block;
    height: 16px;
    width: 6px;
    background: var(--orange);
    vertical-align: middle;
    animation: .75s blink linear infinite;
    position:relative;
    top: -2px;
    left: 2px;
    border-radius: 2px;
    box-shadow: 0 0 10px rgba(255, 255, 255,.3);
    -webkit-box-shadow: 0 0 10px rgba(255, 255, 255,.3);
    -moz-box-shadow: 0 0 10px rgba(255, 255, 255,.3);
}
@keyframes blink {
    0%,49% {
        opacity: 0;
    }
    50%,100% {
        opacity: 1;
    }
}
.tag-detail p {
    color: #fff;
    font-size: clamp(.95rem, 2vw, 1.1rem);
    text-transform: uppercase;
    letter-spacing: .15rem;
    line-height: 190%;
    font-family: "Fira Code", monospace;
}
.mobile-break {
    display: none;
}
@media (max-width: 768px) {
    .mobile-break {
        display: inline;
    }
}
/* sections */
.dark, .dark h1, .dark h2, .dark h3, .dark h4, .dark h5 {
    color: #fff;
}
.intro {
    padding: clamp(40px, 9vw, 180px) 0;
    position: relative;
}
.intro img {
    width: auto;
    height: calc(40vh + 200px);
    position: absolute;
    bottom: 0;
    right: 30px;
}
.particles-wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: -1;
}
.particles-wrap .container {
    height: 100%;
    background-image: url('../images/particles.svg');
    background-repeat: no-repeat;
    background-position: 100% 100%;
    background-size: auto 90%;
}

.intro .c5 {
    margin-bottom: clamp(40px, 20vw, 150px)
}
@media (max-width: 1000px) {
    .particles-wrap .container {
        height: 100%;
        background-image: url('../images/particles.svg');
        background-repeat: no-repeat;
        background-position: 50% 115%;
        background-size: auto 50%;
    }
    .intro .c5 {
        margin-bottom: clamp(240px, 20vw, 400px)
    }
}
.expertise {
    background: #F7F7F7;
    padding: clamp(40px, 9vw, 180px) 0
    clamp(20px, 5vw, 60px) 0;
}
.solutions {
    position: relative;
}
.solutions-bg {
    position: absolute;
    height: 50%;
    background: #F7F7F7;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}
.solutions .numbers {
    color: #fff;
    font-size: clamp(.9rem, 2vw, 1rem);
    letter-spacing: .15rem;
    font-family: "Fira Code", monospace;
    font-weight: 500;
    margin-bottom: 1.5rem;
}
.solutions .numbers span {
    color: var(--orange);
}
.solutions-wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(10px, 2vw, 15px);
    position: relative;
    z-index: 1;
}
.solution-button {
    border-radius: 6px;
    padding: clamp(20px, 2vw, 30px);
    color: #fff;
    position: relative;
    height: clamp(400px, 30vw, 500px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: all .5s ease;
    filter: contrast(100%);
    display: flex;
}
.sol-one {
    background-image: url('../images/01.jpg');
    background-color: #212121;
    background-size: cover;
    background-position: center center;
}
.sol-two {
    background-image: url('../images/02.jpg');
    background-color: #212121;
    background-size: cover;
    background-position: center center;
}
.sol-three {
    background-image: url('../images/03.jpg');
    background-color: #212121;
    background-size: cover;
    background-position: center center;
}
.sol-four {
    background-image: url('../images/04.jpg');
    background-color: #212121;
    background-size: cover;
    background-position: center center;
}
.solution-button:hover {
    filter: contrast(120%);
}
.solution-button::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width:100%;
    z-index: 1;
    background: rgba(33,33,33, 0);
    transition: all .5s ease;
}
.solution-button:hover::after {
    background: rgba(33,33,33, .3);

}
@media (max-width: 1320px) {
    .solution-button {
        height: clamp(400px, 30vw, 500px);
    }
    .solutions-wrap {
        grid-template-columns: repeat(2, 1fr);
    }
    .solutions-bg {
        height: 75%;
    }
    .solution-content {
        max-width: 350px;
    }
}

@media (max-width: 768px) {
    .solutions-wrap {
        grid-template-columns: 1fr;
    }
    .solutions-bg {
        height: 88%;
    }
    .solution-content {
        max-width: 355px;
    }
    .solution-button {
        filter: contrast(120%);
    }
    .solution-button::after {
        background: rgba(33,33,33, .5);
    }
}
.solution-button h3 {
    color: #fff;
    font-size: clamp(2.0rem, 9vw, 2.2rem);
}
.solution-button p  {
    font-size: 1.4rem;
}
.solutions-fade {
    background-image: radial-gradient(160% 100% at 0% 0%, rgba(33,33,33, .9) 0%, rgba(33,33,33, 0) 100%);
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -0;
    background-blend-mode: hard-light;
}
.solution-content {
    z-index: 2;
    position: relative;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
}
.solution-content .button {
    position: absolute;
    left: 0;
    bottom: 0;
    margin-bottom: 0;
    z-index: 2;
}
.combo {
    background-image: var(--gradient-blue);
}
/* globla */
.global {
    overflow: hidden;
    position: relative;
}
.global-copy {
    padding: clamp(40px, 9vw, 180px) 0;
}
.globe canvas {
    width: clamp(225px, 60vw, 940px);
    position: absolute;
    right: 20px;
    top: clamp(30px, 9vw, 60px);
}
.globe {
    position: absolute;
    width: 100%;
    max-width: 1588px;
    height: 100%;
    transform: translateX(50%);
    right: 50%;
    filter: opacity(.7);

}
@media (max-width: 1000px) {
    .global {
        padding-top: clamp(250px, 8vw, 600px);
    }
    .globe {
        position: absolute;
        width: 100%;
        height: 100%;
        transform: translateX(0%);
        left: 0;
        top: 30px;
    }
    .globe canvas {
        width: 94%;
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50%) scale(1);
        filter: blur(0);
    }
    .global:hover canvas {
        transform: translateX(-50%);
    }
}
.why {
    padding: clamp(40px, 9vw, 180px) 0;
}
.why-img {
    padding: clamp(20px, 2vw, 40px) 0;
    position: relative;
}
.why img {
    width: 100%;
    height: calc(40vh + 200px);
    max-height: 500px;
    object-fit: cover;
    display: block;
}
.design {
    background: #f7f7f7;
    padding: clamp(40px, 9vw, 180px) 0;
}
.design img {
    width: 100%;
    height: auto;
    margin-top: 0;
    display: block;
}
.offering {
    padding-bottom: 1rem;
    max-width: 525px;
}
.offering h5 {
    margin-bottom: .5rem;
}
@media (max-width: 1000px) {
    .design img {
        margin-top: 40px;
    }
}
.data {
    background: rgba(255, 255, 255, 0.8);
    padding: clamp(14px, 2vw, 30px);
    border-radius: 6px;
    box-shadow: 0px 8px 30px 0px rgba(0,0,0,0.1);
    -webkit-box-shadow: 0px 8px 30px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 8px 30px 0px rgba(0,0,0,0.1);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    border: 1px solid #EAEAEA;
    width: 40%;
}
.data img {
    width: 100%;
    height: auto;
}
.bars {
    position: absolute;
    top: 0;
    left: clamp(20px, 2vw, 30px);
}
.chart {
    position: absolute;
    bottom: 0;
    left: clamp(20px, 2vw, 30px)
}
@media (max-width: 999px) {
    .why img {
        width: 100%;
        height: clamp(300px, 50vw, 500px);
        margin-top: 30px;
    }
    .data {
        width: 35%;
    }
    .data img {
        width: 100%;
        height: auto;
        margin-top: 0
    }
    .bars {
        position: absolute;
        bottom: 0 !important;
        top: auto;
        right: clamp(20px, 2vw, 30px);
        left: auto;
    }
}
.companies {
    padding: clamp(40px, 9vw, 70px) 0;
    background: #ffffff;
    font-weight: 600;
}
.companies p {
    margin-bottom: 20px;
    text-align: center;
}
.companies ul {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    flex-grow: 1;
    margin-left: 0;
    margin-top: 0;
    margin-right: 0;
}
.companies li {
    list-style: none;
    display: inline;
    margin-bottom: 0;
    flex-grow: 1;
    text-align: center;
}
.company-images {
    margin: 2rem;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.company-images__image {
    margin: 1rem;
}

.company-images.company-images--config-width .company-images__image {
    width: 6.25rem;
}

.company-images.company-images--config-height .company-images__image {
    height: 1.5rem;
}

.contact {
    background-image: var(--gradient-blue);
    position: relative;
    overflow: hidden;
}
.contact-bg {
    padding: clamp(40px, 9vw, 180px) 0;
    background: url('../images/contact-bg.svg') 10% 50% no-repeat;
    background-size:55% auto;
}
.contact .button::before {
    content: url('../images/email-icon.svg');
    position: relative;
    right: 5px;
    top: 5px;
}
.footer {
    padding: clamp(40px, 9vw, 100px) 0;
}
.footer, .footer p {
    font-size: 1.2rem;
}
.footer h3 {
    font-size: clamp(2.2rem, 5vw, 2.6rem);
    line-height: 115%;
}
.footer ul {
    margin-left: 0;
    margin-bottom: 5rem;
}
.footer li {
    list-style: none;
}
.footer li a {
    color: var(--grey)
}
.footer img {
    width: clamp(150px, 8vw, 130px);
    height: auto;
    margin-bottom: 20px;
    display: inline-block;
}
.footer span {
    font-size: 11px;
}
/* coockie */
.cookie-wrap {
    position: fixed;
    bottom:0;
    right: 0;
    width: 100%;
    background: red;
    z-index: 10;
}
.cookie-box {
    position: absolute;
    bottom:30px;
    right: 0;
    background-color: rgba(255, 255, 255, .75);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    padding: clamp(1.5rem, 4vw, 2rem);
    text-align: left;
    border-radius: 6px;
    z-index: 9;
    font-size: clamp(0.8rem, 2vw, 1rem);
    line-height: 180%;
    max-width: 360px;
    font-weight: 400;
    box-shadow: 1px 0px 12px 1px rgba(0,0,0,0.15);
    -webkit-box-shadow: 1px 0px 12px 1px rgba(0,0,0,0.15);
    -moz-box-shadow: 1px 0px 12px 1px rgba(0,0,0,0.15);
}
.cookie-box p {
    margin-bottom: 1rem;
}
.cookie-btn.button {
    margin-bottom: 0;
    font-size: 1rem;
}
.inside-section {
    padding: clamp(40px, 9vw, 180px) 0;
    position: relative;
}

.inside-section img {
    width: 100%;
    height: auto;
    margin-top: 20px;
}
@media (min-width: 999px) {
    .inside-section img {
        margin-top: 0;
    }
}

.bold-ul ul li {
    font-weight: 600;
    text-wrap: balance;
}
.faqs {
    margin-top: clamp(20px, 5vw, 50px);
}
.faq {
    border-bottom: 1px solid #d1d1d1;
    margin-bottom: 40px;
}
.faq p {
    margin-bottom: 40px;
}
.faq:last-of-type {
    margin-bottom: 0;
    border-bottom: none;
}
.page-intro {
    padding: clamp(40px, 9vw, 180px) 0;
}
.page-intro h2 {
    font-size: clamp(1.6rem, 5vw, 2rem);
    line-height: 128%;
}
.page-intro .container {
    padding-top: clamp(60px, 4vw, 100px);
}
.lean-bg {
    background: url("../images/lean-bg.jpg") center center no-repeat;
    background-size: cover;
}
.about-bg {
    background: url("../images/about.jpg") center center no-repeat;
    background-size: cover;
}
.qa-qc {
    background: url("../images/qa-qc.jpg") center center no-repeat;
    background-size: cover;
}
.design-risk {
    background: url("../images/design-risk.jpg") center center no-repeat;
    background-size: cover;
}
.operations {
    background: url("../images/operations.jpg") center center no-repeat;
    background-size: cover;
}
.digital {
    background: url("../images/digital-bg.jpg") center center no-repeat;
    background-size: cover;
}

.grey-bg {
    background: var(--light-grey);
}
.blue-bg {
    background-image: var(--gradient-blue);
}
.content img {
    border-radius: 6px;
}
.col3  h3, .col2 h3 {
    font-size: 2.2rem;
}
.col3 .c4, .col2 .c6 {
    margin-bottom: 2.2rem;
}

.mid-img {
}
.qc-mid {
    background:url("../images/qc-img.jpg") top center no-repeat;
    background-size: cover;
    height: clamp(27vw, 50vw, 85vh);
}
.leadership hr {
    margin: clamp(40px, 9vw, 180px) 0;
}
.leadership h3 {
    margin-bottom: 0px;
}
.process .c6 p {
    text-wrap: balance;
}
.website-box {
    aspect-ratio: 16 / 9;   /* keeps 16:9 ratio */
    width: 100%;            /* responsive */
    overflow: hidden;
    position: relative;
    border-radius: clamp(3px, 2vw, 12px);
    box-shadow: 0px 40px 70px -25px rgba(0,0,0,0.20);
    -webkit-box-shadow: 0px 40px 70px -25px rgba(0,0,0,0.20);
    -moz-box-shadow: 0px 40px 70px -25px rgba(0,0,0,0.20);
}

.website-box img {
    width: 100%;
    height: auto;
    margin-top: clamp(25px, 5vw, 40px);
}
.last-site {
    margin-bottom: clamp(40px, 9vw, 180px);
}
.desktop-device-top {
  border-radius: 7px 7px 0 0;
  height: clamp(25px, 5vw, 40px);
  background: rgba(50,50,50, .80);
  position: absolute;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  line-height: 0;
  top: 0;
  width: 100%;
  border-bottom: 1px solid rgba(255,255,255, .08);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(480%) blur(20px);
}
.desktop-device-top-left {
  padding-left: 18px;
}
.desktop-device-top-left svg {
  margin-top: clamp(1px, 5vw, 3px);
}



















/* basics */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}
body {
    font-size: clamp(1.4rem, 5vw, 1.6rem);
    line-height: 170%;
    font-weight: 350;
    letter-spacing: 0.018rem;
    font-family: "Inter", sans-serif;
    color: var(--grey);
}
body .small {
    font-size: clamp(1rem, 5vw, 1.4rem);
    line-height: 160%;
}


h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 1.25rem;
    font-family: "Inter", sans-serif;
    color: var(--grey);
    text-wrap: balance;
    font-weight: 500;
}
h1 { font-size: clamp(3.5rem, 5vw, 5.5rem);
    line-height: 115%;
    letter-spacing: -0.05rem;
}
h2 {
    font-size: clamp(3rem, 5vw, 4rem);
    line-height: 110%;
    letter-spacing: -0.05rem;
}
h3 {
    font-size: clamp(2.6rem, 5vw, 3.2rem);
    line-height: 125%;
    letter-spacing: -.016rem;
}
h4 {
    font-size: clamp(2rem, 5vw, 2.6rem);
    line-height: 125%;
}
h5 {
    font-size: clamp(1.6rem, 5vw, 2rem);
    line-height: 155%;
}

p {
    margin-top: 0;
    text-wrap: pretty;
}
.last p:last-of-type, .last a:last-of-type {
    margin-bottom: 0;
}
/* Links  */
a {
    color: #187bba;
    text-decoration: none;
    transition: color .25s ease;
}
.quote {
    padding-left: 20px;
    margin-bottom: 2rem;
    border-left: 2px solid var(--orange);
}
blockquote, q {
    font-weight: 630;
    font-size: 1.7rem;
    margin-left: 0;
    display: inline-block;
    margin-bottom: 1rem;
    text-wrap: balance;
}
.quote span {
    font-weight: 600;
    font-size: 1.2rem;
}

a:hover {
    color: #0E6086;
    text-decoration: underline;
}
.dark a {
    color: #C1ECFF;
}
.dark a:hover {
    color: #C1ECFF;
    text-decoration: underline;
}

/* Buttons  */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
    display: inline-block;
    height: 40px;
    padding: 0 20px;
    color: var(--grey);
    text-align: center;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 42px;
    letter-spacing: .05rem;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    background-color: var(--white);
    border-radius: 4px;
    cursor: pointer;
    box-sizing: border-box;
    border: none;
    transition: all .15s ease;
    margin-right: 10px;
}
@media (max-width: 500px) {
    .button,
    button,
    input[type="submit"],
    input[type="reset"],
    input[type="button"] {
        width: 100%;
    }
}
.button:last-of-type {
    margin-right: 0;
}
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
    color: var(--grey);
    background-color: #E0E0E0;
    text-decoration: none;
}
.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
    color: #FFF;
    background-color: var(--orange);
    text-decoration: none;
}
.button-primary::before {
    content: url('../images/partner-icon.svg');
    position: relative;
    right: 5px;
    top: 4px;
}
.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
    color: #FFF;
    background-color: var(--orange-hover);
    text-decoration: none;
}
/* secondary white button */
.dark .button-secondary {
    background-color: var(--white);
    color: var(--grey);
    text-decoration: none;
}
.dark .button-secondary:hover {
    background-color: #E0E0E0;
    color: var(--grey);
    text-decoration: none;
}
.dark .button-secondary.solutions-icon::before {
    content: url('../images/solutions-icon-dark.svg');
    position: relative;
    right: 5px;
    top: 2px;
}


/* secondary dark button */
.bright .button-secondary {
    background-color: var(--blue);
    color: #fff;
}
.bright .button-secondary:hover {
    background-color: var(--blue-hover);
    color: #fff;
}
.bright .button-secondary.solutions-icon::before {
    content: url('../images/solutions-icon-white.svg');
    position: relative;
    right: 5px;
    top: 2px;
}


/* Forms  */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
    height: 38px;
    padding: 6px 10px;
    background-color: #fff;
    border: 1px solid #D1D1D1;
    border-radius: 4px;
    box-shadow: none;
    box-sizing: border-box;
    width: 100%;
}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
textarea {
    min-height: 100px;
    padding-top: 6px;
    padding-bottom: 6px;
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
    border: 1px solid #33C3F0;
    outline: 0;
}
label,
legend {
    display: block;
    margin-bottom: .5rem;
    font-weight: 600;
}
fieldset {
    padding: 0;
    border-width: 0;
}
input[type="checkbox"],
input[type="radio"] {
    display: inline;
}
label > .label-body {
    display: inline-block;
    margin-left: .5rem;
    font-weight: normal;
}
.form-group {
    margin-bottom: 20px;
}


/* Lists  */
ul {
    list-style: circle outside;
    margin-left: 20px;
    list-style-type: disc;
}
ol {
    list-style: decimal inside;
}
ol, ul {
    padding-left: 0;
    margin-top: 0;
}
ul ul,
ul ol,
ol ol,
ol ul {
    margin: 1.5rem 0 1.5rem 3rem;
    font-size: 90%;
}
li {
    margin-bottom: 1rem;
}
ul li::marker {
    color: var(--orange);
}


/* Code */
code {
    padding: .2rem .5rem;
    margin: 0 .2rem;
    font-size: 90%;
    white-space: nowrap;
    background: #F1F1F1;
    border: 1px solid #E1E1E1;
    border-radius: 4px;
}
pre > code {
    display: block;
    padding: 1rem 1.5rem;
    white-space: pre;
}
pre {  overflow: scroll; }


/* Tables  */
th,
td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #E1E1E1;
}
th:first-child,
td:first-child {
    padding-left: 0;
}
th:last-child,
td:last-child {
    padding-right: 0;
}


/* Spacing */
button,
.button {
    margin-bottom: 1rem;
}
input,
textarea,
select,
fieldset {
    margin-bottom: 1.5rem;
}
pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
    margin-bottom: 2.5rem;
}

figure {
    margin: 0 0 0 0;
}

iframe {
    margin-bottom: 40px;
    width: 100%;
    aspect-ratio: 16 / 9;
}
p {
    text-wrap: pretty;
}

/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.flex-grid-thirds, .flex-grid-fourths {
    display: flex;
    flex-wrap: wrap;
}
.flex-grid-thirds .col, .flex-grid-fourths .col {
    flex: none;
}
.flex-grid-thirds .col:nth-child(4n+0) {
    margin-left: 0;
}

.flex-grid-fourths .col:nth-child(4n+1) {
    margin-left: 0;
}

.flex-grid {
    display: flex;
    flex-direction:row;
    flex-wrap: wrap;
    align-content: space-between;

}
.col {
    flex: 1;
}

.container {
    position: relative;
    width: 90%;
    max-width: 1588px;
    margin: 0 auto;
    box-sizing: border-box;
}
.column,
.columns {
    width: 100%;
    float: left;
    box-sizing: border-box;
}


/* For devices larger than 768px */
@media (min-width: 1000px) {

    .column,
    .columns {
        margin-left: 5%;
    }
    .column:first-child,
    .columns:first-child {
        margin-left: 0;
    }


    .c1.column,
    .c1.columns                    { width: 3.75%; }
    .c2.columns                    { width: 12.5%; }
    .c3.columns                  { width: 21.25%;            }
    .c4.columns                   { width: 30%; }
    .c5.columns                   { width: 38.75%; }
    .c6.columns                    { width: 47.5%;            }
    .c7.columns                  { width: 56.25%; }
    .c8.columns                  { width: 65%; }
    .c9.columns                   { width: 73.75%;          }
    .c10.columns                    { width: 82.5%; }
    .c11.columns                 { width: 91.25%; }
    .c12.columns                 { width: 100%; margin-left: 0; }



    /* Offsets */
    .offset-by-one.column,
    .offset-by-one.columns          { margin-left: 13.66666666667%; }
    .offset-by-two.column,
    .offset-by-two.columns          { margin-left: 22.50%; }
    .offset-by-three.column,
    .offset-by-three.columns        { margin-left: 27%;}
    .offset-by-four.column,
    .offset-by-four.columns         { margin-left: 35.6666666667%; }
    .offset-by-five.column,
    .offset-by-five.columns         { margin-left: 44.3333333333%; }
    .offset-by-six.column,
    .offset-by-six.columns          { margin-left: 53%;            }
    .offset-by-seven.column,
    .offset-by-seven.columns        { margin-left: 61.6666666667%; }
    .offset-by-eight.column,
    .offset-by-eight.columns        { margin-left: 70.3333333333%; }
    .offset-by-nine.column,
    .offset-by-nine.columns         { margin-left: 79.0%;          }
    .offset-by-ten.column,
    .offset-by-ten.columns          { margin-left: 87.6666666667%; }
    .offset-by-eleven.column,
    .offset-by-eleven.columns       { margin-left: 96.3333333333%; }
}


@media (min-width: 800px) and (max-width: 1250px) {
    .thirds .c4.columns {
        width: 47.5%;
    }

    .thirds .c4.columns:nth-child(odd)  {
        margin-left: 0;
    }
    .thirds .c4.columns:nth-child(even)  {
        margin-left: 5%;
    }

    .fourths .c3.columns {
        width: 47.5%;
    }

    .fourths .c3.columns:nth-child(odd)  {
        margin-left: 0;
    }
    .fourths .c3.columns:nth-child(even)  {
        margin-left: 5%;
    }

}


/* utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
    width: 100%;
    box-sizing: border-box;
}
.u-max-full-width {
    max-width: 100%;
    box-sizing: border-box;
}
.u-pull-right {
    float: right;
}
.u-pull-left {
    float: left;
}


hr {
    /* margin-top: clamp(26px, 5vw, 80px);
    margin-bottom: clamp(38px, 5vw, 88px); */
    border-width: 0;
    border-top: 1px solid #E1E1E1;
    width: 100%;
}
.dark hr {
    border-top: 1px solid var(--line-dark);
}

/* Clearing */

/* Self Clearing Goodness */
.container:after,
.row:after,
.u-cf {
    content: "";
    display: table;
    clear: both;
}






/* Typography Utilities */
.u-caps { text-transform: uppercase; letter-spacing: .5rem }
.u-text-right { text-align: right; }
.u-text-left { text-align: left; }
.u-text-center { text-align: center; }
.u-bold     { font-weight: bold; }
.u-semi-bold     { font-weight: 600; }
.u-regular  { font-weight: normal; }
.u-italic   { font-style: italic; }
.u-white	{ color: #fff; }
.u-gray { color: #848484; }
.u-dark-gray { color: #282828; }
.u-red { color: #bd2c00;}
.u-green { color: #6cc644;}
.u-last {
    margin-bottom: 0 !important;
}

/* layout */
.u-relative { position: relative; }
.u-absolute { position: absolute; }
.u-fixed { position: fixed; }
.u-zindex-1 { z-index: 1; }
.u-zindex-2 { z-index: 2; }
.u-zindex-3 { z-index: 3; }

.u-hide { display: none; }
.u-show .u-block  { display: block; }

.u-inline       { display: inline; }
.u-inline-block { display: inline-block; }
.u-flex         { display: flex; }

.u-m0 { margin: 0;}
.u-mt0 { margin-top: 0; }
.u-mr0 { margin-right: 0;}
.u-mb0 { margin-bottom: 0;}
.u-ml0 { margin-left: 0;}

.u-fit         { max-width: 100%; }
.u-half-width  { width: 50% }
.u-full-width  { width: 100%; }
.u-full-height { height: 100%; }

.u-right { float: right; }
.u-left { float: left; }
.u-centered { display: block; float: none; margin-right: auto; margin-left: auto }

.u-bg-white         { background-color: #fff; }
.u-bg-gray          { background-color: #848484; }
.u-bg-dark-gray     { background-color: #282828; }
.u-bg-light-gray {background-color: #eeeeee;}
.u-bg-green     { background-color: #6cc644; }
.u-bg-red     { background-color: #bd2c00; }

.u-img-circle { border-radius: 50%; }

.u-bg-fixed { background-attachment:inherit !important; }
@media (min-width: 980px) {
    .u-bg-fixed {	background-attachment: fixed !important; 	}
}

/* Clearing */
.u-container:after, .u-row:after,  .u-cf {
    content: "";
    display: table;
    clear: both;
}
/* Clear Fix */
.u-clearfix:before, .u-clearfix:after {
    content: "";
    display: table;
}
.u-clearfix:after {
    clear: both;
}
.u-clearfix {
    zoom: 1; /* ie 6/7 */
}




/* Nomrmalize
–––––––––––––––––––––––––––––––––––––––––––––––––– */

html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

body {
    margin: 0;
}

main {
    display: block;
}

/* h1 {
font-size: 2em;
margin: 0.67em 0;
}
*/
hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
}

pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

a {
    background-color: transparent;
}

abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

img {
    border-style: none;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
}

button,
input { /* 1 */
    overflow: visible;
}

button,
select { /* 1 */
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
}

details {
    display: block;
}

summary {
    display: list-item;
}

template {
    display: none;
}

[hidden] {
    display: none;
}
.no-flick {
    -webkit-transform:translate3d(0, 0, 0);
}
