/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}
/* Remove default margin */
* {
  margin: 0;
  padding: 0;
  font: inherit;
}
/* Remove list styles on ul, ol elements */
ul,
ol {
  list-style: none;
}
a {
  -webkit-text-decoration: none;
  text-decoration: none;
}
/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}
html,
body {
  height: 100%;
}
/* Set core body defaults */
body {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}
/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
/* Make images easier to work with */
img,
picture,
svg {
  max-width: 100%;
  display: block;
}
/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: auto;
  }
  
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(180deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@keyframes slide-top {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-100px);
    }
}
@keyframes from-left {
    0% {
        transform: rotateX(50deg) translateX(-200vw) skewX(-50deg);
        opacity: 1;
    }
    100% {
        transform: rotateX(0deg) translateX(0) skewX(0deg);
        opacity: 1;
    }
}
@keyframes from-right {
    0% {
        transform: rotateX(50deg) translateX(200vw) skewX(-50deg);
        opacity: 1;
    }
    100% {
        transform: rotateX(0deg) translateX(0) skewX(0deg);
        opacity: 1;
    }
}
@keyframes primary-button-hover {
    0% {
        background: hsla(214, 100%, 42%, 1);
        background: var(--clr-primary);
        transform: scale(1);
    }
    100% {
        background: hsl(215, 100%, 31%);
        background: var(--clr-primary-accent);
        transform: scale(1.1);
    }
}
:root {

    /* Colours */
    --clr-black: hsla(0, 0%, 7%, 1);
    --clr-white: hsla(0, 0%, 100%, 1);
    --clr-white-accent: rgb(186, 186, 186);
    --clr-light: hsla(220, 50%, 98%, 1);
    --clr-primary: hsla(214, 100%, 42%, 1);
    --clr-primary-accent: hsl(215, 100%, 31%);
    --clr-gray: hsla(100, 100%, 100%, 0.65);
    --clr-section-gray: hsl(218, 57%, 96%);
    --clr-darkgray: hsla(100, 100%, 100%, 0.1);


    /* Fonts */
    --ff-primary: "Inter", sans-serif;

    --ff-body: var(--ff-primary);
    --ff-heading: var(--ff-primary);

    --fw-regular: 400;
    --fw-semi-bold: 500;
    --fw-bold: 700;

    --fs-base: 1.6rem;
    --fs-nav: 1.8rem;
    --fs-button: 1.6rem;
    --fs-primary-heading: 3.2rem;
    --fs-secondary-heading: 2.4rem;

    --fs-base-line-height: 2.4rem;
    --fs-primary-heading-line-height: 4.2rem;
    --fs-secondary-heading-line-height: 2.8rem;

    /* z index */

    --home-hero-video-z-index: -1;
    --home-hero-z-index: 1;
    --home-primary-nav-z-index: 2;
    --loading-panel-z-index: 100;

}
@media (min-width: 50em) {
:root {
        --fs-body: 1.8rem;
        --fs-button: 1.8rem;
        --fs-primary-heading: 5.8rem;
        --fs-seconday-heading: 3.4rem;

        --fs-base-line-height: 3rem;
        --fs-primary-heading-line-height: 6.8rem;
        --fs-secondary-heading-line-height: 4rem;

}
    }
.visually-hidden {
    position: absolute;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.container {
    --container-max-width: 1100px;
    --container-padding: 1.6rem;

    width: min(1100px, 100% - 1.6rem * 2);

    width: min(var(--container-max-width), 100% - var(--container-padding) * 2);
    margin-left: auto;
    margin-right: auto;
}
.rows {
    display: grid;
    grid-gap: 1.6rem;
    gap: 1.6rem;
    grid-auto-flow: row;
}
.justify-items-left {
    justify-items: left;
}
.columns {
    display: grid;
    grid-gap: 1.6rem;
    gap: 1.6rem;
}
.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }
.pr-1 { padding-right: 0.5rem; }
.pr-2 { padding-right: 1rem; }
.pr-3 { padding-right: 1.5rem; }
.pr-4 { padding-right: 2rem; }
.d-block { display: block; }
.d-none { display: none; }
.d-inline { display: inline; }
.mobile-fullwidth { width: 100%; display: block; }
.mobile-hidden { display: none; }
.desktop-hidden {display: inline;display: initial; }
@media (min-width: 50em) {

    .mobile-fullwidth {
        width: auto;
        display: inline;
        display: initial;
    }

    .mobile-hidden { display: inline; display: initial; }
    .desktop-hidden {display: none; }

    .columns {
        grid-auto-flow: column;
        grid-auto-columns: 1fr;
    }
}
h1,
h2,
h3,
h4,
h5,
h6{
    font-family: "Inter", sans-serif;
    font-family: var(--ff-heading);
}
h1:focus,h2:focus,h3:focus,h4:focus,h5:focus,h6:focus {
        outline: none;
    }
.text-primary {
    color: hsla(214, 100%, 42%, 1);
    color: var(--clr-primary);
}
.text-light {
    color: hsla(220, 50%, 98%, 1);
    color: var(--clr-light);
}
.text-gray {
    color: hsla(100, 100%, 100%, 0.65);
    color: var(--clr-gray);
}
.text-white {
    color: hsla(0, 0%, 100%, 1);
    color: var(--clr-white);
}
.text-center { text-align: center; }
.text-right { text-align: right; }
.bg-primary {
    background-color: hsla(214, 100%, 42%, 1);
    background-color: var(--clr-primary);
}
.bg-light {
    background-color: hsla(220, 50%, 98%, 1);
    background-color: var(--clr-light);
}
.bg-white {
    background-color: hsla(0, 0%, 100%, 1);
    background-color: var(--clr-white);
}
.bg-black {
    background-color: hsla(0, 0%, 7%, 1);
    background-color: var(--clr-black);
}
.bg-gray {
    background-color: hsl(218, 57%, 96%);
    background-color: var(--clr-section-gray);
}
.fw-bold { font-weight: 700; font-weight: var(--fw-bold); }
.fw-semi-bold { font-weight: 500; font-weight: var(--fw-semi-bold); }
.fw-regular { font-weight: 400; font-weight: var(--fw-regular); }
.fs-primary-heading { 
    font-size: 3.2rem; 
    font-size: var(--fs-primary-heading); 
    line-height: 4.2rem; 
    line-height: var(--fs-primary-heading-line-height);
}
.fs-secondary-heading { 
    font-size: 2.4rem; 
    font-size: var(--fs-secondary-heading); 
    line-height: 2.8rem; 
    line-height: var(--fs-secondary-heading-line-height);
}
.button {
    --button-padding: 1.6rem;
    --button-border-radius: 1.6rem;

    -webkit-text-decoration: none;

    text-decoration: none;
    border-radius: 1.6rem;
    border-radius: var(--button-border-radius);
    padding: 1.6rem;
    padding: var(--button-padding);
}
.button-primary {
    color: hsla(0, 0%, 100%, 1);
    color: var(--clr-white);
    background-color: hsla(214, 100%, 42%, 1);
    background-color: var(--clr-primary);
    scale: 1;
    transition: scale 0.5s ease, background-color 0.5s ease;
}
.button-primary:hover {
        scale: 1.1;
        background-color: hsl(215, 100%, 31%);
        background-color: var(--clr-primary-accent);
        transition: scale 0.5s ease, background-color 0.5s ease;
        /*animation-name: primary-button-hover;*/
        /*animation-duration: 1s;*/
        /*animation-timing-function: ease;*/
    }
.button-white {
    color: hsla(0, 0%, 7%, 1);
    color: var(--clr-black);
    background-color: hsla(0, 0%, 100%, 1);
    background-color: var(--clr-white);
    
}
.button-white-outline {
    color: hsla(0, 0%, 100%, 1);
    color: var(--clr-white);
    border: 1px solid hsla(0, 0%, 100%, 1);
    border: 1px solid var(--clr-white);
    background-color: transparent;
    border-radius: 9rem;
    padding: 0.1rem 1.9rem;
}
.button-white-outline:hover {
        background-color: hsla(0, 0%, 100%, 1);
        background-color: var(--clr-white);
        color: hsla(0, 0%, 7%, 1);
        color: var(--clr-black);
    }
:root {
    font-size: 62.5%
}
body {
    color: hsla(0, 0%, 7%, 1);
    color: var(--clr-black);
    font-family: "Inter", sans-serif;
    font-family: var(--ff-body);
    font-size: 1.6rem;
    font-size: var(--fs-base);
    line-height: 2.4rem;
    line-height: var(--fs-base-line-height);

    background: url("/images/bg_noise.png");
    background-repeat: repeat;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jc3MvcmVzZXQuY3NzIiwiLi4vLi4vc3JjL2Nzcy9hbmltYXRpb25zLmNzcyIsIi4uLy4uL3NyYy9jc3MvdmFyaWFibGVzLmNzcyIsIi4uLy4uL3NyYy9jc3MvbGF5b3V0LmNzcyIsIi4uLy4uL3NyYy9jc3MvdHlwb2dyYXBoeS5jc3MiLCIuLi8uLi9zcmMvY3NzL2J1dHRvbnMuY3NzIiwiLi4vLi4vc3JjL2Nzcy9nbG9iYWwuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFxQjtBQUNyQjs7O0VBR0Usc0JBQXNCO0FBQ3hCO0FBRUEsMEJBQTBCO0FBQzFCO0VBQ0UsU0FBUztFQUNULFVBQVU7RUFDVixhQUFhO0FBQ2Y7QUFFQSwwQ0FBMEM7QUFDMUM7O0VBRUUsZ0JBQWdCO0FBQ2xCO0FBRUE7RUFDRSw2QkFBcUI7RUFBckIscUJBQXFCO0FBQ3ZCO0FBRUEsMkJBQTJCO0FBQzNCO0VBQ0UsdUJBQXVCO0FBQ3pCO0FBRUE7O0VBRUUsWUFBWTtBQUNkO0FBRUEsMkJBQTJCO0FBQzNCO0VBQ0UsNkJBQTZCO0VBQzdCLGdCQUFnQjtBQUNsQjtBQUVBLDBEQUEwRDtBQUMxRDtFQUNFLGlDQUE4QjtVQUE5Qiw4QkFBOEI7QUFDaEM7QUFFQSxvQ0FBb0M7QUFDcEM7OztFQUdFLGVBQWU7RUFDZixjQUFjO0FBQ2hCO0FBRUEsZ0dBQWdHO0FBQ2hHO0VBQ0U7R0FDQyxxQkFBcUI7RUFDdEI7O0VBRUE7OztJQUdFLHFDQUFxQztJQUNyQyx1Q0FBdUM7SUFDdkMsc0NBQXNDO0lBQ3RDLGdDQUFnQztFQUNsQztBQUNGO0FDbkVBO0lBQ0k7UUFDSSxVQUFVO0lBQ2Q7SUFDQTtRQUNJLFVBQVU7SUFDZDtBQUNKO0FBRUE7SUFDSTtRQUNJLHVCQUF1QjtJQUMzQjtJQUNBO1FBQ0kseUJBQXlCO0lBQzdCO0lBQ0E7UUFDSSx5QkFBeUI7SUFDN0I7QUFDSjtBQUVBO0lBQ0k7UUFFSSx3QkFBd0I7SUFDNUI7SUFDQTtRQUVJLDZCQUE2QjtJ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QUFsQyxrQ0FBa0M7SUFDbEMsNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQixzQkFBc0I7QUFNMUI7QUFKSTtRQUNJLHNDQUFrQztRQUFsQyxrQ0FBa0M7UUFDbEMseUJBQXVCO1FBQXZCLHVCQUF1QjtJQUMzQjtBQ3pDSjtJQUNJO0FBQ0o7QUFFQTtJQUNJLHlCQUF1QjtJQUF2Qix1QkFBdUI7SUFDdkIsZ0NBQTJCO0lBQTNCLDJCQUEyQjtJQUMzQixpQkFBeUI7SUFBekIseUJBQXlCO0lBQ3pCLG1CQUF1QztJQUF2Qyx1Q0FBdUM7O0lBRXZDLHVDQUF1QztJQUN2Qyx5QkFBeUI7QUFDN0IiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEJveCBzaXppbmcgcnVsZXMgKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiAqL1xuKiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuLyogUmVtb3ZlIGxpc3Qgc3R5bGVzIG9uIHVsLCBvbCBlbGVtZW50cyAqL1xudWwsXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIFNldCBjb3JlIHJvb3QgZGVmYXVsdHMgKi9cbmh0bWw6Zm9jdXMtd2l0aGluIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiBTZXQgY29yZSBib2R5IGRlZmF1bHRzICovXG5ib2R5IHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIEEgZWxlbWVudHMgdGhhdCBkb24ndCBoYXZlIGEgY2xhc3MgZ2V0IGRlZmF1bHQgc3R5bGVzICovXG5hOm5vdChbY2xhc3NdKSB7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bztcbn1cblxuLyogTWFrZSBpbWFnZXMgZWFzaWVyIHRvIHdvcmsgd2l0aCAqL1xuaW1nLFxucGljdHVyZSxcbnN2ZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFJlbW92ZSBhbGwgYW5pbWF0aW9ucywgdHJhbnNpdGlvbnMgYW5kIHNtb290aCBzY3JvbGwgZm9yIHBlb3BsZSB0aGF0IHByZWZlciBub3QgdG8gc2VlIHRoZW0gKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIGh0bWw6Zm9jdXMtd2l0aGluIHtcbiAgIHNjcm9sbC1iZWhhdmlvcjogYXV0bztcbiAgfVxuICBcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCJAa2V5ZnJhbWVzIGZhZGUtaW4ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLXRvcCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZyb20tbGVmdCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoNTBkZWcpIHRyYW5zbGF0ZVgoLTIwMHZ3KSBza2V3WCgtNTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVgoMCkgc2tld1goMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZyb20tcmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSB0cmFuc2xhdGVYKDIwMHZ3KSBza2V3WCgtNTBkZWcpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVgoMCkgc2tld1goMGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHByaW1hcnktYnV0dG9uLWhvdmVyIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNsci1wcmltYXJ5KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNsci1wcmltYXJ5LWFjY2VudCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB9XG59XG5cbiIsIjpyb290IHtcblxuICAgIC8qIENvbG91cnMgKi9cbiAgICAtLWNsci1ibGFjazogaHNsYSgwLCAwJSwgNyUsIDEpO1xuICAgIC0tY2xyLXdoaXRlOiBoc2xhKDAsIDAlLCAxMDAlLCAxKTtcbiAgICAtLWNsci13aGl0ZS1hY2NlbnQ6IHJnYigxODYsIDE4NiwgMTg2KTtcbiAgICAtLWNsci1saWdodDogaHNsYSgyMjAsIDUwJSwgOTglLCAxKTtcbiAgICAtLWNsci1wcmltYXJ5OiBoc2xhKDIxNCwgMTAwJSwgNDIlLCAxKTtcbiAgICAtLWNsci1wcmltYXJ5LWFjY2VudDogaHNsKDIxNSwgMTAwJSwgMzElKTtcbiAgICAtLWNsci1ncmF5OiBoc2xhKDEwMCwgMTAwJSwgMTAwJSwgMC42NSk7XG4gICAgLS1jbHItc2VjdGlvbi1ncmF5OiBoc2woMjE4LCA1NyUsIDk2JSk7XG4gICAgLS1jbHItZGFya2dyYXk6IGhzbGEoMTAwLCAxMDAlLCAxMDAlLCAwLjEpO1xuXG5cbiAgICAvKiBGb250cyAqL1xuICAgIC0tZmYtcHJpbWFyeTogXCJJbnRlclwiLCBzYW5zLXNlcmlmO1xuXG4gICAgLS1mZi1ib2R5OiB2YXIoLS1mZi1wcmltYXJ5KTtcbiAgICAtLWZmLWhlYWRpbmc6IHZhcigtLWZmLXByaW1hcnkpO1xuXG4gICAgLS1mdy1yZWd1bGFyOiA0MDA7XG4gICAgLS1mdy1zZW1pLWJvbGQ6IDUwMDtcbiAgICAtLWZ3LWJvbGQ6IDcwMDtcblxuICAgIC0tZnMtYmFzZTogMS42cmVtO1xuICAgIC0tZnMtbmF2OiAxLjhyZW07XG4gICAgLS1mcy1idXR0b246IDEuNnJlbTtcbiAgICAtLWZzLXByaW1hcnktaGVhZGluZzogMy4ycmVtO1xuICAgIC0tZnMtc2Vjb25kYXJ5LWhlYWRpbmc6IDIuNHJlbTtcblxuICAgIC0tZnMtYmFzZS1saW5lLWhlaWdodDogMi40cmVtO1xuICAgIC0tZnMtcHJpbWFyeS1oZWFkaW5nLWxpbmUtaGVpZ2h0OiA0LjJyZW07XG4gICAgLS1mcy1zZWNvbmRhcnktaGVhZGluZy1saW5lLWhlaWdodDogMi44cmVtO1xuXG4gICAgLyogeiBpbmRleCAqL1xuXG4gICAgLS1ob21lLWhlcm8tdmlkZW8tei1pbmRleDogLTE7XG4gICAgLS1ob21lLWhlcm8tei1pbmRleDogMTtcbiAgICAtLWhvbWUtcHJpbWFyeS1uYXYtei1pbmRleDogMjtcbiAgICAtLWxvYWRpbmctcGFuZWwtei1pbmRleDogMTAwO1xuXG5cbiAgICBAbWVkaWEgKC0tdmlld3BvcnQtZGVza3RvcCkge1xuICAgICAgICAtLWZzLWJvZHk6IDEuOHJlbTtcbiAgICAgICAgLS1mcy1idXR0b246IDEuOHJlbTtcbiAgICAgICAgLS1mcy1wcmltYXJ5LWhlYWRpbmc6IDUuOHJlbTtcbiAgICAgICAgLS1mcy1zZWNvbmRheS1oZWFkaW5nOiAzLjRyZW07XG5cbiAgICAgICAgLS1mcy1iYXNlLWxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICAtLWZzLXByaW1hcnktaGVhZGluZy1saW5lLWhlaWdodDogNi44cmVtO1xuICAgICAgICAtLWZzLXNlY29uZGFyeS1oZWFkaW5nLWxpbmUtaGVpZ2h0OiA0cmVtO1xuICAgIH1cblxufSIsIi52aXN1YWxseS1oaWRkZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCwwLDAsMCkgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5jb250YWluZXIge1xuICAgIC0tY29udGFpbmVyLW1heC13aWR0aDogMTEwMHB4O1xuICAgIC0tY29udGFpbmVyLXBhZGRpbmc6IDEuNnJlbTtcblxuICAgIHdpZHRoOiBtaW4odmFyKC0tY29udGFpbmVyLW1heC13aWR0aCksIDEwMCUgLSB2YXIoLS1jb250YWluZXItcGFkZGluZykgKiAyKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xufVxuXG4ucm93cyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDEuNnJlbTtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xufVxuLmp1c3RpZnktaXRlbXMtbGVmdCB7XG4gICAganVzdGlmeS1pdGVtczogbGVmdDtcbn1cblxuLmNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxLjZyZW07XG59XG5cbi5tdC0xIHsgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4ubXQtMiB7IG1hcmdpbi10b3A6IDFyZW07IH1cbi5tdC0zIHsgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4ubXQtNCB7IG1hcmdpbi10b3A6IDJyZW07IH1cblxuLnByLTEgeyBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbi5wci0yIHsgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuLnByLTMgeyBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbi5wci00IHsgcGFkZGluZy1yaWdodDogMnJlbTsgfVxuXG5cbi5kLWJsb2NrIHsgZGlzcGxheTogYmxvY2s7IH1cbi5kLW5vbmUgeyBkaXNwbGF5OiBub25lOyB9XG4uZC1pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLm1vYmlsZS1mdWxsd2lkdGggeyB3aWR0aDogMTAwJTsgZGlzcGxheTogYmxvY2s7IH1cbi5tb2JpbGUtaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfVxuLmRlc2t0b3AtaGlkZGVuIHtkaXNwbGF5OiBpbml0aWFsOyB9XG5cblxuQG1lZGlhICgtLXZpZXdwb3J0LWRlc2t0b3ApIHtcblxuICAgIC5tb2JpbGUtZnVsbHdpZHRoIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1oaWRkZW4geyBkaXNwbGF5OiBpbml0aWFsOyB9XG4gICAgLmRlc2t0b3AtaGlkZGVuIHtkaXNwbGF5OiBub25lOyB9XG5cbiAgICAuY29sdW1ucyB7XG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiAxZnI7XG4gICAgfVxufSIsImgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNntcbiAgICBmb250LWZhbWlseTogdmFyKC0tZmYtaGVhZGluZyk7XG4gICAgXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG5cbi50ZXh0LXByaW1hcnkge1xuICAgIGNvbG9yOiB2YXIoLS1jbHItcHJpbWFyeSk7XG59XG4udGV4dC1saWdodCB7XG4gICAgY29sb3I6IHZhcigtLWNsci1saWdodCk7XG59XG4udGV4dC1ncmF5IHtcbiAgICBjb2xvcjogdmFyKC0tY2xyLWdyYXkpO1xufVxuLnRleHQtd2hpdGUge1xuICAgIGNvbG9yOiB2YXIoLS1jbHItd2hpdGUpO1xufVxuXG4udGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi50ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmJnLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1wcmltYXJ5KTtcbn1cbi5iZy1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWxpZ2h0KTtcbn1cbi5iZy13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLXdoaXRlKTtcbn1cbi5iZy1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJsYWNrKTtcbn1cbi5iZy1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItc2VjdGlvbi1ncmF5KTtcbn1cblxuLmZ3LWJvbGQgeyBmb250LXdlaWdodDogdmFyKC0tZnctYm9sZCk7IH1cbi5mdy1zZW1pLWJvbGQgeyBmb250LXdlaWdodDogdmFyKC0tZnctc2VtaS1ib2xkKTsgfVxuLmZ3LXJlZ3VsYXIgeyBmb250LXdlaWdodDogdmFyKC0tZnctcmVndWxhcik7IH1cblxuLmZzLXByaW1hcnktaGVhZGluZyB7IFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZnMtcHJpbWFyeS1oZWFkaW5nKTsgXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWZzLXByaW1hcnktaGVhZGluZy1saW5lLWhlaWdodCk7XG59XG4uZnMtc2Vjb25kYXJ5LWhlYWRpbmcgeyBcbiAgICBmb250LXNpemU6IHZhcigtLWZzLXNlY29uZGFyeS1oZWFkaW5nKTsgXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWZzLXNlY29uZGFyeS1oZWFkaW5nLWxpbmUtaGVpZ2h0KTtcbn0iLCIuYnV0dG9uIHtcbiAgICAtLWJ1dHRvbi1wYWRkaW5nOiAxLjZyZW07XG4gICAgLS1idXR0b24tYm9yZGVyLXJhZGl1czogMS42cmVtO1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1idXR0b24tcGFkZGluZyk7XG59XG5cbi5idXR0b24tcHJpbWFyeSB7XG4gICAgY29sb3I6IHZhcigtLWNsci13aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLXByaW1hcnkpO1xuICAgIHNjYWxlOiAxO1xuICAgIHRyYW5zaXRpb246IHNjYWxlIDAuNXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgc2NhbGU6IDEuMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLXByaW1hcnktYWNjZW50KTtcbiAgICAgICAgdHJhbnNpdGlvbjogc2NhbGUgMC41cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgZWFzZTtcbiAgICAgICAgLyphbmltYXRpb24tbmFtZTogcHJpbWFyeS1idXR0b24taG92ZXI7Ki9cbiAgICAgICAgLyphbmltYXRpb24tZHVyYXRpb246IDFzOyovXG4gICAgICAgIC8qYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsqL1xuICAgIH1cbn1cblxuLmJ1dHRvbi13aGl0ZSB7XG4gICAgY29sb3I6IHZhcigtLWNsci1ibGFjayk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLXdoaXRlKTtcbiAgICBcbn1cblxuLmJ1dHRvbi13aGl0ZS1vdXRsaW5lIHtcbiAgICBjb2xvcjogdmFyKC0tY2xyLXdoaXRlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jbHItd2hpdGUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDlyZW07XG4gICAgcGFkZGluZzogMC4xcmVtIDEuOXJlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItd2hpdGUpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY2xyLWJsYWNrKTtcbiAgICB9XG59XG5cbiIsIjpyb290IHtcbiAgICBmb250LXNpemU6IDYyLjUlXG59XG5cbmJvZHkge1xuICAgIGNvbG9yOiB2YXIoLS1jbHItYmxhY2spO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mZi1ib2R5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZzLWJhc2UpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1mcy1iYXNlLWxpbmUtaGVpZ2h0KTtcblxuICAgIGJhY2tncm91bmQ6IHVybChcIi9pbWFnZXMvYmdfbm9pc2UucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG59Il19 */