@font-face {
    font-display: block; 
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/outfit-v11-latin_latin-ext-regular.eot'); 
    src: url('../fonts/outfit-v11-latin_latin-ext-regular.eot?#iefix') format('embedded-opentype'), 
         url('../fonts/outfit-v11-latin_latin-ext-regular.woff2') format('woff2'), 
         url('../fonts/outfit-v11-latin_latin-ext-regular.woff') format('woff'), 
         url('../fonts/outfit-v11-latin_latin-ext-regular.ttf') format('truetype'), 
         url('../fonts/outfit-v11-latin_latin-ext-regular.svg#Outfit') format('svg'); 
  }
  
  @font-face {
    font-display: block; 
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/outfit-v11-latin_latin-ext-600.eot'); 
    src: url('../fonts/outfit-v11-latin_latin-ext-600.eot?#iefix') format('embedded-opentype'), 
         url('../fonts/outfit-v11-latin_latin-ext-600.woff2') format('woff2'), 
         url('../fonts/outfit-v11-latin_latin-ext-600.woff') format('woff'), 
         url('../fonts/outfit-v11-latin_latin-ext-600.ttf') format('truetype'), 
         url('../fonts/outfit-v11-latin_latin-ext-600.svg#Outfit') format('svg'); 
  }
  
  @font-face {
    font-display: block; 
    font-family: 'Outfit';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/outfit-v11-latin_latin-ext-700.eot'); 
    src: url('../fonts/outfit-v11-latin_latin-ext-700.eot?#iefix') format('embedded-opentype'), 
         url('../fonts/outfit-v11-latin_latin-ext-700.woff2') format('woff2'), 
         url('../fonts/outfit-v11-latin_latin-ext-700.woff') format('woff'), 
         url('../fonts/outfit-v11-latin_latin-ext-700.ttf') format('truetype'), 
         url('../fonts/outfit-v11-latin_latin-ext-700.svg#Outfit') format('svg'); 
  }
.wrapper {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.wider-wrapper {
    max-width: 1392px;
    padding-left: 96px;
    padding-right: 96px;
    margin-left: auto;
    margin-right: auto;
}


@media all and (max-width:1410px) { 
    .wider-wrapper {
        margin-left: 8px;
        margin-right: 8px;
    }
}

@media all and (max-width:1239px) { 
    .wrapper {
        margin-left: 20px;
        margin-right: 20px;
    }
}
@media all and (max-width:719px) { 
    .wider-wrapper {
        padding-left: 16px;
        padding-right: 16px;
    }
}
.flow {
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    -ms-justify-content: space-between; -webkit-justify-content: space-between; -moz-justify-content: space-between; justify-content: space-between;
}

@media (max-width: 719px) {
    .flow {
        -ms-flex-direction: column !important; -webkit-flex-direction: column !important; -moz-flex-direction: column !important; flex-direction: column !important;
    }
}

.flow-equal > * {
    -ms-flex: 1 1 0px; -webkit-flex: 1 1 0px; -moz-flex: 1 1 0px; flex: 1 1 0px;
}
html, body, * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body, button, li {
    font: 16px Outfit, sans-serif;    
    line-height: 1.4em;
}

@media all and (max-width:1000px) { 
    html, body, button {
        font: 14px Outfit, sans-serif;    
        line-height: 1.4em;
    }
}

@media all and (max-width:719px) { 
    html, body, button {
        font: 16px Outfit, sans-serif;    
        line-height: 1.4em;
    }
}

h1 { 
    font-size: 4rem;
    line-height: 1em;
    color: #00AAFF;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

h2 {
    font-size: 2.5rem;
    line-height: 1em;
    color: #00AAFF;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

h3 {
    font-size: 1.25rem;
    line-height: 1em;
    color: #00AAFF;
    font-weight: 600;
    margin-bottom: 1rem;
}

p {
    line-height: 1.4em;
    margin-bottom: 1rem;
}

strong {
    font-weight: 600;
}

@media (max-width: 719px) {
    h1 {
        font-size: 2rem;
        line-height: 1.2em;
    }
    h2 {
        font-size: 1.5rem;
        line-height: 1.2em;
    }
}
.responsive-object {
    position: relative;
}

.responsive-object iframe,
.responsive-object object,
.responsive-object embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
a.button {
    display: inline-block;
    padding: 0.55em 1em; 
    text-decoration: none;
    border-radius: 999px;
    font-weight: 600;
}

div.button a {
    display: inline-block;
    padding: 0.55em 1em; 
    text-decoration: none;
    border-radius: 999px;
    font-weight: 600;
    background: #3B28CC;
    color: #ffffff;
    margin-bottom: 2rem;
}

p {
    margin: 0 0 2rem;
}

h2, h3, h4 {
    line-height: 1em;
}


.body-text p {
    font-size: 1.25rem;
}

.body-text ul {
    list-style-position: outside;
    padding-left: 2rem;
}

.body-text ul li {
    margin-bottom: 0.75rem;
    font-size: 1.25rem;
}

@media (max-width: 719px) {
    a.button {
        font-size: 0.75rem;
        padding: 0.35em 1em; 
    }
    
    .body-text p {
        font-size: 1rem;
        margin-bottom: 1.25rem;
    }
    .body-text ul {
        padding-left: 1.25rem;
    }
    .body-text ul li {
        margin-bottom: 0.25rem;
        font-size: 1rem;
    }
}
@media (min-width: 720px) {
    .mobile-only { display: none; }
}

@media (max-width: 719px) {
    .no-mobile { display: none; }
}
.bg-blue {
    background: #00A6FF;
}

.bg-hover { 
    transition: background-color 0.2s ease;
}

.bg-blue.bg-hover:hover {
    background-color: #55c4ff;
}

.bg-blue-swirl {
    background: url('../images/bg-blue01.svg') center #00A6FF;
    background-size: cover;
}

.bg-sky {
    background: #CCEEFF;
}

.bg-grey {
    background: #EBF0F1;
}

.bg-grey-squiggle {
    background: url("data:image/svg+xml,%3Csvg width='1207' height='1754' viewBox='0 0 1207 1754' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M63.8147 510.32C59.6315 527.58 42.253 538.175 24.9927 533.992C7.73235 529.808 -2.86216 512.43 1.32106 495.169C5.50427 477.909 22.8828 467.315 40.1432 471.498C57.4035 475.681 67.9979 493.06 63.8147 510.32ZM880.551 404.748C900.94 278.069 920.192 150.381 934.97 23.2388C926.139 43.0363 917.409 62.8248 908.688 82.5132C806.581 319.338 715.269 561.919 628.176 804.827C597.193 888.192 565.901 971.229 531.025 1053.39C514.402 1091.77 497.387 1131.14 475.371 1167.83C458.247 1195.96 436.494 1221.6 404.447 1235.54C331.977 1267.28 252.187 1224.41 234.626 1148.51C226.178 1112.36 230.161 1075.71 233.772 1040.38C239.182 993.827 246.803 948.103 254.924 902.769C245.348 927.732 235.627 952.641 225.723 977.458C215.102 1003.98 204.207 1030.49 192.258 1056.67C181.663 1079.45 170.923 1102.46 156.136 1123.73C139.967 1147.13 115.186 1166.2 83.3121 1166.1C48.5823 1166.29 19.1361 1142.45 8.96001 1111.39C0.448076 1086.02 2.29415 1059.48 3.93106 1033.78C12.4248 939.036 30.84 847.705 48.0549 755.011C80.8386 583.49 120.643 401.693 155.791 224.752C132.729 285.19 110.348 346.165 88.7321 407.031C73.4543 445.735 17.1355 427.465 27.6299 386.997C65.5062 263.292 103.719 140.123 149.98 19.1466C160.884 -8.03523 171.851 -36.481 187.329 -62.4534C193.758 -72.9205 201.988 -83.8242 214.41 -90.5355C231.371 -100.021 254.251 -98.0198 269.174 -84.2061C283.879 -71.0108 287.344 -52.0317 288.081 -34.9078C288.99 -8.9173 286.325 15.6818 283.661 40.9175C263.2 202.954 236.709 369.4 211.373 535.074C274.994 334.206 335.942 132.412 401.091 -68.3099C418.542 -121.5 436.166 -174.9 455.864 -227.918C464.267 -250.162 472.479 -271.742 483.428 -293.985C492.84 -312.71 503.925 -330.488 522.523 -344.557C567.72 -379.659 636.997 -369.074 668.371 -317.475C682.121 -294.358 684.859 -274.07 685.031 -250.362C684.268 -205.856 676.774 -162.096 670.381 -118.763C659.15 -48.6397 647.064 21.3382 634.496 91.2343C677.875 -14.3829 723.681 -119.027 773.034 -222.234C799.197 -275.188 827.134 -329.006 860.518 -380.069C878.123 -406.605 896.975 -432.459 921.229 -455.73C946.364 -479.757 978.184 -499.991 1015.64 -506.311C1060.34 -514.468 1109.26 -500.127 1142.86 -467.671C1182.12 -430.549 1197.02 -377.532 1203.05 -327.197C1207.19 -294.195 1207.98 -260.556 1207.96 -228.909C1206.16 -75.6579 1186.64 74.6651 1166.91 225.261C1156.88 298.895 1145.97 372.137 1134.55 445.171C1123.59 515.34 1057.8 563.338 987.624 552.379C917.2 541.394 869.12 475.108 880.533 404.766L880.551 404.748ZM262.427 -18.6024C262.299 -18.4387 262.172 -18.2568 262.045 -18.0931C263.218 -19.3026 262.808 -19.0934 262.427 -18.6024ZM147.825 1068.63C147.734 1068.03 147.606 1067.45 147.479 1066.89C147.488 1067.02 147.497 1067.16 147.506 1067.3C147.625 1068.32 147.761 1069.12 147.834 1069.21C147.87 1069.24 147.879 1069.11 147.816 1068.64L147.825 1068.63ZM657.45 -207.975C657.149 -207.475 656.84 -206.965 656.54 -206.429C656.613 -206.538 656.677 -206.638 656.749 -206.729C657.777 -208.32 657.686 -208.339 657.45 -207.975V-207.975ZM463.467 1100.69C463.457 1100.59 463.439 1100.48 463.421 1100.37C463.439 1100.74 463.439 1101.1 463.457 1101.46C463.494 1101.81 463.548 1101.74 463.467 1100.69V1100.69ZM1094.98 -272.742C1094.93 -272.697 1094.89 -272.651 1094.84 -272.606C1095.16 -272.888 1095.15 -272.915 1094.98 -272.742Z' fill='%23F4F6F7'/%3E%3C/svg%3E%0A") right calc(50% - 360px) top 0 no-repeat #EBF0F1;
    background-size: 1100px;
    position: relative;
    z-index: 2;
}

.bg-dark {
    background: #597073;
}

.bg-grey-squiggle + .bg-dark {
    position: relative;
    z-index: 1;
}

.fg-white {
    color: #ffffff;
}

.bg-accent {
    background: #3B28CC;
}

.bg-accent.bg-hover:hover {
    background-color: #7b6aff;
}
.faq {
    padding-top: 4rem;
    padding-bottom: 3rem;
}

.faq h2 {
    font-size: 2.25rem;
}

.faq__inner {
    background: #ffffff;
    border-radius: 1.25rem;
    padding-top: 3rem;
    padding-bottom: 4rem;
}

.faq__resources {
    -ms-flex: 0 1 40%; -webkit-flex: 0 1 40%; -moz-flex: 0 1 40%; flex: 0 1 40%;
}

.faq__body {
    -ms-flex: 0 1 60%; -webkit-flex: 0 1 60%; -moz-flex: 0 1 60%; flex: 0 1 60%;
}

.faq__item {
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
    font-size: 1.5rem;
}

.faq__item + .faq__item {
    border-top: none;
}

.faq__question {
    padding: 1.35rem 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='12' fill='none'%3E%3Cpath stroke='%23000' stroke-width='3' d='m17.5 1.5-8 8-8-8'/%3E%3C/svg%3E") right no-repeat;
    cursor: pointer;
}

.faq__item[data-open] .faq__question {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='12' fill='none'%3E%3Cpath stroke='%23000' stroke-width='3' d='m17.5 10.561-8-8-8 8'/%3E%3C/svg%3E");
}

.faq__answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease;
}

.faq__item[data-open] .faq__answer {
    max-height: 500px;
}

.faq__resources h3 {
    font-size: 1.5rem;
    display: inline-block;
    position: relative;
    margin-bottom: 3rem;
}

.faq__resources h3:after {
    content: "";
    background: #00AAFF;
    position: absolute;
    height: 0.5rem;
    left: 0;
    width: 100%;
    top: 125%;
    border-radius: 999px;
}

.faq__resources a.button {
    display: inline-block;
    margin-bottom: 1rem;
    font-size: 1.5rem;
    padding: 0.3em 0.6em;
    font-weight: 400;
}

@media all and (max-width:719px) { 
    .faq {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .faq .wider-wrapper {
        margin-left: 16px;
        margin-right: 16px;
    }
    .faq__inner {
        padding-top: 2rem;
        padding-bottom: 1px;
    }
    .faq__inner.flow {
        -ms-flex-direction: column-reverse; -webkit-flex-direction: column-reverse; -moz-flex-direction: column-reverse; flex-direction: column-reverse;
    }

    .faq__body {
        margin-bottom: 4rem;
    }
    .faq h2 {
        font-size: 1.5rem;
        margin-bottom: 2rem;
    }
    .faq__item {
        font-size: 1rem;
    }
    .faq__question {
        padding: 1rem 0;
    }
    .faq__resources a.button {
        font-size: 1.25rem;
    }
    
}
.text-with-cards {
    padding: 4.5rem 0 6.5rem;
    gap: 16%;
    align-items: center;
}

.text-with-cards--right {
    -ms-flex-direction: row-reverse; -webkit-flex-direction: row-reverse; -moz-flex-direction: row-reverse; flex-direction: row-reverse;
}

.text-with-cards__text {
    -ms-flex: 0 1 30%; -webkit-flex: 0 1 30%; -moz-flex: 0 1 30%; flex: 0 1 30%;
}

.text-with-cards__text p {
    font-size: 1.25rem;
    line-height: 1.4em;
}

.text-with-cards__cards {
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    -ms-flex-direction: row; -webkit-flex-direction: row; -moz-flex-direction: row; flex-direction: row;
    -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; flex-wrap: wrap;
    gap: 1em;
    -ms-flex: 1 0 60%; -webkit-flex: 1 0 60%; -moz-flex: 1 0 60%; flex: 1 0 60%;
    -ms-justify-content: right; -webkit-justify-content: right; -moz-justify-content: right; justify-content: right;
    position: relative;
}

.text-with-cards--right .text-with-cards__cards {
    -ms-justify-content: left; -webkit-justify-content: left; -moz-justify-content: left; justify-content: left;
}
    
.text-with-cards__card {
    background: #5a7073;
    background-size: cover;
    background-repeat: no-repeat;
    color: #ffffff;
    width: 46.6%;
    height: 21rem;
    border-radius: 1.4rem;
    padding: 1.5rem;
    font-size: 2.5rem;
    line-height: 1.4em;
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    -ms-justify-content: space-between; -webkit-justify-content: space-between; -moz-justify-content: space-between; justify-content: space-between;
    align-items: flex-end;
    vertical-align: middle;
    text-decoration: none;
}

.text-with-cards__card:nth-child(4n+1) {
    background-image: url('../images/bg-card01.svg');
}
.text-with-cards__card:nth-child(4n+2) {
    background-image: url('../images/bg-card02.svg');
}
.text-with-cards__card:nth-child(4n+3) {
    background-image: url('../images/bg-card03.svg');
}
.text-with-cards__card:nth-child(4n+4) {
    background-image: url('../images/bg-card04.svg');
}



.text-with-cards--blue .text-with-cards__cards {
    -ms-justify-content: right; -webkit-justify-content: right; -moz-justify-content: right; justify-content: right;
    -ms-flex: 0 1 51%; -webkit-flex: 0 1 51%; -moz-flex: 0 1 51%; flex: 0 1 51%;
}

.text-with-cards--blue .text-with-cards__card {
    padding-bottom: 1rem;
    background: #00a6ff;
}
.text-with-cards--blue .text-with-cards__card:nth-child(1) {
    background-image: url('../images/bg-card05.svg');
    background-size: cover;
    -ms-flex: 0 1 78%; -webkit-flex: 0 1 78%; -moz-flex: 0 1 78%; flex: 0 1 78%;
}
.text-with-cards--blue .text-with-cards__card:nth-child(2) {
    background-image: url('../images/bg-card06.svg');
    background-size: cover;
    -ms-flex: 0 1 22rem; -webkit-flex: 0 1 22rem; -moz-flex: 0 1 22rem; flex: 0 1 22rem;
}
.text-with-cards--blue .text-with-cards__card:nth-child(3) {
    background-image: url('../images/bg-card07.svg');
    background-size: cover;
    -ms-flex: 0 1 14rem; -webkit-flex: 0 1 14rem; -moz-flex: 0 1 14rem; flex: 0 1 14rem;
    height: 14.2rem;
}

@media (min-width: 720px) {
    .text-with-cards--grey .text-with-cards__card:nth-child(2n) {
        position: relative;
        top: 2.93rem;
    }
}
@media (max-width: 719px) {
    .text-with-cards__text p {
        font-size: 1rem;
    }
    .text-with-cards__cards,
    .text-with-cards--blue .text-with-cards__cards {
        
        overflow-x: scroll;
        -ms-flex-wrap: nowrap; -webkit-flex-wrap: nowrap; -moz-flex-wrap: nowrap; flex-wrap: nowrap;
        -ms-flex-direction: row; -webkit-flex-direction: row; -moz-flex-direction: row; flex-direction: row;
        -ms-justify-content: left; -webkit-justify-content: left; -moz-justify-content: left; justify-content: left;
        width: 100vw;
        padding: 1.25rem;
    }
    .text-with-cards__card,
    .text-with-cards--blue .text-with-cards__card:nth-child(1),
    .text-with-cards--blue .text-with-cards__card:nth-child(2),
    .text-with-cards--blue .text-with-cards__card:nth-child(3) {
        -ms-flex: 0 0 70vw; -webkit-flex: 0 0 70vw; -moz-flex: 0 0 70vw; flex: 0 0 70vw;
        height: 90vw;
        font-size: 1.5rem;
    }
    .text-with-cards__card svg {
        height: 32px;
    }
    .text-with-cards--right {
        -ms-flex-direction: column; -webkit-flex-direction: column; -moz-flex-direction: column; flex-direction: column;
    }
}
.logo-bar {
    padding-top: 4rem;
    padding-bottom: 3.5rem;
}

.logo-bar h2 {
    color: #3B28CC;
    margin-bottom: 3rem;
}

.logo-bar__text {
    text-align: center;
}

.logo-bar__items {
    -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; flex-wrap: wrap;
    gap: 4.5rem;
    row-gap: 6rem;
    -ms-justify-content: space-evenly; -webkit-justify-content: space-evenly; -moz-justify-content: space-evenly; justify-content: space-evenly;
    align-items: center;
    padding: 4rem;
}
.case-study {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}

.case-study__grid {
    display: grid;
    grid-template-columns: 40% 60%;
    grid-template-rows: 0.9fr 1.1fr;
    gap: 1rem;
}

.case-study__logo {
    grid-row: 1;
    grid-column: 1;
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    -ms-justify-content: flex-end; -webkit-justify-content: flex-end; -moz-justify-content: flex-end; justify-content: flex-end;
    align-items: end;
}

.case-study__logo-inner {
    display: inline-block;
    padding: 1rem;
    background: #FFFFFF;
    border-radius: 1.25rem;
}

.case-study__text {
    padding: 3.5rem 3.2rem;
    background: #ffffff;
    border-radius: 1.25rem;
    grid-column: 2;
    grid-row: 1 / 3;
}

.case-study__text h3 {
    font-size: 2.25rem;
}
.case-study__text > p {
    font-size: 1.5rem;
    max-width: 33rem;
    margin-bottom: 2.5rem;
}

.case-study__actions a {
    color: #2A2C35;
    text-decoration: none;
    display: inline-block;
    position: relative;
    font-weight: 600;
    margin-top: 0.5rem;
}

.case-study__actions a:after {
    content: "";
    background: #2A2C35;
    position: absolute;
    height: 0.5rem;
    left: 0;
    width: 100%;
    top: 90%;
    border-radius: 999px;
}

.case-study__details > * {
    padding-right: 4rem;
}

.case-study__details p {
    font-size: 1rem;
}

.case-study__aside-image {
    background-size: cover;
    border-radius: 1.25rem;
}

.case-study__aside-testimonial {
    background: url('../images/bg-grey-squiggle.svg') center;
    border-radius: 1.25rem;
    background-size: cover;
    text-align: center;
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    -ms-flex-direction: column; -webkit-flex-direction: column; -moz-flex-direction: column; flex-direction: column;
    padding: 1.75rem;
}

.case-study__aside-testimonial-body {
    -ms-flex: 1 1 auto; -webkit-flex: 1 1 auto; -moz-flex: 1 1 auto; flex: 1 1 auto;
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    -ms-flex-direction: column; -webkit-flex-direction: column; -moz-flex-direction: column; flex-direction: column;
    -ms-justify-content: space-around; -webkit-justify-content: space-around; -moz-justify-content: space-around; justify-content: space-around;
    padding: 1rem;
}

.case-study__aside-testimonial-body p:last-child {
    margin-bottom: 0rem;
}

.case-study__stats {
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    list-style-type: none;
    color: #ffffff;
    margin: 6rem 0 0rem;
    gap: 1rem;
}

.case-study__stat {
    font-size: 1.4rem;
    -ms-flex: 0 0 30%; -webkit-flex: 0 0 30%; -moz-flex: 0 0 30%; flex: 0 0 30%;
}

.case-study__stat p {
    max-width: 14rem;
    margin-bottom: 0rem;
}

.case-study__stat:nth-child(1) {
    -ms-flex: 0 0 40%; -webkit-flex: 0 0 40%; -moz-flex: 0 0 40%; flex: 0 0 40%;
}

.case-study__stats strong {
    display: block;
    font-size: 4rem;
    line-height: 1.2em;
    margin-bottom: 0.15em;
}


.case-study--left .case-study__grid {
    grid-template-columns: 60% 40%;
}

.case-study--left .case-study__logo {
    grid-column: 2;
    -ms-justify-content: flex-start; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; justify-content: flex-start;
}

.case-study--left .case-study__text {
    grid-column: 1;
}


.case-study--dark .case-study__logo-inner {
    background: #2A2C35;
}
.case-study--dark .case-study__text {
    background: #2A2C35;
    color: #ffffff;
}
.case-study--dark .case-study__actions a {
    color: #00A6FF;
}
.case-study--dark .case-study__actions a:after {
    background: #00A6FF;
}


@media (max-width: 719px) {
    .case-study {
        padding-top: 2rem;
    }
    .case-study__grid, .case-study--left .case-study__grid {
        grid-template-columns: auto;
        grid-template-rows: auto;
        gap: 1rem;
    }
    .case-study__logo, .case-study--left .case-study__logo {
        grid-column: 1;
        -ms-justify-content: flex-start; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; justify-content: flex-start;
    }
    .case-study__text, .case-study--left .case-study__text {
        grid-column: 1;
        grid-row: 2;
        padding: 1.5rem;
    }
    .case-study__aside-image {
        grid-column: 1;
        grid-row: 3;
        height: 15rem;
    }

    .case-study__text h3 {
        font-size: 1.5rem;
    }
    .case-study__text > p {
        font-size: 1rem;
    }

    .case-study__stats {
        text-align: center;
        margin-top: 4rem;
        gap: 3rem;
    }
    .case-study__stat {
        font-size: 1rem;
    }
    .case-study__stat p {
        max-width: none;
    }
    .case-study__stats strong {
        font-size: 2rem;
    }
}
.ckpp {
    background: #ffffff;
    
    z-index: 100;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    padding: 2rem 2rem 1.5rem;
    width: calc(100% - 2rem);
    max-width: 30rem;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}

.ckpp p {
    margin: 0 0 1.5rem;
}

.ckpp a {
    color: #00AAFF;
}

.ckpp hr {
    margin: 0 0 1.2rem;
    border: none;
    border-bottom: 1px solid #cccccc;
}

.ckpp .title,
.ckpp .subtitle {
    font-size: 21px;
    color: #00AAFF;
    font-weight: 700;
    margin: 0 0 1rem;
}

.ckpp .subtitle {
    font-size: 1rem;
    margin-bottom: 0.7rem;
}

.ckpp__switch {
    float: right;
    margin-top: -0.3rem;
    position: relative;
    width: 60px;
    height: 34px;
}

.ckpp__switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.ckpp__slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
    border-radius: 34px;
}
  
.ckpp__slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
    border-radius: 50%;
}

.ckpp__slider:after {
    opacity: 0;
    content: "ON";
    font: 12px "Outfit", sans-serif;
    font-weight: 700;
    line-height: 34px;
    margin: 12px 0 0 7px;
    transition: opacity 0.4s ease;
}

input:checked + .ckpp__slider {
    background-color: #3bcbaa;
}
  
input:focus + .ckpp__slider {
    box-shadow: 0 0 1px #3bcbaa;
}
  
input:checked + .ckpp__slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    -webkit-transform: translateX(26px); -moz-transform: translateX(26px); transform: translateX(26px);
}

input:checked + .ckpp__slider:after {
    opacity: 1;
}

.ckpp__actions {
    margin-top: 1.4rem;
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    -ms-justify-content: flex-end; -webkit-justify-content: flex-end; -moz-justify-content: flex-end; justify-content: flex-end;
}

.ckpp__actions button {
    cursor: pointer;
    background-color: #00AAFF;
    color: #ffffff;
    display: block;
    padding: 0.8em 1.2em;
    font-size: 0.9em;
    font-weight: 700;
    border: none;
    text-align: center;
    white-space: nowrap;
    margin-left: 1rem;
}

.ckpp__actions button:hover {
    background: #4bc3ff;
}

.ckpp__actions button.grey {
    background-color: #dddddd;
    color: #000000;
}

.ckpp__actions button.grey:hover {
    background-color: #dddddd;
}
.heading {
    
    position: relative;
    overflow: hidden;
}

.heading h1 {
    margin: 14rem 0 2rem;
    max-width: 50%;
}

.heading h1 + p {
    font-size: 1.5rem;
    line-height: 1.2em;
    margin-bottom: 2.5rem;
    max-width: 21rem;
}

.heading h1 + p + p {
    margin-bottom: 5rem;
}

.heading h1:last-child {
    margin-bottom: 12.5rem;
}

.heading__large-image h1 {
    max-width: 30rem;
}

.heading h2 + p,
.heading__secondary p:first-child {
    font-size: 1.25rem;
    
}

.heading__secondary ul {
    list-style-position: outside;
    padding-left: 1.5rem;
    margin-bottom: 2rem;
}

.heading__secondary ul li {
    margin-bottom: 0.75rem;
}


.heading__secondary > .wrapper {
    padding: 3.6rem 520px 3.6rem 0;
}

.heading__large-image .heading__secondary p {
    font-size: 1.5rem;
}



.heading__squiggle-outer {
    overflow: hidden; 
    position: absolute; 
    top: 65px; 
    height: 65vw; 
    width: calc(50% + 120px); 
    right: 0;
}

.heading__squiggle-inner {
    position: absolute;
    left: 0; 
    top: 0; 
    width: min(120%, 1080px);
}

.heading__shape-squiggle2 .heading__squiggle-outer,
.heading__shape-squiggle3 .heading__squiggle-outer,
.heading__shape-squiggle4 .heading__squiggle-outer {
    width: calc(50% - 50px); 
    top: 0;
}

.heading__shape-squiggle2 .heading__squiggle-inner {
    width: min(100%, 650px);
}

.heading__shape-squiggle3 .heading__squiggle-outer {
    width: calc(50% - 55px); 
}
.heading__shape-squiggle3 .heading__squiggle-inner {
    width: min(120%, 739px);
    top: -60px;
}

.heading__shape-squiggle4 .heading__squiggle-outer {
    width: calc(50% + 220px); 
}
.heading__shape-squiggle4 .heading__squiggle-inner {
    width: min(130%, 1186px);
    top: -35px;
}

.heading__shape-squiggle4 .heading__secondary > .wrapper {
    padding-top: 7.5rem;
    padding-bottom: 7rem;
}

@media (min-width: 1200px) {
    .heading__large-image .heading__secondary > .wrapper {
        padding-right: 700px;
        padding-bottom: 3rem; 
    }
}

@media (max-width: 1200px) {
    .heading__secondary > .wrapper,
    .heading__large-image .heading__secondary > .wrapper {
        padding: 2rem 0 1rem;
    }

    .heading__squiggle-outer {
        width: calc(100% - 29rem);
    }
}

@media (max-width: 719px) {
    .heading__large-image .heading__secondary p {
        font-size: 1.125rem;
    }
    .heading__large-image h1 {
        margin-top: 0;
    }
    
    .heading h1 {
        margin-top: 0;
        margin-bottom: 1rem;
        max-width: none;
    }
    .heading h1:last-child {
        margin-bottom: 2rem;
    }
    .heading h1 + p {
        font-size: 1.25rem;
        margin-bottom: 2rem;
    }
    .heading h1 + p + p {
        margin-bottom: 2.5rem;
    }
    .heading h2 + p {
        font-size: 1rem;
    }

    
    
    
    
    

    .heading > div {
        display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
        -ms-flex-direction: column-reverse; -webkit-flex-direction: column-reverse; -moz-flex-direction: column-reverse; flex-direction: column-reverse;
    }

    .heading .heading__squiggle-outer {
        position: relative;
        top: auto;
        width: 100%;
        height: 130vw;
    }
    .heading__squiggle-inner {
        left: -20%;
        width: 140%;
        top: 1vw;
    }
    .heading__shape-squiggle2 .heading__squiggle-inner {
        left: 5%;
        width: 140%;
        top: -15vw;
    }
    .heading__shape-squiggle3 .heading__squiggle-inner {
        left: -10%;
        width: 150%;
        top: -15vw;
    }
    .heading__shape-squiggle4 .heading__squiggle-inner {
        left: -29%;
        width: 221%;
        top: -2vw;
    }

}
.image-bar {
    height: 50vw;
    background-size: cover;
}
.boast-bar {
    padding: 5rem 0 4rem;
    gap: 8rem;
}

.boast-bar h3 {
    margin: 1.7rem 0 0;
    font-weight: 700;
    line-height: 1.4em;
}

.boast-bar p {
    font-size: 1.25rem;
}

@media (min-width: 720px) {
    
    
    

    
    
    
}

@media (max-width: 719px) {
    .boast-bar {
        text-align: center;
        gap: 2.5rem;
    }
    .boast-bar h3 {
        margin: 1.3rem 0 0;
        font-size: 1rem;
    }
    .boast-bar p {
        font-size: 1rem;
    }
    .boast-bar img {
        width: 75px;
    }

}
.about-us {
    padding-top: 2.5rem;
    padding-bottom: 3.5rem;
    
    display: grid;
    grid-template-columns: 38.5% 47.5%;
    -ms-justify-content: space-between; -webkit-justify-content: space-between; -moz-justify-content: space-between; justify-content: space-between;
}

.about-us__text {
    
}

.about-us__text-after {
    grid-column: 1;
}

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

.about-us__text-after b {
    font-weight: 400;
    color: #00A6FF;
}

.about-us__text h3 {
    font-size: 1.5rem;
}

.about-us__text p {
    font-size: 1.25rem;
}

.about-us__items {
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    -ms-flex-direction: column; -webkit-flex-direction: column; -moz-flex-direction: column; flex-direction: column;
    
    grid-row: 1 / 3;
    grid-column: 2;
}

.about-us__item {
    border-top: 2px solid #00A6FF;
    border-bottom: 2px solid #00A6FF;
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    -ms-flex-direction: row; -webkit-flex-direction: row; -moz-flex-direction: row; flex-direction: row;
    align-items: flex-start;
    gap: 1.25rem;
    padding: 0.5rem 0 0.5rem 0.3rem;
    cursor: pointer;
    asdmin-height: 7rem;
    asdmax-height: 7rem;
    overflow: hidden;
    
    background: url("data:image/svg+xml,%3Csvg width='30' height='14' viewBox='0 0 30 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M27.9998 3L15 11C10.6667 8.33333 2 3 2 3' stroke='%2300A6FF' stroke-width='5'/%3E%3C/svg%3E%0A") top 15px right 2px no-repeat;
    transition: min-height 0.3s ease, max-height 0.3s ease;
}



.about-us__item + .about-us__item {
    border-top: none;
}

.about-us__item-image {
    -ms-flex: 0 0 auto; -webkit-flex: 0 0 auto; -moz-flex: 0 0 auto; flex: 0 0 auto;
    align-self: flex-start;
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    height: 100px;
    align-items: center;
    transition: width 0.3s cubic-bezier(0,.47,.31,.93), height 0.3s cubic-bezier(0,.47,.31,.93);
}

.about-us__item-image-inner {
    width: 62px;
    height: 62px;
    background-size: cover;
    border-radius: 999px;
    background-position: center;
    transition: width 0.3s cubic-bezier(0,.47,.31,.93), height 0.3s cubic-bezier(0,.47,.31,.93);
}

.about-us__item-text {
    align-self: center;
    font-size: 1.35rem;
    line-height: 1.2em;
    -ms-flex: 1 1 auto; -webkit-flex: 1 1 auto; -moz-flex: 1 1 auto; flex: 1 1 auto;
    transition: font-size 0.15s linear, max-height 0.3s ease;
    overflow: hidden;
}


.about-us__item-text h4 {
    color: #00A6FF;
    font-size: 2.25rem;
    margin: 0 0 0.5rem;
    transition: font-size 0.15s linear;
}

.about-us__item-text p {
    margin: 0.5rem 0 0 0;
    font-size: 1rem;
    transition: opacity 0.3s ease 0s;
}

.about-us__item[data-open] .about-us__item-text p {
    opacity: 1;
    transition: opacity 0.3s ease 0.3s;
}

.about-us__item-actions {
    padding-top: 0rem;
    opacity: 0;
    transition: padding-top 0.3s ease, opacity 0.3s ease;
}


.about-us__item-actions a.button {
    border: 2px solid #000000;
    border-radius: 999px;
    color: #000000;
    padding: 0.4rem 1rem 0.45rem;
}

.about-us__item-actions a.button:hover {
    background: #000000;
    color: #ffffff;
}

@media (min-width: 720px) {
    .about-us__item:hover .about-us__item-image-inner {
        width: 66px;
        height: 66px;
    }

    .about-us__item-text {
        max-height: 3rem;
    }
 
    .about-us__item-text.has-position {
        max-height: 4.3rem;
    }

    .about-us__item-text p {
        opacity: 0;
        padding-bottom: 0.5rem;
    }

    .about-us__item-actions {
        opacity: 0;
    }

    .about-us__item[data-open] {
        background-image: url("data:image/svg+xml,%3Csvg width='30' height='14' viewBox='0 0 30 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 11L14.9998 3C19.3331 5.66667 27.9998 11 27.9998 11' stroke='%2300A6FF' stroke-width='5'/%3E%3C/svg%3E%0A");
    }

    .about-us__item[data-open] .about-us__item-image {
        height: 126px;
    }
    
    .about-us__item[data-open] .about-us__item-image-inner {
        width: 126px;
        height: 126px;
    }
    
    .about-us__item[data-open] .about-us__item-text {
        transition: font-size 0.15s linear, max-height 0.15s ease-out;
        max-height: 15rem;
        font-size: 1.5rem;
    }

    .about-us__item[data-open] .about-us__item-text h4 {
        font-size: 2.5rem;
    }

    .about-us__item[data-open] .about-us__item-actions {
        padding-top: 3rem;
        opacity: 1;
    }
}

@media (max-width: 719px) {
    .about-us {
        grid-template-columns: auto;
    }

    .about-us__items {
        grid-column: 1;
        grid-row: 2;
        margin-bottom: 2rem;
    }

    .about-us__text-after {
        grid-column: 1;
        grid-row: 3;
    }
    
    .about-us__item {
        display: grid;
        grid-template-columns: 70px auto;
        border: none;
        background: none;
        padding: 0;
        min-height: 5rem;
    }

    .about-us__item-text h4 {
        font-size: 1.5rem;
        margin-bottom: 0;
    }

    .about-us__item-text p {
        font-size: 1rem;
    }

    .about-us__item-text {
        font-size: 1rem;
    }

    .about-us__item-actions {
        opacity: 1;
        align-self: center;
        grid-column: 2;
    }
}
.text-with-image {
    border-radius: 1.25rem;
    padding: 1.5rem;
}

.text-with-image.text-with-image--light {
    padding-right: 5.5rem;
    padding-top: 4rem;
    padding-bottom: 6rem;
}

.text-with-image--dark {
    background: #2A2C35;
    color: #ffffff;

    position: relative;
    top: 3rem;
    margin-top: -3rem;
    margin-bottom: 3rem;
}

.text-with-image__text {
    padding: 3rem 4rem;
    -ms-flex: 0 0 52%; -webkit-flex: 0 0 52%; -moz-flex: 0 0 52%; flex: 0 0 52%;
}

.text-with-image__text h2 {
    margin-bottom: 2.7rem;
}

.text-with-image__text p {
    font-size: 1.25rem;
    line-height: 1.4em;
}

.text-with-image__image {
    background-size: cover;
    background-position: center;
    border-radius: 1rem;
    -ms-flex: 0 0 40%; -webkit-flex: 0 0 40%; -moz-flex: 0 0 40%; flex: 0 0 40%;
}

@media (max-width: 719px) {
    .text-with-image {
        padding: 0.35rem;
    }
    .text-with-image.wider-wrapper {
        margin-left: 16px;
        margin-right: 16px;
    }
    .text-with-image__text {
        padding: 1.15rem;
    }
    .text-with-image.text-with-image--light {
        padding: 1rem 0 2rem;
    }
    .text-with-image--light .text-with-image__text {
        padding: 1.15rem 0;
    }
    .text-with-image__text h2 {
        margin: 0.8rem 0 0.8rem;
    }
    .text-with-image__text p {
        font-size: 1rem;
    }
    .text-with-image__text p:last-child {
        margin-bottom: 1rem;
    }
    .text-with-image__image {
        min-height: 25rem;
        background-size: cover;
    }
}
.service {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}

.service > .wrapper {
    gap: 1rem;
    align-items: flex-end;
}

.service + .service {
    margin-top: -3.5rem;
    padding-top: 2rem;
}

.service__text {
    padding: 2rem;
    padding-right: 3rem;
    border-radius: 1.25rem;
    background: url('../images/bg-text01.svg') #597073;
    background-size: cover;
    color: #ffffff;
    font-size: 1.5rem;
    -ms-flex: 0 1 60%; -webkit-flex: 0 1 60%; -moz-flex: 0 1 60%; flex: 0 1 60%;
}

.service--right .wrapper {
    -ms-flex-direction: row-reverse; -webkit-flex-direction: row-reverse; -moz-flex-direction: row-reverse; flex-direction: row-reverse;
}

.service__image img {
    display: block;
    width: 100%;
    border-radius: 1.25rem;
}

.service h3 {
    font-size: 2.25rem;
    color: #ffffff;
    margin: 0 0 0.8rem;
}

.service--blue h3 {
    color: #00A6FF;
}

@media (max-width: 719px) {
    .service {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .service + .service {
        margin-top: -3rem;
    }
    .service__text {
        -ms-flex-grow: 1; -webkit-flex-grow: 1; -moz-flex-grow: 1; flex-grow: 1;
        font-size: 1rem;
        padding: 2rem 1rem 1.5rem;
    }
    .service h3 {
        font-size: 1.5rem;
    }
}
.footer {
    background: #000;
    color: #ffffff;
    min-height: 15rem;
    padding-top: 4rem;
    padding-bottom: 5rem;
}

.footer h4 {
    color: #00AAFF;
    font-weight: 400;
    line-height: 1.2em;
}

.footer p {
    line-height: 1.4em;
}

.footer a {
    color: #ffffff;
}

.footer__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.footer__logo {
    grid-row: 1;
    grid-column: 1;
}

.footer__badges {
    grid-row: 2 / 4;
    grid-column: 1;
    align-self: end;
}

.footer__address {
    grid-row: 1 / 3;
    grid-column: 2;
}

.footer__menu {
    grid-row: 1 / 4;
    grid-column: 3;
}

.footer__contact {
    grid-row: 1 / 3;
    grid-column: 4;
    z-index: 1;
}

.footer__buttons {
    grid-row: 2 / 4;
    grid-column: 4;
    align-self: end;
    z-index: 2;
}

.footer__buttons a.button {
    padding: 0.3em 1em;
}

.footer__buttons a.button:last-child {
    margin-top: 1rem;
    background-color: #597073;
}

.footer__buttons a.button.bg-hover:hover:last-child {
    background-color: #90a4a7;
}


.footer__links {
    align-self: end;
}

.footer__links ul {
    list-style-type: none;
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
}

.footer__links ul li {
    padding-right: 0.4rem;
    font-size: 0.75rem;
    line-height: 1.2em;
}

.footer__links ul li + li {
    border-left: 1px solid #00AAFF;
    padding-left: 0.4rem;
}

.footer__links ul a {
    text-decoration: none;
}

.footer__menu ul {
    list-style-type: none;   
}

.footer__menu ul li {
    margin: 0 0 0.22rem;
}

.footer__menu ul a {
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: none;
}

.footer__menu .menu-bar__button {
    display: none;
}


@media (max-width: 719px) {
    .footer__grid {
        grid-template-columns: 1fr 1fr;
        row-gap: 3em;
    }
    .footer__menu {
        grid-row: 1 / 3;
        grid-column: 1;
    }
    .footer__address {
        grid-row: 3;
        grid-column: 1;
    }
    .footer__logo {
        grid-row: 4;
        grid-column: 1;
    }
    .footer__buttons {
        grid-row: 1;
        grid-column: 2;
        align-self: start;
    }
    .footer__badges {
        grid-row: 2;
        grid-column: 2;
    }
    .footer__contact {
        grid-row: 3;
        grid-column: 2;
    }
    .footer__links {
        grid-row: 4;
        grid-column: 2;
    }
    
    .footer__menu ul a {
        font-size: 1.5rem;
    }
    .footer__badges img {
        height: 43px;
    }
    .footer__links ul li {
        font-size: 0.625rem;
        line-height: 1.2em;
    }
    .footer__buttons a.button {
        font-size: 0.75rem;
    }
}
.contact-form__inner {
    background: #2A2C35;
    padding-top: 3.6rem;
    padding-bottom: 3rem;
    border-radius: 1.25rem;
    color: #ffffff;
    margin-bottom: 1.5rem;
}

.bg-grey + .contact-form:before {
    content: "";
    position: absolute;
    display: block;
    background: #EBF0F1;
    height: 3rem;
    width: 100%;
    z-index: -1;
}

.contact-form__text {
    max-width: 27rem;
}

.contact-form__text h3 {
    font-size: 2.25rem;
    line-height: 1.2em;
    margin: 0 0 2.7rem;
}

.contact-form__text p {
    font-size: 1.5rem;
    line-height: 1.4em;
}

.contact-form__text h4 {
    font-size: 1.5rem;
    line-height: 1.4em;
    color: #00AAFF;
    font-weight: 400;
    
}

.contact-form__text a {
    color: #ffffff;
    transition: opacity 0.3s ease;
}
.contact-form__text a:hover {
    opacity: 0.8;
}

.contact-form__form {
    -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; flex-wrap: wrap;
    flex-basis: 50%;
}

.contact-form__field {
    -ms-flex: 0 0 calc(50% - 1rem); -webkit-flex: 0 0 calc(50% - 1rem); -moz-flex: 0 0 calc(50% - 1rem); flex: 0 0 calc(50% - 1rem);
    margin: 0 0 1.5rem;
}
.contact-form__field-wide {
    -ms-flex: 0 0 100%; -webkit-flex: 0 0 100%; -moz-flex: 0 0 100%; flex: 0 0 100%;
}

.contact-form label {
    display: block;
}

.contact-form input[type=text], .contact-form input[type=email], .contact-form textarea {
    background: none;
    border: none;
    color: #ffffff;
    border-bottom: 1px solid #ffffff;
    font-size: 1.25rem;
    padding: 0.5rem 0;
    width: 100%;
}
.contact-form input[type=text]:focus, .contact-form input[type=email]:focus, .contact-form textarea:focus {
    outline: none;
    background: rgba(255, 255, 255, 0.2);
}

.contact-form button {
    cursor: pointer;
    background: none;
    padding: 0.3rem 1rem;
    color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 999px;
    transition: opacity 0.3s ease;
}

.contact-form button:hover {
    background-color: #eeeeee;
    color: #000000;
}

.contact-form form[data-form-submitting] button {
    opacity: 0.5;
}

.contact-form form .message {
    display: none;
}

.contact-form form[data-form-complete] .message {
    display: block;
}

.contact-form form[data-form-complete] .contact-form__field {
    display: none;
}

@media (max-width: 950px) {
    .contact-form__field {
        -ms-flex: 1 1 auto; -webkit-flex: 1 1 auto; -moz-flex: 1 1 auto; flex: 1 1 auto;
    }
}


@media (max-width: 719px) {
    .contact-form__inner {
        padding: 1.5rem;
    }
    .contact-form__text h3 {
        font-size: 1.5rem;
        font-weight: 700;
        margin: 0.5rem 0 1.3rem;
    }
    .contact-form__text h4,
    .contact-form__text p {
        font-size: 1rem;
    }
    .contact-form label {
        font-size: 0.75rem;
    }
}
.menu-bar + .text-with-map {
    padding-top: 16rem;
    padding-bottom: 1rem;
}

.text-with-map h1 {
    color: #ffffff;
    margin: 0 0 3.5rem;
}

.text-with-map__body {
    color: #ffffff;
    padding-top: 2rem;
    margin-bottom: 4rem;
}
.text-with-map__body p {
    font-size: 1.5rem;
    padding-left: 0.75rem;
}

.text-with-map__body a {
    color: #ffffff;
}

.text-with-map__map {
    margin-bottom: 4rem;
    -ms-flex: 0 1 58.6%; -webkit-flex: 0 1 58.6%; -moz-flex: 0 1 58.6%; flex: 0 1 58.6%;
    border-radius: 20px;
    overflow: hidden;
    height: 600px;
}

@media all and (max-width:719px) { 
    .menu-bar + .text-with-map {
        padding-top: 5.5rem;
        padding-bottom: 1px;
    }
    .text-with-map h1 {
        margin: 0 0 1rem;
    }
    .text-with-map__map {
        margin-bottom: 1rem;
        -ms-flex: 0 0 500px; -webkit-flex: 0 0 500px; -moz-flex: 0 0 500px; flex: 0 0 500px;
    }
    .text-with-map__map img {
        width: 100%;
    }
    .text-with-map__body {
        margin-bottom: 2rem;
    }
    .text-with-map__body p {
        font-size: 1rem;
        padding-left: 0;
    }
}
.menu-bar {
    background: rgba(255, 255, 255, 0.85);
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}

.menu-bar .menu-bar__logo {
    width: 100px;
    margin: 1.625rem 0;
}

.menu-bar ul {
    display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;
    list-style-type: none;
    gap: 2rem;
    margin: 2.19rem 0;
}

.menu-bar ul a {
    text-decoration: none;
    color: #000000;
    transition: color 0.2s ease;
}

.menu-bar ul li:not(.menu-bar__active) > a:hover {
    color: #777777;
}

.menu-bar .menu-bar__active a {
    color: #00A6FF;
    font-weight: 700;
}

.menu-bar .menu-bar__button {
    position: relative;
}


.menu-bar .menu-bar__button > a {
    background: #3B28CC;
    color: #ffffff;
    padding: 0.3rem 0.9rem 0.4rem;
    border-radius: 999px 999px;
    border: 1px solid transparent;
    
}

.menu-bar__popup {
    position: absolute;
    right: -0.5rem;
    top: 28px;
    width: 240px;
    background: #CCEEFF;
    padding: 1rem;
    border-radius: 1.25rem 0 1.25rem 1.25rem;
    display: none;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
}




.menu-bar .menu-bar__button .menu-bar__popup-button {
    display: block;
    text-align: center;
    background: #00A6FF;
    padding: 0.5rem;
    border-radius: 999px;
    color: #ffffff;
    opacity: 1;
    transition: opacity 0.2s ease;
}

.menu-bar .menu-bar__button .menu-bar__popup-button:hover {
    opacity: 0.75;
}

.menu-bar__menu-toggle {
    display: none;
}

@media (min-width: 720px) {
    .page-home .menu-bar {
        background: none;
    }

    .menu-bar .menu-bar__button:has(> a:focus):before {
        position: absolute;
        content: "";
        width: calc(100% + 1rem);
        height: 40px;
        left: -0.5rem;
        top: -11px;
        z-index: -1;
        border-radius: 22px 22px 0 0;
        background: #CCEEFF;
    }
    .menu-bar .menu-bar__button:hover:before {
        position: absolute;
        content: "";
        width: calc(100% + 1rem);
        height: 40px;
        left: -0.5rem;
        top: -11px;
        z-index: -1;
        border-radius: 22px 22px 0 0;
        background: #CCEEFF;
    }

    .menu-bar ul li.menu-bar__button > a:hover,
    .menu-bar ul li.menu-bar__button > a:focus,
    .menu-bar ul li.menu-bar__button:hover > a {
        color: #6F16BE;
        background: #CCEEFF;
        border: 1px solid #6F16BE;
        position: relative;
        z-index: 2;
    }

    .menu-bar .menu-bar__button a:focus + .menu-bar__popup,
    .menu-bar .menu-bar__button:hover .menu-bar__popup {
        display: block;
    }
}

@media (max-width: 719px) {
    .menu-bar {
        overflow: hidden;
        background: rgba(255, 255, 255, 1);
    }
    .menu-bar .menu-bar__logo {
        margin: 1.5rem 0;
    }
    .menu-bar .menu-bar__logo svg {
        height: 25px;
    }
    .menu-bar ul { 
        margin: 0;
        height: 0;
        overflow: hidden;
        opacity: 0;
        gap: 0;
        transition: opacity 0.3s ease;
    }
    .menu-bar ul li {
        font-size: 2.25rem;
        font-weight: 600;
        line-height: 1.25em;
    }
    .menu-bar ul li.menu-bar__button {
        font-size: 1rem;
        margin-top: 2.5rem;
    }
    .menu-bar ul a {
        color: #ffffff;
    }

    .menu-bar__menu-toggle {
        position: absolute;
        top: 1.5rem;
        right: 1.25rem;
        display: block;
        width: 24px;
        height: 24px;
        background: url("data:image/svg+xml,%3Csvg width='16' height='14' viewBox='0 0 16 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='16' y='14' width='16' height='2' rx='0.999999' transform='rotate(-180 16 14)' fill='%23232830'/%3E%3Crect x='16' y='2' width='16' height='2' rx='0.999999' transform='rotate(-180 16 2)' fill='%23232830'/%3E%3Crect x='16' y='8' width='16' height='2' rx='0.999999' transform='rotate(-180 16 8)' fill='%23232830'/%3E%3C/svg%3E%0A") center no-repeat;
    }

    body[data-menu-open] .menu-bar {
        background: #000000;
        padding-bottom: 8rem;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
    }

    body[data-menu-open] .menu-bar__logo svg g {
        fill: #ffffff;
    }

    body[data-menu-open] .menu-bar__menu-toggle {
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='14' viewBox='0 0 16 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='16' y='14' width='16' height='2' rx='0.999999' transform='rotate(-180 16 14)' fill='%23ffffff'/%3E%3Crect x='16' y='2' width='16' height='2' rx='0.999999' transform='rotate(-180 16 2)' fill='%23ffffff'/%3E%3Crect x='16' y='8' width='16' height='2' rx='0.999999' transform='rotate(-180 16 8)' fill='%23ffffff'/%3E%3C/svg%3E%0A");
    }

    body[data-menu-open] .menu-bar ul { 
        margin: 1rem 0;
        height: auto;
        overflow: visible;
        display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; 
        -ms-flex-direction: column; -webkit-flex-direction: column; -moz-flex-direction: column; flex-direction: column;
        opacity: 1;
    }


}