/* Theme Name: Twinnedit Marketing
Author: Twinnedit
Author URI: http://twinnedit.com/
Description: Twinnedit
Version: 2.0
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html */
@keyframes swipe {
  from {
    mask-size: 200% 100%;
    -webkit-mask-size: 200% 100%;
    mask-position: 200% 0;
    -webkit-mask-position: 200% 0;
  }
  to {
    mask-position: 0 0;
    -webkit-mask-position: 0 0;
    mask-position: 100% 0;
    -webkit-mask-position: 100% 0;
  }
}
@keyframes loading-animate {
  from {
    height: 100vh;
  }
  to {
    height: 0;
  }
}
@keyframes opacity {
  from {
    height: 0;
    opacity: 0;
  }
  to {
    height: 10vh;
    opacity: 1;
  }
}
@keyframes dots {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes loaded {
  from {
    height: 100vh;
  }
  to {
    height: 0;
  }
}
@keyframes loading-screen {
  from {
    width: 100%;
  }
  to {
    width: 0;
    left: 100%;
  }
}
#accessibility {
  bottom: 2rem;
  right: 2rem;
  position: fixed;
  z-index: 50000;
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
}
#accessibility button {
  background-color: #920790;
  font-family: "poppins";
  color: #ffffff;
  position: relative;
  padding: 0.5rem 1rem;
  border-radius: 10rem;
  font-size: 1.2rem;
  text-align: center;
  overflow: hidden;
  border: 1px solid #920790;
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  padding: 0;
}
#accessibility button .arrow {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background-color: #920790;
  border-radius: 100%;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
}
#accessibility button .arrow svg {
  width: 2rem;
  height: 2rem;
}
#accessibility button:has(.arrow) {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
#accessibility button:has(span) {
  line-height: 1.2;
  padding: 0.25rem 1rem;
}
#accessibility button:hover, #accessibility button:focus, #accessibility button:focus-visible {
  cursor: pointer;
  background-color: #ffffff;
  color: #920790;
}
#accessibility button:hover svg, #accessibility button:focus svg, #accessibility button:focus-visible svg {
  fill: #920790;
}
#accessibility button:hover svg *, #accessibility button:focus svg *, #accessibility button:focus-visible svg * {
  fill: #920790;
}
#accessibility button:focus {
  outline: 1px dashed #ffffff;
  outline-offset: 0.25rem;
}
#accessibility button.dark {
  border: 1px solid #00254D;
  background-color: #00254D;
}
#accessibility button.dark:hover, #accessibility button.dark:focus, #accessibility button.dark:focus-visible {
  cursor: pointer;
  background-color: #920790;
  color: #ffffff;
}
#accessibility button.dark:hover *, #accessibility button.dark:focus *, #accessibility button.dark:focus-visible * {
  -webkit-text-fill-color: #ffffff;
}
#accessibility button.arrow {
  border-radius: 100%;
}
#accessibility button.dot.active {
  background-color: #ffffff;
}
#accessibility button.dot:not(.active):hover {
  background-color: rgba(0, 37, 77, 0.25);
}
#accessibility button:hover, #accessibility button:focus {
  background-color: #ffffff;
}
#accessibility button:hover *, #accessibility button:focus * {
  color: #920790;
}
#accessibility button:hover svg, #accessibility button:focus svg {
  fill: #920790;
}
#accessibility button svg {
  width: 100%;
  height: 100%;
  fill: #ffffff;
}
#accessibility button.toggle {
  width: 5rem;
  height: 5rem;
}
#accessibility .container {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  height: 0;
  padding: 0;
  width: 0;
  overflow: hidden;
}
#accessibility .container.open {
  height: auto;
  width: auto;
  padding: 1.5rem;
  background-color: black;
  min-width: 80vw;
  margin-bottom: 1rem;
}
#accessibility .container button {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 1rem;
  margin: 0.5rem 0;
  width: 100%;
  padding: 1rem 0;
  font-size: 0.85rem;
}
#accessibility .container button::before {
  z-index: 0;
}
#accessibility .container button * {
  position: relative;
  z-index: 1;
}
#accessibility .container button svg {
  width: 1rem;
  height: auto;
  margin-right: 0.5rem;
}
#accessibility .container button#decreaseFont svg {
  transform: scaleX(-1);
}
#accessibility .container button#reset {
  width: 100%;
}
@media (min-width: 1023px) {
  #accessibility {
    left: 2rem;
    right: auto;
  }
  #accessibility .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #accessibility .container.open {
    min-width: 30rem;
    width: 30rem;
  }
  #accessibility .container button {
    font-size: 1rem;
    width: 48%;
  }
}

.carousel {
  padding: 2rem 0;
}
.carousel ul, .carousel ol {
  list-style-type: none;
}
.carousel .navigation {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: calc(100% - 1.25rem);
  margin: 0 auto;
  padding-bottom: 1.25rem;
}
.carousel .navigation.hidden {
  display: none;
}
.carousel .navigation .sliderDots {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
}
.carousel .navigation .sliderDots button,
.carousel .navigation .arrow {
  background-color: #920790;
  font-family: "poppins";
  color: #ffffff;
  position: relative;
  padding: 0.5rem 1rem;
  border-radius: 10rem;
  font-size: 1.2rem;
  text-align: center;
  overflow: hidden;
  border: 1px solid #920790;
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  height: 2.75rem;
  width: 2.75rem;
  margin: 0.25rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.carousel .navigation .sliderDots button .arrow,
.carousel .navigation .arrow .arrow {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background-color: #920790;
  border-radius: 100%;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
}
.carousel .navigation .sliderDots button .arrow svg,
.carousel .navigation .arrow .arrow svg {
  width: 2rem;
  height: 2rem;
}
.carousel .navigation .sliderDots button:has(.arrow),
.carousel .navigation .arrow:has(.arrow) {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
.carousel .navigation .sliderDots button:has(span),
.carousel .navigation .arrow:has(span) {
  line-height: 1.2;
  padding: 0.25rem 1rem;
}
.carousel .navigation .sliderDots button:hover, .carousel .navigation .sliderDots button:focus, .carousel .navigation .sliderDots button:focus-visible,
.carousel .navigation .arrow:hover,
.carousel .navigation .arrow:focus,
.carousel .navigation .arrow:focus-visible {
  cursor: pointer;
  background-color: #ffffff;
  color: #920790;
}
.carousel .navigation .sliderDots button:hover svg, .carousel .navigation .sliderDots button:focus svg, .carousel .navigation .sliderDots button:focus-visible svg,
.carousel .navigation .arrow:hover svg,
.carousel .navigation .arrow:focus svg,
.carousel .navigation .arrow:focus-visible svg {
  fill: #920790;
}
.carousel .navigation .sliderDots button:hover svg *, .carousel .navigation .sliderDots button:focus svg *, .carousel .navigation .sliderDots button:focus-visible svg *,
.carousel .navigation .arrow:hover svg *,
.carousel .navigation .arrow:focus svg *,
.carousel .navigation .arrow:focus-visible svg * {
  fill: #920790;
}
.carousel .navigation .sliderDots button:focus,
.carousel .navigation .arrow:focus {
  outline: 1px dashed #ffffff;
  outline-offset: 0.25rem;
}
.carousel .navigation .sliderDots button.dark,
.carousel .navigation .arrow.dark {
  border: 1px solid #00254D;
  background-color: #00254D;
}
.carousel .navigation .sliderDots button.dark:hover, .carousel .navigation .sliderDots button.dark:focus, .carousel .navigation .sliderDots button.dark:focus-visible,
.carousel .navigation .arrow.dark:hover,
.carousel .navigation .arrow.dark:focus,
.carousel .navigation .arrow.dark:focus-visible {
  cursor: pointer;
  background-color: #920790;
  color: #ffffff;
}
.carousel .navigation .sliderDots button.dark:hover *, .carousel .navigation .sliderDots button.dark:focus *, .carousel .navigation .sliderDots button.dark:focus-visible *,
.carousel .navigation .arrow.dark:hover *,
.carousel .navigation .arrow.dark:focus *,
.carousel .navigation .arrow.dark:focus-visible * {
  -webkit-text-fill-color: #ffffff;
}
.carousel .navigation .sliderDots button.arrow,
.carousel .navigation .arrow.arrow {
  border-radius: 100%;
}
.carousel .navigation .sliderDots button.dot.active,
.carousel .navigation .arrow.dot.active {
  background-color: #ffffff;
}
.carousel .navigation .sliderDots button.dot:not(.active):hover,
.carousel .navigation .arrow.dot:not(.active):hover {
  background-color: rgba(0, 37, 77, 0.25);
}
.carousel .navigation .sliderDots button svg,
.carousel .navigation .arrow svg {
  display: block;
  height: 1.25em;
  width: 1.25em;
}
.carousel .navigation .sliderDots button:focus svg, .carousel .navigation .sliderDots button:hover svg, .carousel .navigation .sliderDots button:focus-visible svg,
.carousel .navigation .arrow:focus svg,
.carousel .navigation .arrow:hover svg,
.carousel .navigation .arrow:focus-visible svg {
  fill: #920790;
}
.carousel .navigation .sliderDots button:focus svg *, .carousel .navigation .sliderDots button:hover svg *, .carousel .navigation .sliderDots button:focus-visible svg *,
.carousel .navigation .arrow:focus svg *,
.carousel .navigation .arrow:hover svg *,
.carousel .navigation .arrow:focus-visible svg * {
  fill: #920790;
}
.carousel .allItems {
  overflow: hidden;
  max-width: 100%;
}
.carousel .allItems::-webkit-scrollbar {
  display: none;
}
.carousel .allItems .container {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 2rem 0;
  width: 100%;
  scrollbar-width: 0;
  overflow-x: scroll;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  will-change: transform;
  transform: translateX(0px);
}
.carousel .allItems .container::-webkit-scrollbar {
  display: none;
}
.carousel .item {
  width: 100vw;
}
.carousel .item.client {
  min-width: inherit;
  width: auto;
}
.carousel .item.client svg,
.carousel .item.client img {
  width: auto;
  height: 4rem;
  margin-right: 2.25rem;
}
.carousel .item > img {
  display: block;
  width: 100%;
}
.carousel .item > .image {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  min-height: 70vw;
  width: 100%;
  display: block;
  background-position: center;
  background-size: cover;
}
.carousel .item > .image svg {
  width: 2rem;
  height: 2rem;
}
.carousel .item > .image span {
  text-align: center;
  width: 100%;
  display: block;
  margin-top: 2rem;
  padding: 0 2rem;
}
@media (min-width: 767px) {
  .carousel .item > .image {
    min-height: 35vw;
  }
}
@media (min-width: 1023px) {
  .carousel .item > .image {
    min-height: 25vw;
  }
  .carousel .item > .image span {
    padding: 0 4rem;
  }
}
@media (min-width: 1366px) {
  .carousel .item > .image {
    min-height: 20rem;
  }
}
.carousel .item > .image img {
  display: block;
  width: 100%;
}
.carousel .item .content {
  max-width: 90vw;
  margin: 0 auto;
}
.carousel .item .content > div {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
}
.carousel .item .content > div a {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
}
.carousel .item .content > div a svg {
  width: auto;
  height: 1.75rem;
}
.carousel .item .content > div p {
  margin: 0;
  color: #ffffff;
  width: 90%;
}
.carousel .item .content > div img {
  margin-left: 1rem;
  height: 1.75rem;
  min-height: 1.75rem;
}
@media (min-width: 767px) {
  .carousel .item {
    min-width: 70vw;
    width: 70vw;
  }
  .carousel .item:first-of-type {
    padding-left: 0;
  }
}
@media (min-width: 1023px) {
  .carousel .item {
    padding-right: 5rem;
    min-width: 40rem;
    width: 40rem;
  }
  .carousel .item.client img,
.carousel .item.client svg {
    height: 3rem;
    margin: 0 auto;
  }
  .carousel .item.client:last-of-type {
    padding: 0;
  }
}
@media (min-width: 1023px) {
  .carousel:has(.navigation.hidden) .allItems .container:has(.item.client) {
    justify-content: center;
  }
}

#casestudies > div {
  max-width: 1366px;
  margin: 0 auto;
}
#casestudies .intro {
  text-align: center;
  padding: 2rem 0;
}
#casestudies .allItems .container {
  align-items: flex-start;
}
#casestudies .item {
  min-width: 25rem;
}
#casestudies .item .image,
#casestudies .item .logoContainer {
  min-height: 15rem;
  width: 100%;
}
#casestudies .item .image {
  display: block;
  background-position: center;
  background-size: cover;
}
#casestudies .item .logoContainer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
}
#casestudies .item .logoContainer .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 100%;
}
#casestudies .item .logoContainer .inner img {
  height: auto;
}
#casestudies .item .logoContainer .inner * {
  width: 80%;
}
#casestudies .item .content {
  padding-top: 1.25rem;
}
#casestudies .item .content img, #casestudies .item .content svg {
  display: block;
  width: auto;
  height: 2.75rem;
}
#casestudies .item .content img *, #casestudies .item .content svg * {
  fill: #ffffff;
}
#casestudies .item .content p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (min-width: 1023px) {
  #casestudies .item {
    width: 25rem;
    padding-right: 0;
  }
  #casestudies .item > .inner {
    padding: 0.75rem;
  }
}

#action {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  padding: 2rem 0;
}
#action .callToAction {
  background-color: #920790;
  width: calc(95% - 1.25rem);
  border-radius: 2rem;
  max-width: 1366px;
}
#action .callToAction .inner {
  padding: 1.25rem;
}
#action .callToAction .inner * {
  margin: 0;
}
#action .callToAction .inner div:has(.button) {
  padding: 1rem 0;
}
#action .callToAction .button {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  border: 1px solid #00254D;
  background-color: #00254D;
}
#action .callToAction .button .arrow {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background-color: #920790;
  border-radius: 100%;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
}
#action .callToAction .button .arrow svg {
  width: 2rem;
  height: 2rem;
}
#action .callToAction .button:has(.arrow) {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
#action .callToAction .button:hover, #action .callToAction .button:focus, #action .callToAction .button:focus-visible {
  cursor: pointer;
  background-color: #920790;
  color: #ffffff;
}
#action .callToAction .button:hover *, #action .callToAction .button:focus *, #action .callToAction .button:focus-visible * {
  -webkit-text-fill-color: #ffffff;
}
#action .callToAction .button:hover::before, #action .callToAction .button:focus::before, #action .callToAction .button:focus-visible::before {
  width: 100%;
}
#action .callToAction .button::before {
  background-color: #ffffff;
}
@media (min-width: 767px) {
  #action .callToAction .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
  }
  #action .callToAction .inner .title {
    width: 100%;
    display: block;
  }
  #action .callToAction .inner p {
    width: 65%;
    padding-right: 1.25rem;
  }
}
@media (min-width: 1023px) {
  #action {
    margin: 0 auto;
    padding: 2rem 0;
  }
  #action .callToAction {
    width: 100%;
  }
  #action .callToAction .inner .title {
    margin-bottom: 0;
  }
  #action .callToAction .inner p {
    width: 50rem;
    margin-top: 0;
  }
}
@media (min-width: 1366px) {
  #action .callToAction .inner p {
    width: 1023px;
  }
}

.delivery .delivery-item {
  position: sticky;
  position: -webkit-sticky;
  top: var(--header-fixed-top-offset);
  min-height: 20rem;
  width: 100%;
}
.delivery .delivery-item > .inner {
  padding: 0;
}
.delivery .delivery-item .container {
  position: relative;
  height: 96%;
  width: 96%;
  min-height: 20rem;
  background-color: #00254D;
}
.delivery .delivery-item .container .inner {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  position: relative;
  z-index: 2;
}
.delivery .delivery-item .container.top .inner {
  opacity: 0.4;
}
.delivery .delivery-item .container::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 30%;
  background-repeat: no-repeat;
  background-position: bottom -2rem right -4rem;
  z-index: 0;
}
.delivery .delivery-item .container::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(146, 7, 144, 0.2);
  z-index: 1;
}
.delivery .delivery-item.capture .container::before {
  background-image: url("./static/svg/capture.svg");
  background-size: 25rem;
}
.delivery .delivery-item.create .container::before {
  background-image: url("./static/svg/create.svg");
  background-size: 20rem;
}
.delivery .delivery-item.connect .container::before {
  background-image: url("./static/svg/connect.svg");
  background-size: 20rem;
}
.delivery .delivery-item.maintain .container::before {
  background-image: url("./static/svg/maintain.svg");
  background-size: 20rem;
}
.delivery .delivery-item.share .container::before {
  background-image: url("./static/svg/share.svg");
  background-size: 80%;
}
@media (min-width: 1023px) {
  .delivery.flex-container .columns {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  .delivery.flex-container .columns .text {
    width: 40%;
    position: sticky;
    position: -webkit-sticky;
    top: var(--header-fixed-top-offset);
  }
  .delivery.flex-container .columns .backgroundContainer {
    width: 60%;
  }
}

form .message span, form.invalid span {
  color: #ff6666;
}
form.sent * {
  display: none;
}
form label, form span {
  width: 100%;
  display: block;
  margin: 0.75rem 0;
}
form input, form textarea {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  font-family: "poppins";
  border-radius: 5px;
  border: 2px solid #00254D;
  padding: 0.75rem;
  font-size: 1.2rem;
  width: calc(100% - 2rem);
  font-size: 14px;
}
form input:hover, form input:focus, form textarea:hover, form textarea:focus {
  background-color: #002a57;
  border-color: #920790;
  color: #ffffff;
}
form input[type=select], form input[type=radio], form textarea[type=select], form textarea[type=radio] {
  width: 2rem;
  height: 2rem;
}
form input[type=submit] {
  background-color: #920790;
  font-family: "poppins";
  color: #ffffff;
  position: relative;
  padding: 0.5rem 1rem;
  border-radius: 10rem;
  font-size: 1.2rem;
  text-align: center;
  overflow: hidden;
  border: 1px solid #920790;
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  width: inherit;
  display: inherit;
}
form input[type=submit] .arrow {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background-color: #920790;
  border-radius: 100%;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
}
form input[type=submit] .arrow svg {
  width: 2rem;
  height: 2rem;
}
form input[type=submit]:has(.arrow) {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
form input[type=submit]:has(span) {
  line-height: 1.2;
  padding: 0.25rem 1rem;
}
form input[type=submit]:hover, form input[type=submit]:focus, form input[type=submit]:focus-visible {
  cursor: pointer;
  background-color: #ffffff;
  color: #920790;
}
form input[type=submit]:hover svg, form input[type=submit]:focus svg, form input[type=submit]:focus-visible svg {
  fill: #920790;
}
form input[type=submit]:hover svg *, form input[type=submit]:focus svg *, form input[type=submit]:focus-visible svg * {
  fill: #920790;
}
form input[type=submit]:focus {
  outline: 1px dashed #ffffff;
  outline-offset: 0.25rem;
}
form input[type=submit].dark {
  border: 1px solid #00254D;
  background-color: #00254D;
}
form input[type=submit].dark:hover, form input[type=submit].dark:focus, form input[type=submit].dark:focus-visible {
  cursor: pointer;
  background-color: #920790;
  color: #ffffff;
}
form input[type=submit].dark:hover *, form input[type=submit].dark:focus *, form input[type=submit].dark:focus-visible * {
  -webkit-text-fill-color: #ffffff;
}
form input[type=submit].arrow {
  border-radius: 100%;
}
form input[type=submit].dot.active {
  background-color: #ffffff;
}
form input[type=submit].dot:not(.active):hover {
  background-color: rgba(0, 37, 77, 0.25);
}
form textarea {
  height: 10rem;
  min-height: 10rem;
}
form div {
  border: 0 !important;
}
@media (min-width: 1023px) {
  form[method=post] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  form[method=post] div {
    width: 45%;
  }
}
@media (min-width: 1023px) {
  form[method=post] {
    display: block;
  }
  form[method=post] div {
    width: 100%;
  }
}
form.hidden * {
  display: none;
}
form.visible * {
  display: block;
}

#headerImage {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 80vh;
  top: 0;
  left: 0;
  z-index: -1;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
}
#headerImage img {
  margin: 0 auto;
  width: auto;
  height: 100vh;
}
@media (min-width: 1023px) {
  #headerImage img {
    height: auto;
    width: 110%;
  }
}

.iconContainer {
  padding-bottom: 2rem;
  width: 95%;
  margin-left: 2.75%;
}
.iconContainer .icon {
  width: auto;
  height: 5rem;
  margin: 0;
}
.iconContainer .icon img,
.iconContainer .icon svg {
  display: block;
  height: 100%;
  width: auto;
  margin: 0 auto;
}
.iconContainer .columns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.iconContainer .columns > div {
  width: calc(50% - 1.25rem);
  margin: 0;
}
@media (min-width: 767px) {
  .iconContainer {
    text-align: center;
  }
  .iconContainer .icon img,
.iconContainer .icon svg {
    height: 4rem;
    margin: 0 auto;
  }
  .iconContainer .columns {
    justify-content: center;
  }
  .iconContainer .columns > div {
    width: calc(25% - 1.25rem);
    margin: 0;
  }
  .iconContainer .columns > div p {
    width: 90%;
    margin: 0 auto;
    display: block;
  }
}
#loading-layer {
  animation: loading-animate forwards 0.6s;
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 900000;
  background-color: black;
}

body.blog #loading-layer {
  display: none;
}

.image,
.imgPlaceholder {
  position: relative;
}
.image .screen,
.imgPlaceholder .screen {
  transition: all 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  transition-delay: 0.25s;
  background-color: black;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.image.in-view .screen,
.imgPlaceholder.in-view .screen {
  width: 0;
}

#page-loader {
  display: none;
}

body.home #page-loader {
  height: 100vh;
  width: 100vw;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1200000;
  background-color: black;
}
body.home #page-loader.hidden-always {
  display: none;
}
body.home #page-loader .logo {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
body.home #page-loader .logo svg {
  animation: opacity forwards 1s;
  width: 60vw;
  fill: #ffffff;
}
@media (min-width: 1023px) {
  body.home #page-loader .logo svg {
    height: 8vh;
    width: auto;
  }
}
body.home #page-loader .logo svg .overlay {
  fill: #920790;
  mask-image: linear-gradient(to right, transparent 0%, transparent 50%, black 50%, black 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 50%, black 50%, black 100%);
  mask-size: 200% 100%;
  -webkit-mask-size: 200% 100%;
  /* FULLY hidden on load */
  mask-position: 200% 0;
  -webkit-mask-position: 200% 0;
  animation: swipe 2s infinite alternate;
  animation-delay: 0.25s;
}
body.home #page-loader .logo .circle {
  width: 2rem;
  height: 2rem;
  opacity: 0;
  background-color: #ffffff;
  border-radius: 100%;
  margin: 0 0.25rem;
  animation: dots forwards 1s;
}
body.home #page-loader .logo .circle:first-of-type {
  animation-delay: 1s;
}
body.home #page-loader .logo .circle:nth-of-type(2) {
  animation-delay: 1.5s;
}
body.home #page-loader .logo .circle:nth-of-type(3) {
  animation-delay: 2s;
}
body.home #page-loader.hidden {
  animation: loaded 0.5s forwards;
  animation-delay: 0.25s;
}
body.home #page-loader.hidden .logo {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  opacity: 0;
}

.logo svg {
  fill: #ffffff;
  width: 100%;
  display: block;
}
.logo svg .overlay {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  fill: #f985f8;
  mask-image: linear-gradient(to right, transparent 0%, transparent 50%, #00254D 50%, #00254D 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 50%, #00254D 50%, #00254D 100%);
  mask-size: 200% 100%;
  -webkit-mask-size: 200% 100%;
  /* FULLY hidden on load */
  mask-position: 200% 0;
  -webkit-mask-position: 200% 0;
}
.logo svg:hover .overlay, .logo svg:focus .overlay, .logo svg:focus-visible .overlay {
  animation: swipe forwards;
  animation-duration: 200ms;
}

footer .logo svg .overlay {
  fill: #920790;
}

.page_navigation {
  width: calc(100% - 2rem);
  margin: 0 auto !important;
  max-width: 1023px;
  padding: 1px 0;
}
.page_navigation .columns.icons {
  display: block;
}
.page_navigation .columns.icons > div {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
}
.page_navigation .columns.icons > div figure {
  width: 5rem;
}
.page_navigation .columns.icons > div figure img, .page_navigation .columns.icons > div figure svg {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.page_navigation .columns.icons > div > div {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  padding-left: 1.75rem;
  width: 80%;
}
.page_navigation .columns.icons > div > div p {
  margin-top: 0 !important;
}
.page_navigation .columns.icons > div > div .button_container {
  width: 100%;
  padding: 0;
}
.page_navigation .columns.icons > div > div .button {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  background-color: transparent;
  border-width: 2px;
  border-color: transparent;
  width: 100%;
  padding: 0;
  border-radius: 0;
}
.page_navigation .columns.icons > div > div .button .arrow {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background-color: #920790;
  border-radius: 100%;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
}
.page_navigation .columns.icons > div > div .button .arrow svg {
  width: 2rem;
  height: 2rem;
}
.page_navigation .columns.icons > div > div .button:has(.arrow) {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
.page_navigation .columns.icons > div > div .button:hover, .page_navigation .columns.icons > div > div .button:focus {
  background-color: #920790;
  color: #ffffff;
}
.page_navigation .columns.icons > div > div .button:hover .arrow, .page_navigation .columns.icons > div > div .button:focus .arrow {
  background-color: #ffffff;
}
.page_navigation .columns.icons > div > div .button:hover .arrow svg, .page_navigation .columns.icons > div > div .button:focus .arrow svg {
  fill: #920790;
}
.page_navigation .columns.icons > div > div .button:has(.arrow) {
  text-align: left;
}
.page_navigation .columns.icons > div > div .button:has(.arrow) span {
  display: inline-block;
  width: 100%;
  padding-right: 1rem;
}
.page_navigation .columns.icons > div > div .button:hover, .page_navigation .columns.icons > div > div .button:focus {
  background-color: transparent;
}
@media (min-width: 767px) {
  .page_navigation .columns.icons {
    display: flex;
    flex-wrap: nowrap;
    padding: 2rem 0 0;
  }
  .page_navigation .columns.icons > div {
    display: flex;
    flex-wrap: wrap;
    width: auto;
    margin: 0;
  }
  .page_navigation .columns.icons > div > div {
    padding: 0;
  }
  .page_navigation .columns.icons > div > div figure {
    width: 100%;
    padding: 0;
  }
  .page_navigation .columns.icons > div > div figure img, .page_navigation .columns.icons > div > div figure svg {
    width: inherit;
    height: 5rem;
    margin: 0;
  }
}
@media (min-width: 1023px) {
  .page_navigation .columns.icons {
    display: flex;
    flex-wrap: nowrap;
  }
  .page_navigation .columns.icons > div {
    justify-content: center;
  }
}

.results {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-start;
}
.results .result-item {
  width: 50%;
}
.results .result-item img {
  display: block;
  width: auto;
  height: 5rem;
}
@media (min-width: 767px) {
  .results {
    justify-content: flex-start;
    align-content: flex-start;
    align-items: flex-start;
  }
  .results .result-item {
    width: 33.333%;
  }
  .results .result-item p {
    width: 95%;
  }
}

section.testimonials p {
  word-wrap: break-word;
}
section.testimonials > div {
  max-width: 1366px;
  margin: 0 auto;
}
section.testimonials .title {
  text-align: center;
}
section.testimonials .carousel {
  padding: 0;
}
section.testimonials .carousel .container {
  align-items: stretch;
}
section.testimonials .carousel .sliderDots {
  display: none;
}
section.testimonials article.testimonial {
  background-color: #920790;
  min-width: 70vw;
  margin: 1.25rem;
  border-radius: 1rem;
}
section.testimonials article.testimonial .logo {
  display: inline-block;
  background-color: #00254D;
  padding: 1.25rem;
  border-radius: 1rem;
}
section.testimonials article.testimonial .logo svg,
section.testimonials article.testimonial .logo img {
  display: block;
  width: auto;
  height: 2.75rem;
  margin: 0 auto;
}
section.testimonials article.testimonial .logo svg * {
  fill: #ffffff;
}
@media (min-width: 767px) {
  section.testimonials article.testimonial {
    min-width: 20rem;
  }
}

.skip:not(:active):not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.introVideo {
  display: block;
  width: 100%;
  max-width: 1366px;
  margin: 0 auto;
  z-index: -1;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  overflow: hidden;
}
.introVideo * {
  width: 100%;
  height: 55vw;
}
@media (min-width: 767px) {
  .introVideo #videoContainer {
    width: calc(100% - 2rem);
    margin: 2rem auto;
  }
  .introVideo * {
    height: 30rem;
  }
}
@media (min-width: 1440px) {
  .introVideo * {
    height: 40rem;
  }
}

.banner_container {
  background-color: #ffffff;
  color: #00254D;
  padding: 1.25rem;
}
.banner_container > div {
  max-width: 1366px;
  margin: 0 auto;
}
.banner_container .columns .icons {
  display: flex;
  flex-wrap: wrap;
  background-color: transparent;
}
.banner_container .columns .icons > div {
  width: 50%;
  margin: 0;
}
.banner_container .columns .icons img {
  width: auto;
  height: 6rem;
}
.banner_container#clients {
  padding: 1.25rem 0;
  overflow: hidden;
}
.banner_container#clients .carousel {
  max-width: 100%;
}
.banner_container#clients .navigation {
  padding: 2.75rem 0 0;
}
.banner_container#clients .navigation .arrow {
  display: none;
}
.banner_container#clients .navigation .sliderDots {
  background-color: #920790;
  padding: 0.75rem;
  border-radius: 10rem;
}
.banner_container#clients .navigation .sliderDots button {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  background-color: #00254D;
}
.banner_container#clients .navigation .sliderDots button.active {
  background-color: #ffffff;
}
.banner_container#clients .navigation .sliderDots button:hover {
  background-color: rgba(0, 37, 77, 0.25);
}
.banner_container#clients .navigation .sliderDots button:focus, .banner_container#clients .navigation .sliderDots button:focus-visible {
  background-color: #ffffff;
}

.columns > div:has(.columns) {
  padding: 0;
}
.columns > div:has(figure) {
  padding: 0;
}
.columns.align-center {
  align-items: center;
}
@media (min-width: 1023px) {
  .columns.align-center figure img {
    display: block;
    width: 90%;
  }
  .columns.align-center .col:nth-child(odd) figure img {
    margin: 0;
  }
  .columns.align-center .col:nth-child(even) figure img {
    margin-left: 10%;
  }
}
.columns .backgroundContainer .sticky {
  width: 95%;
  padding: 1.25rem 0;
  margin: 0 auto;
}
@media (min-width: 1023px) {
  .columns .col.third {
    width: 33.33%;
  }
  .columns .col.third h2, .columns .col.third h3, .columns .col.third h4, .columns .col.third p {
    width: 98%;
  }
  .columns .col.quarter {
    width: 25%;
  }
  .columns .col.quarter h2, .columns .col.quarter h3, .columns .col.quarter h4, .columns .col.quarter p {
    width: 98%;
  }
  .columns .col.half {
    width: 50%;
  }
  .columns .col.half h2, .columns .col.half h3, .columns .col.half h4, .columns .col.half p {
    width: 98%;
  }
  .columns .col.twoThirds {
    width: 66.666%;
  }
  .columns .col.twoThirds h2, .columns .col.twoThirds h3, .columns .col.twoThirds h4, .columns .col.twoThirds p {
    width: 98%;
  }
  .columns .col.pl {
    padding-left: 1.25rem;
  }
  .columns .col.pr {
    padding-right: 1.25rem;
  }
  .columns .col.p {
    padding: 1.25rem;
  }
}

@media (min-width: 1023px) {
  .page_features > div {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .page_features > div .feature {
    width: 50%;
  }
  .page_features > div .feature .col {
    width: 100%;
    flex-basis: 90% !important;
  }
  .page_features > div .feature .col:first-of-type {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
  }
  .page_features > div .feature .col:first-of-type * {
    width: 100%;
  }

  .columns:has(.backgroundContainer) {
    padding: 4rem 0;
  }
  .columns:has(.backgroundContainer) .text {
    width: 50%;
  }
  .columns:has(.backgroundContainer) .text div {
    background-color: #00254D;
    position: sticky;
    -webkit-position: sticky;
    top: var(--header-fixed-top-offset);
  }
  .columns:has(.backgroundContainer) .backgroundContainer {
    width: 50%;
  }
  .columns:has(.backgroundContainer) .backgroundContainer .sticky {
    margin: 0;
  }
  .columns:has(.backgroundContainer) .backgroundContainer .columns {
    overflow: hidden;
  }
  .columns:has(.backgroundContainer) .backgroundContainer .columns .col {
    width: 100% !important;
    overflow: hidden;
    min-height: 20rem;
    padding: 2rem;
  }
  .columns:has(.backgroundContainer) .backgroundContainer .columns .col * {
    width: 95%;
    margin: 0.75rem auto;
  }
  .columns:has(.backgroundContainer) .backgroundContainer .columns .col figure, .columns:has(.backgroundContainer) .backgroundContainer .columns .col img {
    width: 100%;
    margin: 0;
  }
  .columns:has(.backgroundContainer) .backgroundContainer .columns .col::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 37, 77, 0.6);
  }
  .columns:has(.backgroundContainer) .backgroundContainer .columns .col:has(figure) {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0;
  }
}
header {
  width: 100%;
  position: sticky;
  -webkit-position: sticky;
  top: 0;
  left: 0;
  background-color: rgba(0, 37, 77, 0.7);
  backdrop-filter: blur(10rem);
  z-index: 20000;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
header::-webkit-scrollbar {
  display: none;
}
header > div {
  justify-content: space-between;
}
header a {
  color: #ffffff;
}
header ul, header ol {
  padding: 0;
  margin: 0;
}
header ul {
  list-style: none;
}
header svg {
  fill: #ffffff;
}
header .logo {
  width: 100%;
  max-width: 15rem;
}
header .menu_icon {
  transition: background-position 250ms ease;
  color: #f985f8;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  background: linear-gradient(to right, #f985f8, #f985f8 50%, #ffffff 50%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% 100%;
  background-position: 100%;
}
header .menu_icon svg .overlay {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  fill: #f985f8;
  mask-image: linear-gradient(to right, transparent 0%, transparent 50%, #00254D 50%, #00254D 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 50%, #00254D 50%, #00254D 100%);
  mask-size: 200% 100%;
  -webkit-mask-size: 200% 100%;
  /* FULLY hidden on load */
  mask-position: 200% 0;
  -webkit-mask-position: 200% 0;
}
header .menu_icon:hover, header .menu_icon:focus, header .menu_icon:focus-visible {
  background-position: 0 100%;
}
header .menu_icon:hover svg .overlay, header .menu_icon:focus svg .overlay, header .menu_icon:focus-visible svg .overlay {
  animation: swipe forwards;
  animation-duration: 200ms;
}
header .menu_icon * {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
}
header .menu_icon span {
  background: #ffffff;
  height: 3px;
  width: 2rem;
  display: block;
  margin-top: 0.4rem;
  border-radius: 10rem;
  position: relative;
  overflow: hidden;
}
header .menu_icon span .overlay {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  position: absolute;
  background: #f985f8;
  left: -100%;
  height: 100%;
  width: 100%;
  top: 0;
}
header .menu_icon label {
  padding-left: 1rem;
  cursor: pointer;
}
header .menu_icon label::before, header .menu_icon label::after {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  display: inline-block;
  font-size: 1.2rem;
}
header .menu_icon label::before {
  content: "Menu";
}
header .menu_icon [role=button] {
  display: flex;
  flex-wrap: nowrap;
  cursor: pointer;
}
header .menu_icon [role=button][aria-pressed=true] span {
  transform: rotate(45deg);
}
header .menu_icon [role=button][aria-pressed=true] span:first-of-type {
  margin-top: 10px;
}
header .menu_icon [role=button][aria-pressed=true] span:last-of-type {
  transform: rotate(-45deg);
  margin-top: -4px;
}
header .menu_icon [role=button][aria-pressed=true] label::before {
  content: "Close";
}
header .menu_icon:hover span .overlay, header .menu_icon:focus span .overlay, header .menu_icon:focus-visible span .overlay {
  left: 0;
}
header .desktop_menu nav#main {
  display: none;
}
header .mobile_menu nav#main {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  width: 100%;
  padding: 0;
  height: 0;
  overflow: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
header .mobile_menu nav#main::-webkit-scrollbar {
  display: none;
}
header .mobile_menu nav#main * {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
}
header .mobile_menu nav#main li,
header .mobile_menu nav#main div {
  width: 90%;
  margin: 1rem auto;
  font-size: 1.2rem;
}
header:has(.menu_icon div[aria-pressed=false]) .mobile_menu nav#main {
  padding: 0;
  height: 0;
  overflow: hidden;
}
header:has(.menu_icon div[aria-pressed=true]) .mobile_menu nav#main {
  padding: 0rem 0 2rem;
  height: auto;
}
header:has(.menu_icon div[aria-pressed=true]) .mobile_menu nav#main ul {
  padding-bottom: 1.25rem;
}
@media (max-width: 767px) {
  header .button_container {
    display: none;
  }
}
@media (min-width: 767px) {
  header nav .button {
    display: none;
  }
  header > div {
    justify-content: space-between;
  }
  header .buttons {
    min-width: 10rem;
    align-items: center;
    padding-right: 1.25rem;
  }
}
@media (min-width: 1023px) {
  header * {
    font-size: var(--fs-small-desktop) !important;
  }
  header .logo {
    max-width: 10vw;
  }
  header .mobile_menu,
header .menu_icon {
    display: none;
  }
  header > div {
    align-items: center;
  }
  header .desktop_menu nav#main {
    display: block;
  }
  header .desktop_menu nav#main ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  header .desktop_menu nav#main ul li {
    padding: 0 1.25rem;
    text-align: center;
  }
  header .desktop_menu nav#main ul li * {
    max-width: 15rem;
    display: block;
  }
  header .desktop_menu nav#main ul li:first-of-type {
    padding-left: 0;
  }
  header .desktop_menu nav#main ul li:last-of-type {
    padding-right: 0;
  }
}
@media (min-width: 1366px) {
  header .logo {
    max-width: 10rem;
  }
  header * {
    font-size: var(--fs-large-desktop) !important;
  }
}
@media (min-width: 1920px) {
  header .desktop_menu li {
    font-size: var(--fs-large-desktop);
  }
}

.page_features .columns .col * {
  width: 100%;
}
@media (min-width: 767px) {
  .page_features .feature {
    padding: 2rem 0;
  }
  .page_features .feature.full {
    align-items: flex-start;
  }
  .page_features .feature.full .col {
    width: 50%;
  }
  .page_features .feature.full .col figure img {
    width: 90%;
  }
  .page_features .feature.full .col:nth-child(even) figure img {
    margin-left: 10%;
  }
  .page_features .feature.half {
    padding: 0rem 0;
    justify-content: space-between;
  }
  .page_features .feature.half .col {
    width: 48%;
  }
  .page_features .feature.half .reverse figure {
    margin-top: 2rem;
  }
}
@media (min-width: 1023px) {
  .page_features .feature.full {
    width: 100%;
    flex-wrap: nowrap;
  }
  .page_features .feature .reverse {
    flex-direction: column-reverse;
  }
  .page_features .feature .col.third {
    width: 33.33%;
  }
  .page_features .feature .col.quarter {
    width: 25%;
  }
  .page_features .feature .col.half {
    width: 50%;
  }
  .page_features .feature .col.twoThirds {
    width: 66.666%;
  }
}

body footer {
  background-color: #ffffff;
  color: #00254D;
}
body footer ul {
  padding: 1.25rem 0 0;
  list-style: none;
}
body footer ul a {
  color: #00254D;
}
body footer ul a:hover, body footer ul a:focus, body footer ul a:focus-visible {
  color: #920790;
}
body footer svg {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  transition: background-position 250ms ease;
  color: #f985f8;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  background: linear-gradient(to right, #f985f8, #f985f8 50%, #ffffff 50%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% 100%;
  background-position: 100%;
  fill: #00254D;
  width: auto;
  height: 2rem;
}
body footer svg svg .overlay {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  fill: #f985f8;
  mask-image: linear-gradient(to right, transparent 0%, transparent 50%, #00254D 50%, #00254D 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 50%, #00254D 50%, #00254D 100%);
  mask-size: 200% 100%;
  -webkit-mask-size: 200% 100%;
  /* FULLY hidden on load */
  mask-position: 200% 0;
  -webkit-mask-position: 200% 0;
}
body footer svg:hover, body footer svg:focus, body footer svg:focus-visible {
  background-position: 0 100%;
}
body footer svg:hover svg .overlay, body footer svg:focus svg .overlay, body footer svg:focus-visible svg .overlay {
  animation: swipe forwards;
  animation-duration: 200ms;
}
body footer svg * {
  fill: #00254D;
}
body footer .logo svg {
  width: auto;
}
body footer a:not(.button):not(:has(svg#logo)) {
  -webkit-text-fill-color: #00254D;
}
body footer a:not(.button):not(:has(svg#logo)):hover, body footer a:not(.button):not(:has(svg#logo)):focus, body footer a:not(.button):not(:has(svg#logo)):focus-visible {
  -webkit-text-fill-color: #920790;
}
body footer span {
  display: block;
}
body footer div {
  padding: 0.25rem 0;
}
body footer div * {
  margin: 0;
}
body footer .columns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}
@media (min-width: 767px) {
  body footer ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-end;
  }
  body footer ul li {
    padding: 0 0.5rem;
  }
  body footer ul li:first-of-type {
    padding-left: 0;
  }
  body footer nav {
    display: block;
  }
  body footer nav.mobile {
    display: none;
  }
  body footer .col:has(nav) {
    text-align: right;
  }
  body footer .col:has(nav) * {
    font-size: 1rem;
  }
}
@media (max-width: 767px) {
  body footer nav {
    display: none;
  }
  body footer nav.mobile {
    display: block;
    width: 100%;
  }
}
body:has(footer.in-view) #accessibility {
  opacity: 0;
  z-index: -2000;
}

section.intro .inner,
section .wp-block-group {
  max-width: 1366px;
  margin: 0 auto;
}
section.intro .inner.banner_container,
section .wp-block-group.banner_container {
  max-width: none;
}
section:has(form) {
  max-width: 1366px;
  margin: 0 auto;
}
section.intro.transparent {
  background-color: rgba(0, 37, 77, 0.8);
  min-height: 60vh;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
}

#caseStudy {
  max-width: 1366px;
  margin: 0 auto;
}
#caseStudy section.title {
  text-align: center;
}
#caseStudy section.title img {
  display: block;
  margin: 2rem auto;
}
#caseStudy section.title img.logo {
  width: 10rem;
  height: auto;
}
#caseStudy section.title img.feature {
  width: 100%;
}
#caseStudy section.title span {
  display: block;
  margin-bottom: 1.25em;
}
#caseStudy section.title span.client {
  font-weight: 500;
}
#caseStudy section.title .client svg * {
  fill: #ffffff;
}
#caseStudy section.testimonial .container {
  background-color: #920790;
  border-radius: 1.25rem;
  width: calc(100% - 2rem);
  margin: 0 auto;
}
@media (min-width: 767px) {
  #caseStudy section.title.mobile {
    display: none;
  }
  #caseStudy section.title.desktop {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    text-align: left;
  }
  #caseStudy section.title.desktop .heading {
    width: 100%;
  }
  #caseStudy section.title.desktop .heading h1 {
    margin-bottom: 0;
  }
  #caseStudy section.title.desktop .heading .all {
    justify-content: flex-start;
  }
  #caseStudy section.title.desktop .image {
    width: 60%;
  }
  #caseStudy section.title.desktop .image img {
    margin: 0;
  }
  #caseStudy section.title.desktop .client {
    text-align: left;
    width: 40%;
    line-height: 1.2;
  }
  #caseStudy section.title.desktop .client h1 {
    font-size: 1.75rem;
  }
  #caseStudy section.title.desktop .client svg,
#caseStudy section.title.desktop .client img.logo {
    width: 10rem;
    height: auto;
    margin: 0;
  }
  #caseStudy section.title.desktop .client .inner {
    justify-content: space-between;
    height: 100%;
    padding: 0 2rem;
  }
  #caseStudy section.title.desktop .client .inner .client {
    width: 100%;
  }
  #caseStudy section.title.desktop .client .inner span {
    margin: 1rem 0;
  }
  #caseStudy section.title.desktop .client .inner div {
    width: 90%;
  }
  #caseStudy section.measurable .inner, #caseStudy section.richContent .inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  #caseStudy section.measurable .inner h2, #caseStudy section.richContent .inner h2 {
    width: 38%;
  }
  #caseStudy section.richContent .inner p {
    width: 60%;
  }
  #caseStudy section.measurable .results {
    width: 60%;
  }
  #caseStudy section.delivery .title {
    text-align: center;
  }
  #caseStudy section.delivery > .allItems {
    display: none;
  }
  #caseStudy section.delivery .carousel {
    display: block;
    padding: 0;
  }
  #caseStudy section.delivery .carousel .sliderDots {
    display: none;
  }
  #caseStudy section.delivery .carousel .allItems .container {
    align-items: stretch;
  }
  #caseStudy section.delivery .carousel .item {
    min-width: 50vw;
    margin-right: 1rem;
  }
  #caseStudy section.delivery .carousel .item:last-of-type {
    margin-right: 0;
  }
  #caseStudy section.outcome {
    text-align: center;
  }
  #caseStudy section.testimonial .container {
    width: calc(100% - 4rem);
  }
}
@media (max-width: 767px) {
  #caseStudy section.title.mobile {
    display: block;
  }
  #caseStudy section.title.desktop {
    display: none;
  }
  #caseStudy section.delivery {
    padding-bottom: 4rem;
  }
  #caseStudy section.delivery .delivery-item {
    background-color: #00254D;
    position: sticky;
    -webkit-position: sticky;
    top: var(--header-fixed-top-offset);
  }
  #caseStudy section.delivery .carousel {
    display: none;
  }
}
@media (min-width: 1023px) {
  #caseStudy section.richContent, #caseStudy section.challenge, #caseStudy section.approach {
    width: calc(50% - 2rem);
    margin: 0;
    display: inline-block;
    vertical-align: top;
  }
  #caseStudy section.richContent .inner, #caseStudy section.challenge .inner, #caseStudy section.approach .inner {
    flex-wrap: wrap;
  }
  #caseStudy section.richContent .inner *, #caseStudy section.challenge .inner *, #caseStudy section.approach .inner * {
    width: 100% !important;
  }
  #caseStudy section.measurable .inner {
    flex-wrap: wrap;
    text-align: center;
  }
  #caseStudy section.measurable .inner h2,
#caseStudy section.measurable .inner .results {
    width: 100%;
    margin: 1.25rem 0;
  }
  #caseStudy section.measurable .inner .results {
    max-width: 1023px;
    margin: 0 auto;
  }
  #caseStudy section.measurable .inner .results .result-item {
    width: 25%;
    margin: 1.25rem 0;
  }
  #caseStudy section.measurable .inner .results .result-item img {
    margin: 0 auto;
  }
  #caseStudy section.measurable .inner .results .result-item * {
    max-width: 90%;
  }
  #caseStudy section.delivery {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 4rem;
  }
  #caseStudy section.delivery .title {
    width: 35%;
    position: sticky;
    position: -webkit-sticky;
    top: var(--header-fixed-top-offset);
  }
  #caseStudy section.delivery .title h2 {
    margin-top: 5rem;
  }
  #caseStudy section.delivery > .allItems {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    align-content: flex-start;
    width: 60%;
  }
  #caseStudy section.delivery > .allItems .item {
    padding-bottom: 1rem;
    width: 50%;
    position: relative;
    min-height: inherit;
    margin: 0;
    top: 0;
  }
  #caseStudy section.delivery .delivery-item {
    background-color: #00254D;
    position: sticky;
    -webkit-position: sticky;
    top: var(--header-fixed-top-offset);
  }
  #caseStudy section.delivery .carousel {
    display: none;
  }
}

#documents .topContainer {
  background-color: #00254D;
  position: sticky;
  -webkit-position: sticky;
  top: var(--header-fixed-top-offset);
  z-index: -1;
  padding-bottom: 2rem;
  max-width: 1366px;
  margin: 0 auto;
}
#documents .topContainer.scaled {
  max-width: 90% !important;
}
#documents .topContainer * {
  line-height: 1.2;
  font-size: 400;
}
#documents .topContainer h2 {
  font-size: 1.75rem;
}
#documents #doc-silo .carousel {
  max-width: 1366px;
  margin: 0 auto;
}
#documents #doc-silo .carousel .title {
  width: calc(100% - 2rem);
  margin: 0 auto;
  justify-content: space-between;
  align-items: flex-start;
}
#documents #doc-silo .carousel .title h3 {
  margin: 0;
}
#documents #doc-silo .carousel .navigation {
  flex-wrap: nowrap;
  width: 10rem;
  justify-content: flex-end;
}
#documents #doc-silo .carousel .navigation .sliderDots {
  display: none;
}
#documents #doc-silo .carousel .navigation.hidden {
  display: flex;
}
#documents #doc-silo .carousel .navigation.hidden button {
  opacity: 20%;
}
#documents #doc-silo .carousel .allItems > .container {
  padding: 0;
  margin: 0;
}
#documents #doc-silo .carousel.uncategorised .title {
  justify-content: flex-end;
}
#documents #doc-silo .item {
  cursor: pointer;
  min-width: 20rem;
  width: 20rem;
  padding: 1rem;
}
#documents #doc-silo .item .container {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  background-color: rgba(146, 7, 144, 0.4);
  border-radius: 1em;
  min-height: 10rem;
  height: 90%;
  padding: 0;
}
#documents #doc-silo .item a {
  -webkit-text-fill-color: #ffffff;
}
#documents #doc-silo .item a:focus, #documents #doc-silo .item a:hover {
  border: 0;
  outline: 0;
  border-radius: 1rem;
}
#documents #doc-silo .item a:focus .container, #documents #doc-silo .item a:hover .container {
  outline: 1px dashed #ffffff;
  outline-offset: 0.25rem;
  background-color: #920790;
}
@media (min-width: 767px) {
  #documents #doc-silo .carousel .title {
    width: calc(100% - 5rem);
  }
  #documents #doc-silo .carousel .item:first-of-type {
    padding-left: 1rem;
  }
  #documents #doc-silo .carousel.uncategorised .navigation {
    display: none;
  }
  #documents #doc-silo .carousel.uncategorised .allItems .container {
    flex-wrap: wrap;
  }
  #documents #doc-silo .carousel.uncategorised .allItems .container .item {
    padding: 2rem 0;
  }
  #documents #doc-silo .carousel.uncategorised .allItems .container .item .container {
    width: 92.5%;
    margin: 0 auto;
  }
}
@media (min-width: 1023px) {
  #documents #doc-silo .carousel .title {
    width: calc(100% - 2rem);
  }
}
@media (min-width: 1023px) {
  #documents .topContainer:has(#videoContainer) {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  #documents .topContainer:has(#videoContainer) .intro {
    width: 60%;
  }
  #documents .topContainer:has(#videoContainer) .introVideo {
    width: 40%;
    z-index: 2;
    margin: 0;
  }
  #documents .topContainer:has(#videoContainer) .introVideo * {
    width: 100%;
    height: auto;
  }
  #documents .topContainer:has(#videoContainer) .introVideo iframe {
    height: 25rem;
  }
  #documents .topContainer .intro {
    text-align: left;
  }
}

body #form .intro {
  display: none;
}
body #form .sticky .inner {
  padding: 0;
}
@media (min-width: 767px) {
  body #form .content .columns.details {
    padding: 1.25rem 0;
  }
  body #form .content .columns.details .col {
    width: auto;
    padding-right: 1.75rem;
  }
  body #form .content .columns.details .col:last-of-type {
    padding-right: 0;
  }
  body #form .content .columns.details .col * {
    margin: 0.25rem 0;
  }
  body #form .content .columns .col {
    width: 100%;
  }
  body #form .content .columns .col form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  body #form .content .columns .col form > div {
    width: calc(50% - 1.25rem);
    text-align: left;
  }
  body #form .content .columns .col form > div.g-recaptcha {
    width: 100%;
  }
}
@media (min-width: 1023px) {
  body #form .content .columns.details {
    padding: 1.25rem 0;
  }
  body #form .content .columns.details .col {
    width: auto;
    padding-right: 1.75rem;
  }
  body #form .content .columns.details .col:last-of-type {
    padding-right: 0;
  }
  body #form .content .columns.details .col * {
    margin: 0.25rem 0;
  }
  body #form .content .columns .col {
    width: 50%;
  }
  body #form .content .columns .col:has(form) > div {
    padding-left: 2rem;
  }
  body #form .content .columns .col form {
    display: block;
  }
  body #form .content .columns .col form > div {
    width: calc(100% - 1.25rem);
  }
}

#holdingPage {
  background-size: cover;
  background-position: center center;
}
#holdingPage .sticky {
  position: sticky;
  -webkit-position: sticky;
  top: 0;
  background-color: transparent;
  padding: 0;
}
#holdingPage .max-width {
  max-width: 1023px;
  margin: 0 auto;
}
#holdingPage main {
  min-height: 94.35vh;
  margin: 0 auto;
  padding-bottom: 0;
}
#holdingPage main section.topContainer {
  position: relative;
  width: 100%;
  padding: 1.75rem 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  min-height: 25vh;
}
#holdingPage main section.topContainer div {
  position: relative;
  z-index: 1;
}
#holdingPage main section.topContainer::before {
  content: "";
  position: absolute;
  z-index: 12000;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 37, 77, 0.9);
  backdrop-filter: blur(0.1rem);
  overflow: hidden;
  z-index: 0;
}
#holdingPage main section.topContainer .full {
  width: 100%;
}
#holdingPage main section.topContainer .full svg {
  display: block;
  margin: 0 auto;
}
#holdingPage main section.topContainer * {
  align-items: flex-start;
}
#holdingPage main section.topContainer h2 {
  font-weight: 400;
  font-size: 1.75rem;
}
#holdingPage main section.topContainer svg {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  fill: #ffffff;
  max-width: 20rem;
  width: 100%;
}
#holdingPage main section.topContainer .buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 1.75rem 0 0;
}
#holdingPage main section.topContainer .buttons * {
  margin: 0.5rem;
}
#holdingPage main section.topContainer .buttons svg {
  height: 2rem;
  width: auto;
  margin: 0.75rem 0;
}
#holdingPage main section.topContainer .columns {
  max-width: 1366px;
  flex-direction: column-reverse;
}
#holdingPage main section.content {
  background-color: rgba(0, 37, 77, 0.9);
}
#holdingPage main section.content .columns {
  padding: 0;
  align-items: flex-start;
}
#holdingPage main section.content .columns .col {
  min-height: 15rem;
}
#holdingPage main section.content .page_features .feature {
  background-color: #00254D;
  margin-bottom: 2rem;
}
#holdingPage main section.content .page_features .feature .col {
  min-height: 0;
}
#holdingPage main section.content .page_features .feature .col * {
  margin: 0;
}
#holdingPage main section.content .page_features .feature .col:last-of-type {
  padding: 2rem 0;
}
#holdingPage main section.content .page_features .feature .col:last-of-type * {
  margin: 0.5rem auto;
}
#holdingPage main section.content .iconContainer {
  padding-bottom: 5rem;
}
#holdingPage .overlay {
  position: fixed;
  z-index: 12000;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 37, 77, 0.8);
  backdrop-filter: blur(1rem);
  overflow: hidden;
  opacity: 0;
}
#holdingPage .overlay[aria-hidden=true] {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  z-index: -120;
}
#holdingPage .overlay[aria-hidden=false] {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  z-index: 200;
  opacity: 1;
}
#holdingPage .overlay[aria-hidden=false] .container {
  transform: scaleX(1);
  width: calc(100% - 2rem);
}
#holdingPage .overlay .container {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  transform: scaleX(0);
  transform-origin: center;
  margin: 0 auto;
  max-width: 1023px;
  position: relative;
  height: 100vh;
  overflow: scroll;
}
#holdingPage .overlay .container::-webkit-scrollbar {
  display: none;
}
#holdingPage .overlay .container .close {
  position: absolute;
  top: 0;
  right: 0;
}
#holdingPage footer {
  position: relative;
  min-height: 6.75vh;
}
#holdingPage footer .columns {
  align-items: flex-start;
}
#holdingPage footer * {
  margin: 0;
}
@media (min-width: 767px) {
  #holdingPage main svg {
    margin: 2.75rem 0;
  }
  #holdingPage main section.content .columns {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  #holdingPage main section.content .text {
    position: sticky;
    -webkit-position: sticky;
    top: 0;
  }
  #holdingPage main section.content .iconContainer .columns {
    justify-content: center;
  }
  #holdingPage main section.content .iconContainer .icon img,
#holdingPage main section.content .iconContainer .icon svg {
    margin: 2.75rem auto;
  }
  #holdingPage .overlay {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
  }
  #holdingPage .overlay .container form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    align-items: flex-start;
  }
  #holdingPage .overlay .container form div {
    width: 45%;
  }
  #holdingPage .overlay .container form div.wpcf7-response-output {
    width: 100%;
  }
  #holdingPage .overlay:has(form.sent) .container p {
    display: none;
  }
  #holdingPage .overlay:has(form.sent) .container p[role=status] {
    display: block;
  }
  #holdingPage .overlay:has(form.sent) .wpcf7 .screen-reader-response {
    position: relative;
    height: auto;
    width: auto;
    overflow: visible;
    clip-path: none;
  }
  #holdingPage .buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding-top: 1.75rem;
  }
  #holdingPage .buttons * {
    margin: 0.5rem;
  }
  #holdingPage footer .col {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
  }
  #holdingPage footer .col figure {
    padding-right: 0.75rem;
  }
}
@media (min-width: 1023px) {
  #holdingPage main section.topContainer .columns {
    flex-direction: inherit;
    align-items: flex-end;
  }
  #holdingPage main section.topContainer .columns .col:first-of-type {
    width: 40%;
  }
  #holdingPage main section.topContainer .columns .col:last-of-type {
    width: 60%;
  }
  #holdingPage main section.content .page_features {
    padding: 2rem 0;
  }
  #holdingPage main section.content .page_features .feature {
    min-height: 15rem;
  }
  #holdingPage main section.content .page_features .feature .col:last-of-type * {
    width: 85%;
  }
  #holdingPage main section .columns:has(.backgroundContainer) .text div {
    background-color: transparent;
  }
}

.listing {
  padding-bottom: 2rem;
  max-width: 1366px;
  margin: 0 auto;
}
.listing .item {
  width: calc(100% - 2rem);
  margin: 1.75rem auto;
}
.listing .item .imageContainer * {
  display: block;
  width: 100%;
  height: auto;
}
.listing .item .logoContainer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  min-height: 15rem;
  width: 100%;
}
.listing .item .logoContainer .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.listing .item .logoContainer .inner * {
  display: block;
  width: 100%;
  height: inherit;
}
.listing .item .details {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  flex-direction: column-reverse;
  justify-content: space-between;
  padding: 1.25rem 0 0;
  position: relative;
}
.listing .item .details .content {
  padding-right: 2rem;
}
.listing .item .details .content h2 {
  font-weight: 400;
  font-size: 1.2rem;
}
.listing .item .details .content p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.listing .item .details .clientLogo {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.listing .item .details .clientLogo svg {
  fill: #ffffff;
}
.listing .item .details .clientLogo svg * {
  fill: #ffffff;
}
.listing .item .details .clientLogo img,
.listing .item .details .clientLogo svg {
  display: block;
  width: auto;
  height: 2.75rem;
}
.listing .item .details .link {
  position: absolute;
  bottom: 0.75rem;
  right: 0;
  z-index: 2;
}
.listing .item .details .link * {
  margin: 0;
}
@media (min-width: 767px) {
  .listing {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    width: 95%;
    margin: 0 auto;
  }
  .listing .item {
    width: 50%;
    margin: 1.25rem 0;
  }
  .listing .item:first-of-type {
    width: 100%;
    margin-bottom: 2rem;
  }
  .listing .item:first-of-type .more svg {
    display: none;
  }
  .listing .item:first-of-type .more span {
    position: relative;
    width: inherit;
    height: inherit;
    opacity: 1;
    display: inline;
  }
  .listing .item:first-of-type .more span.sr-only {
    position: absolute;
    opacity: 0;
    width: 0;
  }
}
@media (min-width: 767px) and (min-width: 767px) {
  .listing .item:first-of-type .content {
    padding-right: 10rem;
  }
  .listing .item:first-of-type .more {
    border-radius: 2rem;
    padding: 0.75rem 1.25rem;
  }
}
@media (min-width: 767px) {
  .listing .item .imageContainer,
.listing .item .logoContainer,
.listing .item .details {
    width: 95%;
  }
}
@media (min-width: 767px) {
  .listing .item .link {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 10rem;
    padding-bottom: 1.25rem;
  }
}
@media (min-width: 767px) {
  .listing .item .link {
    padding-bottom: 0;
  }
}
@media (min-width: 1023px) {
  .listing {
    width: calc(100% - 1.25rem);
    margin: 0 auto;
  }
  .listing .item {
    width: 33.333%;
  }
  .listing .item:first-of-type {
    display: flex;
    flex-wrap: nowrap;
    max-width: 1366px;
  }
  .listing .item:first-of-type .imageContainer,
.listing .item:first-of-type .logoContainer {
    width: 60%;
    min-height: 25rem;
  }
  .listing .item:first-of-type .imageContainer .inner,
.listing .item:first-of-type .logoContainer .inner {
    width: 100%;
    height: 100%;
    max-height: 22.25rem;
  }
  .listing .item:first-of-type .imageContainer .inner svg,
.listing .item:first-of-type .logoContainer .inner svg {
    max-width: 80%;
    width: auto;
    height: 10rem;
  }
  .listing .item:first-of-type .details {
    width: 40%;
    padding-left: 2rem;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    align-content: flex-end;
    justify-content: flex-end;
  }
  .listing .item:first-of-type .details > div {
    width: 100%;
  }
  .listing .item:first-of-type .details .link {
    padding-bottom: 0;
    justify-content: flex-start;
  }
  .listing .item:first-of-type .details .clientLogo {
    padding: 0 0 2rem;
  }
  .listing .item .details {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .listing .item .details .content {
    width: 100%;
  }
  .listing .item .details .link {
    position: relative;
    bottom: 0;
  }
  .listing .item .more {
    border-radius: 2rem;
    padding: 0.75rem 1.25rem;
  }
  .listing .item .more svg,
.listing .item .more .sr-only {
    display: none;
  }
  .listing .item .more span {
    display: block;
  }
}

:root {
  --scale: 1;
  --fs-small-desktop: 0.75vw;
  --fs-medium-desktop: 1vw;
  --fs-large-desktop: 1rem;
  --fs-small-title: 2rem;
  --fs-title: 2.75rem;
  --header-fixed-top-offset: 5rem;
}
@media (min-width: 1023px) {
  :root {
    --header-fixed-top-offset: 3.25vw;
  }
}
@media (min-width: 1366px) {
  :root {
    --header-fixed-top-offset: 5rem;
  }
}

html {
  font-size: calc(16px * var(--scale));
  transition: font-size 0.2s ease;
}

body {
  transform-origin: 0 0;
  font-family: "poppins";
  background-color: #00254D;
  color: #ffffff;
  display: block;
  margin: 0;
}
body.high-contrast {
  background-color: #020000;
}
body.high-contrast * {
  color: #FFFF00;
}
body.high-contrast .button:hover,
body.high-contrast .button:focus,
body.high-contrast .button:focus-visible {
  background-color: #020000;
}
body.high-contrast header,
body.high-contrast footer {
  background: rgba(0, 0, 0, 0.6);
}
body.high-contrast header .menu_icon span,
body.high-contrast footer .menu_icon span {
  background-color: #FFFF00;
}
body.high-contrast header svg path,
body.high-contrast header img path,
body.high-contrast header #logo path,
body.high-contrast footer svg path,
body.high-contrast footer img path,
body.high-contrast footer #logo path {
  fill: #FFFF00;
}
body.high-contrast header .button,
body.high-contrast footer .button {
  background-color: #020000;
  border-color: #FFFF00;
}
body.high-contrast section {
  background-color: #020000;
}
body.high-contrast .pageTop .content_container * {
  color: #FFFF00;
}
body.high-contrast #accessibility .container.open {
  background-color: #020000;
  border: 1px solid #FFFF00;
}
body.high-contrast #accessibility #reset {
  border-color: #FFFF00;
}
body.high-contrast #accessibility #reset::before {
  background-color: #FFFF00;
}
body.high-contrast #accessibility .button,
body.high-contrast #accessibility button {
  background-color: #020000;
  border-color: #FFFF00;
}
body.high-contrast #accessibility .button:hover, body.high-contrast #accessibility .button:focus,
body.high-contrast #accessibility button:hover,
body.high-contrast #accessibility button:focus {
  color: #ffffff;
}
body.high-contrast #accessibility .button:hover *, body.high-contrast #accessibility .button:focus *,
body.high-contrast #accessibility button:hover *,
body.high-contrast #accessibility button:focus * {
  color: #ffffff;
}
body.high-contrast #accessibility .button:hover svg, body.high-contrast #accessibility .button:focus svg,
body.high-contrast #accessibility button:hover svg,
body.high-contrast #accessibility button:focus svg {
  fill: #ffffff;
}
body.high-contrast #accessibility .button:hover svg path, body.high-contrast #accessibility .button:focus svg path,
body.high-contrast #accessibility button:hover svg path,
body.high-contrast #accessibility button:focus svg path {
  fill: #ffffff;
}
body.high-contrast .testimonials .navigation {
  background-color: transparent;
  border: 0;
}
body.high-contrast .testimonials .navigation button.arrow:hover, body.high-contrast .testimonials .navigation button.arrow:focus, body.high-contrast .testimonials .navigation button.arrow:focus-visible {
  background-color: rgba(255, 255, 0, 0.5) !important;
}
body.high-contrast .sticky,
body.high-contrast .banner_container,
body.high-contrast .columns:has(.backgroundContainer) .text div,
body.high-contrast #action .callToAction,
body.high-contrast #action .callToAction .button,
body.high-contrast section.testimonials article.testimonial,
body.high-contrast .carousel .navigation .sliderDots button, body.high-contrast .carousel .navigation .arrow,
body.high-contrast .delivery .delivery-item,
body.high-contrast #caseStudy section.testimonial .container,
body.high-contrast #documents #doc-silo .carousel .item .container {
  background-color: #020000;
}
body.high-contrast .sticky svg,
body.high-contrast .banner_container svg,
body.high-contrast .columns:has(.backgroundContainer) .text div svg,
body.high-contrast #action .callToAction svg,
body.high-contrast #action .callToAction .button svg,
body.high-contrast section.testimonials article.testimonial svg,
body.high-contrast .carousel .navigation .sliderDots button svg, body.high-contrast .carousel .navigation .arrow svg,
body.high-contrast .delivery .delivery-item svg,
body.high-contrast #caseStudy section.testimonial .container svg,
body.high-contrast #documents #doc-silo .carousel .item .container svg {
  fill: #FFFF00;
}
body.high-contrast .sticky svg *,
body.high-contrast .banner_container svg *,
body.high-contrast .columns:has(.backgroundContainer) .text div svg *,
body.high-contrast #action .callToAction svg *,
body.high-contrast #action .callToAction .button svg *,
body.high-contrast section.testimonials article.testimonial svg *,
body.high-contrast .carousel .navigation .sliderDots button svg *, body.high-contrast .carousel .navigation .arrow svg *,
body.high-contrast .delivery .delivery-item svg *,
body.high-contrast #caseStudy section.testimonial .container svg *,
body.high-contrast #documents #doc-silo .carousel .item .container svg * {
  fill: #FFFF00;
}
body.high-contrast .banner_container#clients {
  background-color: #ffffff;
}
body.high-contrast .banner_container#clients .intro * {
  color: #020000;
}
body.high-contrast #action .callToAction,
body.high-contrast section.testimonials article.testimonial,
body.high-contrast #caseStudy section.testimonial .container,
body.high-contrast #documents #doc-silo .carousel .item .container {
  border-color: #FFFF00;
  border: 1px solid #FFFF00;
}
body.high-contrast #casestudies .item .content svg,
body.high-contrast #caseStudy section.title.desktop .client svg, body.high-contrast #caseStudy section.title.desktop .client img.logo,
body.high-contrast .listing .item .details .content svg {
  fill: #FFFF00;
}
body.high-contrast #casestudies .item .content svg *,
body.high-contrast #caseStudy section.title.desktop .client svg *, body.high-contrast #caseStudy section.title.desktop .client img.logo *,
body.high-contrast .listing .item .details .content svg * {
  fill: #FFFF00;
}
body.high-contrast section.testimonials article.testimonial .logo {
  background-color: transparent;
  border: 1px solid #FFFF00;
}
body.high-contrast section.testimonials article.testimonial .logo svg {
  fill: #FFFF00;
}
body.high-contrast section.testimonials article.testimonial .logo svg * {
  fill: #FFFF00;
}
body.high-contrast .delivery .delivery-item .container::after,
body.high-contrast .columns:has(.backgroundContainer) .backgroundContainer .columns .col::before {
  background-color: rgba(2, 0, 0, 0.6);
}
body.high-contrast #caseStudy section.delivery .delivery-item {
  background-color: #020000;
}
body.high-contrast form div:has(input:required)::before {
  color: #FFFF00;
}
body.high-contrast button,
body.high-contrast .button,
body.high-contrast button.arrow,
body.high-contrast input[type=submit],
body.high-contrast #action .callToAction .button,
body.high-contrast .carousel .navigation .arrow,
body.high-contrast .button.dark:hover,
body.high-contrast .button.dark:focus,
body.high-contrast .button.dark:focus-visible {
  border-color: #FFFF00;
  background-color: #020000;
  color: #FFFF00;
}
body.high-contrast button::before,
body.high-contrast .button::before,
body.high-contrast button.arrow::before,
body.high-contrast input[type=submit]::before,
body.high-contrast #action .callToAction .button::before,
body.high-contrast .carousel .navigation .arrow::before,
body.high-contrast .button.dark:hover::before,
body.high-contrast .button.dark:focus::before,
body.high-contrast .button.dark:focus-visible::before {
  background-color: #FFFF00;
}
body.high-contrast button:hover, body.high-contrast button:focus, body.high-contrast button:focus-visible,
body.high-contrast .button:hover,
body.high-contrast .button:focus,
body.high-contrast .button:focus-visible,
body.high-contrast button.arrow:hover,
body.high-contrast button.arrow:focus,
body.high-contrast button.arrow:focus-visible,
body.high-contrast input[type=submit]:hover,
body.high-contrast input[type=submit]:focus,
body.high-contrast input[type=submit]:focus-visible,
body.high-contrast #action .callToAction .button:hover,
body.high-contrast #action .callToAction .button:focus,
body.high-contrast #action .callToAction .button:focus-visible,
body.high-contrast .carousel .navigation .arrow:hover,
body.high-contrast .carousel .navigation .arrow:focus,
body.high-contrast .carousel .navigation .arrow:focus-visible,
body.high-contrast .button.dark:hover:hover,
body.high-contrast .button.dark:hover:focus,
body.high-contrast .button.dark:hover:focus-visible,
body.high-contrast .button.dark:focus:hover,
body.high-contrast .button.dark:focus:focus,
body.high-contrast .button.dark:focus:focus-visible,
body.high-contrast .button.dark:focus-visible:hover,
body.high-contrast .button.dark:focus-visible:focus,
body.high-contrast .button.dark:focus-visible:focus-visible {
  -webkit-text-fill-color: #ffffff;
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  color: #FFFF00;
}
body.high-contrast button:hover *, body.high-contrast button:focus *, body.high-contrast button:focus-visible *,
body.high-contrast .button:hover *,
body.high-contrast .button:focus *,
body.high-contrast .button:focus-visible *,
body.high-contrast button.arrow:hover *,
body.high-contrast button.arrow:focus *,
body.high-contrast button.arrow:focus-visible *,
body.high-contrast input[type=submit]:hover *,
body.high-contrast input[type=submit]:focus *,
body.high-contrast input[type=submit]:focus-visible *,
body.high-contrast #action .callToAction .button:hover *,
body.high-contrast #action .callToAction .button:focus *,
body.high-contrast #action .callToAction .button:focus-visible *,
body.high-contrast .carousel .navigation .arrow:hover *,
body.high-contrast .carousel .navigation .arrow:focus *,
body.high-contrast .carousel .navigation .arrow:focus-visible *,
body.high-contrast .button.dark:hover:hover *,
body.high-contrast .button.dark:hover:focus *,
body.high-contrast .button.dark:hover:focus-visible *,
body.high-contrast .button.dark:focus:hover *,
body.high-contrast .button.dark:focus:focus *,
body.high-contrast .button.dark:focus:focus-visible *,
body.high-contrast .button.dark:focus-visible:hover *,
body.high-contrast .button.dark:focus-visible:focus *,
body.high-contrast .button.dark:focus-visible:focus-visible * {
  color: #020000;
}
body.high-contrast button:hover svg rect, body.high-contrast button:hover svg path, body.high-contrast button:focus svg rect, body.high-contrast button:focus svg path, body.high-contrast button:focus-visible svg rect, body.high-contrast button:focus-visible svg path,
body.high-contrast .button:hover svg rect,
body.high-contrast .button:hover svg path,
body.high-contrast .button:focus svg rect,
body.high-contrast .button:focus svg path,
body.high-contrast .button:focus-visible svg rect,
body.high-contrast .button:focus-visible svg path,
body.high-contrast button.arrow:hover svg rect,
body.high-contrast button.arrow:hover svg path,
body.high-contrast button.arrow:focus svg rect,
body.high-contrast button.arrow:focus svg path,
body.high-contrast button.arrow:focus-visible svg rect,
body.high-contrast button.arrow:focus-visible svg path,
body.high-contrast input[type=submit]:hover svg rect,
body.high-contrast input[type=submit]:hover svg path,
body.high-contrast input[type=submit]:focus svg rect,
body.high-contrast input[type=submit]:focus svg path,
body.high-contrast input[type=submit]:focus-visible svg rect,
body.high-contrast input[type=submit]:focus-visible svg path,
body.high-contrast #action .callToAction .button:hover svg rect,
body.high-contrast #action .callToAction .button:hover svg path,
body.high-contrast #action .callToAction .button:focus svg rect,
body.high-contrast #action .callToAction .button:focus svg path,
body.high-contrast #action .callToAction .button:focus-visible svg rect,
body.high-contrast #action .callToAction .button:focus-visible svg path,
body.high-contrast .carousel .navigation .arrow:hover svg rect,
body.high-contrast .carousel .navigation .arrow:hover svg path,
body.high-contrast .carousel .navigation .arrow:focus svg rect,
body.high-contrast .carousel .navigation .arrow:focus svg path,
body.high-contrast .carousel .navigation .arrow:focus-visible svg rect,
body.high-contrast .carousel .navigation .arrow:focus-visible svg path,
body.high-contrast .button.dark:hover:hover svg rect,
body.high-contrast .button.dark:hover:hover svg path,
body.high-contrast .button.dark:hover:focus svg rect,
body.high-contrast .button.dark:hover:focus svg path,
body.high-contrast .button.dark:hover:focus-visible svg rect,
body.high-contrast .button.dark:hover:focus-visible svg path,
body.high-contrast .button.dark:focus:hover svg rect,
body.high-contrast .button.dark:focus:hover svg path,
body.high-contrast .button.dark:focus:focus svg rect,
body.high-contrast .button.dark:focus:focus svg path,
body.high-contrast .button.dark:focus:focus-visible svg rect,
body.high-contrast .button.dark:focus:focus-visible svg path,
body.high-contrast .button.dark:focus-visible:hover svg rect,
body.high-contrast .button.dark:focus-visible:hover svg path,
body.high-contrast .button.dark:focus-visible:focus svg rect,
body.high-contrast .button.dark:focus-visible:focus svg path,
body.high-contrast .button.dark:focus-visible:focus-visible svg rect,
body.high-contrast .button.dark:focus-visible:focus-visible svg path {
  fill: #FFFF00;
}
body.high-contrast button *,
body.high-contrast .button *,
body.high-contrast button.arrow *,
body.high-contrast input[type=submit] *,
body.high-contrast #action .callToAction .button *,
body.high-contrast .carousel .navigation .arrow *,
body.high-contrast .button.dark:hover *,
body.high-contrast .button.dark:focus *,
body.high-contrast .button.dark:focus-visible * {
  color: #FFFF00;
}
body.high-contrast button svg rect, body.high-contrast button svg path,
body.high-contrast .button svg rect,
body.high-contrast .button svg path,
body.high-contrast button.arrow svg rect,
body.high-contrast button.arrow svg path,
body.high-contrast input[type=submit] svg rect,
body.high-contrast input[type=submit] svg path,
body.high-contrast #action .callToAction .button svg rect,
body.high-contrast #action .callToAction .button svg path,
body.high-contrast .carousel .navigation .arrow svg rect,
body.high-contrast .carousel .navigation .arrow svg path,
body.high-contrast .button.dark:hover svg rect,
body.high-contrast .button.dark:hover svg path,
body.high-contrast .button.dark:focus svg rect,
body.high-contrast .button.dark:focus svg path,
body.high-contrast .button.dark:focus-visible svg rect,
body.high-contrast .button.dark:focus-visible svg path {
  fill: #FFFF00;
}
body.high-contrast a.button {
  -webkit-text-fill-color: #FFFF00;
}
body.high-contrast a.button:hover, body.high-contrast a.button:focus, body.high-contrast a.button:focus-visible {
  color: #020000;
}
body.high-contrast input[type=submit]:hover, body.high-contrast input[type=submit]:focus, body.high-contrast input[type=submit]:focus-visible {
  background-color: #FFFF00;
  color: #020000;
}
body.high-contrast a {
  color: #FFFF00;
  -webkit-text-fill-color: #FFFF00;
}
body.high-contrast a svg rect, body.high-contrast a svg path {
  fill: #FFFF00;
}
body.high-contrast #filter #sortBy {
  border-color: #FFFF00;
}
body.high-contrast #filter #sortBy::before {
  border-top-color: #FFFF00;
}
body.high-contrast #filter #sortBy * {
  color: #FFFF00;
}
body.high-contrast a:not(.button):not(:has(svg#logo)) {
  -webkit-text-fill-color: #FFFF00;
}
body .has-medium-font-size {
  font-size: 1.75rem;
}
body .has-large-font-size {
  font-size: 2rem;
}
body p {
  font-size: 1rem;
}
body p strong {
  font-size: 1rem;
}
body p.title {
  font-size: 1.75rem;
}
body a {
  text-decoration: none;
}
body a.all {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
}
body a.all svg {
  fill: #f985f8;
  margin-right: 1.25rem;
  height: 1.75rem;
}
body a.all svg .overlay {
  fill: #f985f8;
}
body a.more svg {
  display: inline-block;
  vertical-align: middle;
  width: auto;
  height: 1.25rem;
  margin: 0 0.5rem;
}
@media (max-width: 1023px) {
  body a.more {
    border-radius: 100%;
    display: inline-block;
  }
  body a.more:has(svg) {
    padding: 0.5rem;
  }
  body a.more span {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    left: 0;
  }
}
@media (min-width: 1023px) {
  body a.more {
    border-radius: 1rem;
  }
  body a.more span {
    position: relative;
    width: inherit;
    height: inherit;
    opacity: 1;
    display: inline;
  }
  body a.more span.sr-only {
    position: absolute;
    opacity: 0;
    width: 0;
  }
}
body a:not(.button):not(:has(svg#logo)) {
  transition: background-position 250ms ease;
  color: #f985f8;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  background: linear-gradient(to right, #f985f8, #f985f8 50%, #ffffff 50%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 200% 100%;
  background-position: 100%;
}
body a:not(.button):not(:has(svg#logo)) svg .overlay {
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  fill: #f985f8;
  mask-image: linear-gradient(to right, transparent 0%, transparent 50%, #00254D 50%, #00254D 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 50%, #00254D 50%, #00254D 100%);
  mask-size: 200% 100%;
  -webkit-mask-size: 200% 100%;
  /* FULLY hidden on load */
  mask-position: 200% 0;
  -webkit-mask-position: 200% 0;
}
body a:not(.button):not(:has(svg#logo)):hover, body a:not(.button):not(:has(svg#logo)):focus, body a:not(.button):not(:has(svg#logo)):focus-visible {
  background-position: 0 100%;
}
body a:not(.button):not(:has(svg#logo)):hover svg .overlay, body a:not(.button):not(:has(svg#logo)):focus svg .overlay, body a:not(.button):not(:has(svg#logo)):focus-visible svg .overlay {
  animation: swipe forwards;
  animation-duration: 200ms;
}
body main {
  padding-bottom: 2rem;
}
body main.hasHeader {
  padding-bottom: 0;
}
body main.hasHeader section#action {
  padding: 4rem 0;
}
body main#main-content.scaled * {
  max-width: 100% !important;
}
body main a {
  color: #ffffff;
}
body main section {
  background-color: #00254D;
}
body main section.intro h1, body main section.intro h2 {
  font-size: var(--fs-small-title);
}
body main section.content .banner_container {
  width: calc(100% - 2.5rem);
  margin: 0 auto;
}
body main section.content .inner .banner_container {
  width: 100%;
  margin: 0 -1.25rem;
}
body main section.placeholderContent {
  max-width: 1366px;
  margin: 0 auto;
}
body main section.placeholderContent * {
  line-height: 1.2;
  font-size: 400;
}
body main section.placeholderContent h2 {
  font-size: 1.75rem;
}
body .is-flex {
  display: flex;
  flex-wrap: wrap;
}
body .is-flex-no-wrap {
  display: flex;
  flex-wrap: nowrap;
}
body .inner {
  padding: 1.25rem;
}
body .sr-only {
  position: absolute;
  height: 0;
  overflow: hidden;
}
body .text-center {
  text-align: center;
}
body .button_container {
  padding: 1.25rem 0;
}
body .button {
  background-color: #920790;
  font-family: "poppins";
  color: #ffffff;
  position: relative;
  padding: 0.5rem 1rem;
  border-radius: 10rem;
  font-size: 1.2rem;
  text-align: center;
  overflow: hidden;
  border: 1px solid #920790;
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
}
body .button .arrow {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background-color: #920790;
  border-radius: 100%;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
}
body .button .arrow svg {
  width: 2rem;
  height: 2rem;
}
body .button:has(.arrow) {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
body .button:has(span) {
  line-height: 1.2;
  padding: 0.25rem 1rem;
}
body .button:hover, body .button:focus, body .button:focus-visible {
  cursor: pointer;
  background-color: #ffffff;
  color: #920790;
}
body .button:hover svg, body .button:focus svg, body .button:focus-visible svg {
  fill: #920790;
}
body .button:hover svg *, body .button:focus svg *, body .button:focus-visible svg * {
  fill: #920790;
}
body .button:focus {
  outline: 1px dashed #ffffff;
  outline-offset: 0.25rem;
}
body .button.dark {
  border: 1px solid #00254D;
  background-color: #00254D;
}
body .button.dark:hover, body .button.dark:focus, body .button.dark:focus-visible {
  cursor: pointer;
  background-color: #920790;
  color: #ffffff;
}
body .button.dark:hover *, body .button.dark:focus *, body .button.dark:focus-visible * {
  -webkit-text-fill-color: #ffffff;
}
body .button.arrow {
  border-radius: 100%;
}
body .button.dot.active {
  background-color: #ffffff;
}
body .button.dot:not(.active):hover {
  background-color: rgba(0, 37, 77, 0.25);
}
body button {
  background-color: #920790;
  font-family: "poppins";
  color: #ffffff;
  position: relative;
  padding: 0.5rem 1rem;
  border-radius: 10rem;
  font-size: 1.2rem;
  text-align: center;
  overflow: hidden;
  border: 1px solid #920790;
  transition: 0.25s ease-in-out;
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  display: inline-block;
}
body button .arrow {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background-color: #920790;
  border-radius: 100%;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
}
body button .arrow svg {
  width: 2rem;
  height: 2rem;
}
body button:has(.arrow) {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
body button:has(span) {
  line-height: 1.2;
  padding: 0.25rem 1rem;
}
body button:hover, body button:focus, body button:focus-visible {
  cursor: pointer;
  background-color: #ffffff;
  color: #920790;
}
body button:hover svg, body button:focus svg, body button:focus-visible svg {
  fill: #920790;
}
body button:hover svg *, body button:focus svg *, body button:focus-visible svg * {
  fill: #920790;
}
body button:focus {
  outline: 1px dashed #ffffff;
  outline-offset: 0.25rem;
}
body button.dark {
  border: 1px solid #00254D;
  background-color: #00254D;
}
body button.dark:hover, body button.dark:focus, body button.dark:focus-visible {
  cursor: pointer;
  background-color: #920790;
  color: #ffffff;
}
body button.dark:hover *, body button.dark:focus *, body button.dark:focus-visible * {
  -webkit-text-fill-color: #ffffff;
}
body button.arrow {
  border-radius: 100%;
}
body button.dot.active {
  background-color: #ffffff;
}
body button.dot:not(.active):hover {
  background-color: rgba(0, 37, 77, 0.25);
}
body button.close::after {
  content: "Close";
}
body .sticky {
  background-color: #00254D;
  position: sticky;
  -webkit-position: sticky;
  top: var(--header-fixed-top-offset);
}
body:has(.content.error) {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-between;
  min-height: 100vh;
}
body:has(.content.error) header, body:has(.content.error) main, body:has(.content.error) footer {
  width: 100%;
}
body:has(.content.error) footer {
  position: relative;
  min-height: 6.75vh;
}
body:has(.content.error) footer .columns {
  align-items: flex-start;
}
body:has(.content.error) footer * {
  margin: 0;
}
@media (min-width: 767px) {
  body:has(.content.error) footer .col {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
  }
  body:has(.content.error) footer .col figure {
    padding-right: 0.75rem;
  }
}
@media (min-width: 767px) {
  body .inner {
    padding: 1.25rem 2rem;
  }
  body main:has(#doc-silo) .intro {
    text-align: center;
  }
  body main section.intro h1, body main section.intro h2 {
    font-size: var(--fs-title);
  }
  body main section.content .columns {
    display: flex;
    flex-wrap: wrap;
    max-width: 1366px;
    margin: 0 auto;
  }
  body main section.content .inner .banner_container {
    width: calc(100% + 2rem);
    margin: 0 -2rem;
  }
  body main section.content .inner .banner_container.constrained .columns.icons {
    padding-top: 2rem;
    justify-content: flex-start;
  }
  body main section.content .inner .banner_container.constrained .columns.icons > div {
    width: 25%;
  }
}
@media (min-width: 767px) and (min-width: 1023px) {
  body main section.content .inner .banner_container.constrained {
    width: 90%;
    max-width: 1366px;
    margin: 0 auto;
    border-radius: 35px;
  }
  body main section.content .inner .banner_container.constrained .columns {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
  }
  body main section.content .inner .banner_container.constrained .columns .col {
    width: 37%;
  }
  body main section.content .inner .banner_container.constrained .columns .col:has(.icons) {
    width: 60%;
  }
  body main section.content .inner .banner_container.constrained .columns.icons {
    flex-wrap: wrap;
  }
  body main section.content .inner .banner_container.constrained .columns.icons img {
    height: 4.75rem;
  }
}
@media (min-width: 767px) {
  body.page section.intro {
    text-align: center;
  }
  body.page section.content .inner > * {
    max-width: 1366px;
    margin: 2.75rem auto;
  }
  body.page section.content .inner > *.banner_container {
    max-width: inherit;
    margin: 0 -2rem;
  }
  body.page section.content .inner > *.banner_container h2, body.page section.content .inner > *.banner_container h3, body.page section.content .inner > *.banner_container h4, body.page section.content .inner > *.banner_container p {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
  body.page section.content .inner h2, body.page section.content .inner h3, body.page section.content .inner h4, body.page section.content .inner p {
    margin-top: 1.25rem;
    margin-bottom: 0;
  }
}

/*# sourceMappingURL=style.css.map */
