body,
html {
  height: 100%;
  background: #000;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

html * {
  transition: all 0.15s ease;
} 

body {
  color: #d1d3d3;
}

.container-fluid {
  max-width: 1400px
}


/* -------------------------------- 

Typography Styles

-------------------------------- */
h1 {
  font-family: 'Playfair Display Regular', serif;
  font-size: 90px;
  line-height: 0.7;
  font-weight: 200;
  letter-spacing: -1px;
}

h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 84.716px;
  font-weight: 600;

  @media (max-width: 992px) {
    font-size: 50px;
  }

  @media (max-width: 430px) {
    font-size: 30px;
  }
}

h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 52.3585px;
  font-weight: 500;

  @media (max-width: 992px) {
    font-size: 30px;
  }
  
  @media (max-width: 700px) {
    font-size: 20px;
  }
}

h4 {
  font-family: 'Poppins', sans-serif;
  font-size: 32.36px;
  font-weight: 500;

  @media (max-width: 992px) {
    font-size: 20px;
  }

  @media (max-width: 700px) {
    font-size: 14px;
    line-height: 1.5;
  }
}

p {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 300;
  
  @media (max-width: 992px) {
    font-size: 18px;
  }
}

b {
  font-weight: 200 !important;
}

small {
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  font-weight: 300;

  @media (max-width: 992px) {
    font-size: 14px;
  }
}


/* -------------------------------- 

Modal Styles

-------------------------------- */
.modal-window {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.75);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s;
  
  &:target {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
  
  & > div {
    width: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 40px;
    background: #000;

    @media (max-width: 430px) {
      width: 100%;
    }
  }

  & > div > div > div > div > h4,
  & > div > div > .team-credit > div > b,
  & > div > div > .team-credit > div > p {
    font-size: 20px;
    color: #d1d3d3;
    font-family: 'Poppins', sans-serif;
  }
  
  & > div > div > .team-credit > div > p {
    font-size: 18px;
    line-height: 1.2;

    @media (max-width: 430px) {
      font-size: 10px;
    }
  }

  & > div > div > .team-credit > div > b {
    font-size: 14px;

    @media (max-width: 430px) {
      line-height: 30px;
    }
  }
}

.modal-close {
  color: #d1d3d3;
  background-color: #f23d5f;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  padding: 10px 14px;
  text-decoration: none;
  
  &:hover {
    background-color: #bc263f;
    color: #d1d3d3;
  }
}

.modal-window div:not(:last-of-type) {
  margin-bottom: 15px;
}


/* -------------------------------- 

Nav Styles

-------------------------------- */
nav {
  padding: 40px;
}

.ag-logo > a > img {
  width: 40px;
}

.nav-contact > a {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: #d1d3d3;
  float: right;
  text-decoration: none;
  padding-top: 5px;
  padding-bottom: 5px;
  transition: all 0.15s ease;
}

.nav-contact > a:focus,
.nav-contact > a:hover {
  color: #f23d5f;
  text-decoration: none;
}


/* -------------------------------- 

Welcome banner

-------------------------------- */
.welcome-banner {
  height: 100vh;
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
  margin-top: -50px;
  margin-bottom: -130px;

  @media (max-width: 992px) {
    height: 80vh;
    background-position: center;
    margin-top: -100px;
    margin-bottom: -50px;
  }

  @media (max-width: 700px) {
    margin-bottom: 0;
  }
}

.intro {
  text-align: right;
  position: relative;
  top: 320px;

  @media (max-width: 992px) {
    text-align: center;
  }
}

.intro-title {
  @media (max-width: 1259px) { 
    font-size: 70px;
  }
  
  @media (max-width: 992px) {
    display: inline-block;
  }
  
  @media (max-width: 573px) {
    font-size: 50px;
  }

  @media (max-width: 430px) {
    font-size: 45px;
  }
}

.banner-divider {
  background-color: #f23d5f;
  height: 5px;
  width: 150px;
  float: right;
  margin: 20px 0;

  @media (max-width: 992px) {
    float: none;
    margin: 40px auto 20px;
    width: 80px;
  }

  @media (max-width: 573px) {
    margin: 20px auto 10px;
  }
}

.intro-copy {
  width: 80%;
  float: right;

  @media (max-width: 992px) {
    width: 80%;
    float: none;
    margin: 0 auto;
  }
}

.scroll-down > p,
.scroll-down > i {
  font-size: 18px;
  color: #f23d5f;
  position: relative;
  top: 450px;
  float: right;
  right: -60px;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}


/* -------------------------------- 

Portfolio

-------------------------------- */
.portfolio-title {
  padding-top: 40px;
  padding-bottom: 40px;
  
  @media (max-width: 430px) {
    padding-top: 90px;
  }
}

.splide__slide img {
  width: 100%;
  height: auto;
}

.slide-title {
  bottom: 20%;
  left: 80px;
  line-height: 1;
  position: absolute;
  transform: translateZ(1px);
  -webkit-user-select: none;
  user-select: none;
  z-index: 2;

  @media (max-width: 992px) {
    bottom: 22%;
  }

  @media (max-width: 430px) {
    left: 30px;
  }
}

.slide-tags {
  bottom: 18%;
  left: 80px;
  line-height: 1;
  position: absolute;
  transform: translateZ(5px);
  -webkit-user-select: none;
  user-select: none;
  z-index: 2;

  @media (max-width: 992px) {
    bottom: 20%;
  }

  @media (max-width: 430px) {
    display: none;
  }
}

.view-case-link {
  bottom: 12%;
  left: 80px;
  position: absolute;
  transform: translateZ(5px);
  -webkit-user-select: none;
  user-select: none;
  z-index: 2;
  color: #f23d5f;
  font-size: 20px;
  text-decoration: none;
  cursor: pointer;

  @media (max-width: 992px) {
    font-size: 14px;
  }

  @media (max-width: 430px) {
    left: 30px;
  }
}

.view-case-link > i {
  position: relative;
  top: 2px;
  left: 3px;
}

.view-case-link:focus,
.view-case-link:hover {
  color: #bc263f;
  text-decoration: none;
} 

.my-slider-progress {
  background: #ccc;
}

.my-slider-progress-bar {
  background: #f23d5f;
  height: 4px;
  transition: width 400ms ease;
  width: 0;
}


/* -------------------------------- 

Extra links

-------------------------------- */
.extra-links-section {
  padding-top: 100px;
  padding-bottom: 100px;

  @media (max-width: 700px) {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.social-media-icons {
  font-size: 20px;
  padding-top: 20px;
  display: flex;
  flex-direction: row;
}

.social-media-icons > a {
  margin-right: 60px;
  color: #d1d3d3;
}

.social-media-icons > a:focus,
.social-media-icons > a:hover {
  margin-right: 60px;
  color: #f23d5f;
}


/* -------------------------------- 

Footer style

-------------------------------- */
footer {
  background-color: #fff;
  color: #012940;
  padding-top: 100px;
  padding-bottom: 100px;
  border-top: 0.5px solid #012940;

  @media (max-width: 992px) {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.footer-left {
  display: grid;
}

.footer-ag-logo > div > img {
  width: 100px;
  padding-bottom: 100px;
  transition: all 0.15s ease;

  @media (max-width: 992px) {
    width: 50px;
    display: block;
    margin: 0 auto;
  }
}

.footer-tagline {
  font-weight: 500;
  padding-bottom: 15px;

  @media (max-width: 992px) {
    text-align: center;
  }
}

.lets-chat {
  font-size: 137px;
  letter-spacing: -4px;
  display: inline-block;
  text-decoration: none;
  color: #012940;
  font-family: 'Playfair Display Regular', serif;
  line-height: 0.7;
  font-weight: 200;

  @media (max-width: 992px) {
    font-size: 80px;
    text-align: center;
    padding-bottom: 50px;
  }
}

.lets-chat:focus,
.lets-chat:hover {
  text-decoration: none;
  color: #f23d5f;
}

.lets-chat > img {
  width: 76px;
  position: relative;
  bottom: 8px;

  @media (max-width: 992px) {
    width: 50px;
  }
}

.footer-social-media > span > a {
  text-align: right;
  color: #012940;
  line-height: 2;
  font-weight: 400;
  text-decoration: none;
  display: grid;

  @media (max-width: 992px) {
    display: inline-flex;
    margin-right: 50px;
  }
  
  @media (max-width: 430px) {
    margin-right: 20px;
  }
}

@media (max-width: 992px) {
  .footer-social-media {
    text-align: center;
  }

  .footer-social-media > span:nth-child(4) > a {
    margin-right: 0;
  }
}

.footer-social-media > span > a:focus,
.footer-social-media > span > a:hover {
  text-align: right;
  color: #f23d5f;
  text-decoration: none;
}


  
  /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9taXhpbnMuc2NzcyIsIm1haW4uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQSxBQWtTRSxXQUNFLHdCLENBRUEsZSxDQUNBLDBTLEFBSkYsV0FDRSx3QixDQUVBLGUsQ0FDQSxrVUM1UUosZ0IsQ0FDQyxnQixDQUdELEssQ0FDQyxvQixDQUNBLFMsQ0FDQSxVLENBQ0EsYyxDQUdELEksQ0FBQSxJLENBQ0MsVyxDQUdELEksQ0FDQyxtQyxDQUNBLGMsQ0FDQSxhLENBR0QsTyxDQUNJLGlCLENBQ0EsaUIsQ0FDQSxLLENBQ0EsTSxDQUNBLFUsQ0FDQSxZLENBQ0EsVSxDQUNBLHdCLENBQ0EsMEIsQ0FBQSxrQixDQUNBLGEsQ0FDQyxVLENBREEsaUIsQ0FHQyxVLENBR0YsYSxDQUNDLGlCLENBQ0EsUSxDQUNBLFUsQ0FDSCxVLENBQ0EsYyxDQUlGLFksQ0FBQSxhLENBQ0UsaUIsQ0FHRixXLENBQ0UsUyxDQUdGLGUsQ0FBQSxnQixDQUNFLGEsQ0FDQSxVLENBQ0EsVyxDQUNBLGlCLENBQ0EsTSxDQUNBLEssQ0FDQSxXLENBQ0EsNkIsQ0FBQSx5QixDQUFBLHFCLENBQ0EsMkIsQ0FBQSx1QixDQUFBLG1CLENBR0YsZSxDQUNFLHdCLENBR0YsZ0IsQ0FDRSx3QixDQUdGLFcsQ0FDQyxjLENBREQsYSxDQUdFLGMsQ0FDQSxpQixDQUlGLE0sQ0FDQyxjLENBR0QsSyxDQUNDLFksQ0FDQSxVLENEOUZDLDJCLENBQ0EsNkIsQ0FBQSxxQixDQUNBLDJCLENDOEZELFUsQ0FKRCxzQixDQUtxQixZLENBTHJCLHNCLENBQUEsc0IsQ0FNcUIsWSxDQU5yQixzQixDQVFxQixZLENBUnJCLHNCLENBQUEsc0IsQ0FBQSxzQixDQVNxQixZLENBVHJCLHNCLENBYUUsWSxDQUNBLFksQ0FkRix1QixDQUFBLHNCLENBZ0JxQixZLENBSXJCLEssQ0FDQyxpQixDQUNBLEssQ0FDQSxNLENBQ0EsYSxDQUNBLFksQ0FDQSxrQixDQUNBLFUsQ0FQRCxTLENBU0Usa0IsQ0FURixXLENBQUEsVyxDQVlFLGEsQ0FDQSxjLENBYkYsVyxDQWdCRSxpQixDQUdBLFcsQ0FuQkYsVSxDQXNCRSxjIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc2V0IG1lZGlhIHdpZHRoXHJcbkBtaXhpbiByKCR3aWR0aCkge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoICsgXCJweFwiKSB7XHJcbiAgICBAY29udGVudFxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHJtaW4oJHdpZHRoKSB7XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkdGggKyBcInB4XCIpIHtcclxuICAgIEBjb250ZW50XHJcbiAgfVxyXG59XHJcblxyXG4vLyBjcmVhdGUgdHJhbnNpdGlvblxyXG5AbWl4aW4gdHJhbnMoJHdoYXQ6IGFsbCwgJGR1cjogMC40cywgJGVhc2luZzogZWFzZSkge1xyXG4gIHRyYW5zaXRpb246ICR3aGF0ICRkdXIgJGVhc2luZ1xyXG59XHJcblxyXG4vLyBzZXQgY292ZXJcclxuQG1peGluIGNvdmVyIHtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxufVxyXG5cclxuLy8gY3JlYXRlIGJsYWNrIG92ZXJsYXlcclxuQG1peGluIG92ZXJsYXkoJG9wYWNpdHkpIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsJG9wYWNpdHkpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gY2VudGVyaW5nXHJcbkBtaXhpbiBjZW50ZXJYIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxufVxyXG5cclxuQG1peGluIGNlbnRlclkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXJYYSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXJZYSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuXHJcbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xyXG4vL1xyXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXHJcblxyXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcclxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0OyBcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcclxuXHJcbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xyXG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XHJcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLXRhYmxldDogICAgICAgICAgICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xyXG5cclxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcclxuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tZGVza3RvcGAgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XHJcblxyXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XHJcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1sZyAhZGVmYXVsdDtcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xyXG5cclxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXHJcbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XHJcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XHJcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBHcmlkIHN5c3RlbVxyXG4vL1xyXG4vLyMjIERlZmluZSB5b3VyIGN1c3RvbSByZXNwb25zaXZlIGdyaWQuXHJcblxyXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxyXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XHJcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXHJcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4ICFkZWZhdWx0O1xyXG4vLyBOYXZiYXIgY29sbGFwc2VcclxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXHJcbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcclxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxyXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IENvbnRhaW5lciBzaXplc1xyXG4vL1xyXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXHJcblxyXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcclxuJGNvbnRhaW5lci10YWJsZXQ6ICAgICAgICAgICAgICg3MjBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XHJcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxyXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XHJcblxyXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxyXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcclxuLy8qKiBGb3IgYCRzY3JlZW4tbWQtbWluYCBhbmQgdXAuXHJcbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XHJcblxyXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcclxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xyXG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cclxuJGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgICRjb250YWluZXItbGFyZ2UtZGVza3RvcCAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBjbGVhcmZpeCgpIHtcclxuICAmOmJlZm9yZSxcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXHJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuLy8gR3JpZCBzeXN0ZW1cclxuLy9cclxuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxyXG5cclxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcclxuQG1peGluIGNvbnRhaW5lci1maXhlZCgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgcGFkZGluZy1sZWZ0OiAgZmxvb3IoKCRndXR0ZXIgLyAyKSk7XHJcbiAgcGFkZGluZy1yaWdodDogY2VpbCgoJGd1dHRlciAvIDIpKTtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxufVxyXG5cclxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcclxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIG1hcmdpbi1sZWZ0OiAgY2VpbCgoJGd1dHRlciAvIC0yKSk7XHJcbiAgbWFyZ2luLXJpZ2h0OiBmbG9vcigoJGd1dHRlciAvIC0yKSk7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXHJcbkBtaXhpbiB4cygkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xyXG59XHJcbkBtaXhpbiB4cy1vZmZzZXQoJGNvbHVtbnMpIHtcclxuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbn1cclxuQG1peGluIHhzLXB1c2goJGNvbHVtbnMpIHtcclxuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxufVxyXG5AbWl4aW4geHMtcHVsbCgkY29sdW1ucykge1xyXG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxufVxyXG5cclxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcclxuQG1peGluIHNtKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XHJcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuQG1peGluIHNtLW9mZnNldCgkY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gc20tcHVzaCgkY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xyXG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBzbS1wdWxsKCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XHJcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcclxuQG1peGluIG1kKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWluLWhlaWdodDogMXB4O1xyXG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XHJcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcclxuXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuQG1peGluIG1kLW9mZnNldCgkY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gbWQtcHVzaCgkY29sdW1ucykge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xyXG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBtZC1wdWxsKCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XHJcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xyXG5AbWl4aW4gbGcoJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gbGctb2Zmc2V0KCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBsZy1wdXNoKCRjb2x1bW5zKSB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XHJcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuQG1peGluIGxnLXB1bGwoJGNvbHVtbnMpIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcclxuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LWZhY2UoJG5hbWUsICRwYXRoLCAkd2VpZ2h0OiBudWxsLCAkc3R5bGU6IG51bGwsICRleHRzOiBlb3Qgd29mZiB0dGYgc3ZnKSB7XHJcbiAgJHNyYzogbnVsbDtcclxuXHJcbiAgJGV4dG1vZHM6IChcclxuICAgIGVvdDogXCI/XCIsXHJcbiAgICBzdmc6IFwiI1wiICsgc3RyLXJlcGxhY2UoJG5hbWUsIFwiIFwiLCBcIl9cIilcclxuICApO1xyXG5cclxuICAkZm9ybWF0czogKFxyXG4gICAgb3RmOiBcIm9wZW50eXBlXCIsXHJcbiAgICB0dGY6IFwidHJ1ZXR5cGVcIlxyXG4gICk7XHJcblxyXG4gIEBlYWNoICRleHQgaW4gJGV4dHMge1xyXG4gICAgJGV4dG1vZDogaWYobWFwLWhhcy1rZXkoJGV4dG1vZHMsICRleHQpLCAkZXh0ICsgbWFwLWdldCgkZXh0bW9kcywgJGV4dCksICRleHQpO1xyXG4gICAgJGZvcm1hdDogaWYobWFwLWhhcy1rZXkoJGZvcm1hdHMsICRleHQpLCBtYXAtZ2V0KCRmb3JtYXRzLCAkZXh0KSwgJGV4dCk7XHJcbiAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKHF1b3RlKCRwYXRoICsgXCIuXCIgKyAkZXh0bW9kKSkgZm9ybWF0KHF1b3RlKCRmb3JtYXQpKSwgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogcXVvdGUoJG5hbWUpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICBzcmM6ICRzcmM7XHJcbiAgfVxyXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5AaW1wb3J0ICdtaXhpbnMnO1xyXG5cclxuQGluY2x1ZGUgZm9udC1mYWNlKFwiTW9udHNlcnJhdFwiLCBcIi4uL2ZvbnRzL01vbnRzZXJyYXRCb2xkL01vbnRzZXJyYXRCb2xkXCIsIDcwMCk7IFxyXG5AaW5jbHVkZSBmb250LWZhY2UoXCJNb250c2VycmF0XCIsIFwiLi4vZm9udHMvTW9udHNlcnJhdFJlZ3VsYXIvTW9udHNlcnJhdFJlZ3VsYXJcIiwgbm9ybWFsKTsgXHJcblxyXG4vKioqIE1JWElOUyBVU0FHRSAqKipcclxuXHJcblx0QGluY2x1ZGUgeHMoMTIpO1xyXG5cdEBpbmNsdWRlIHNtKDEyKTtcclxuXHRAaW5jbHVkZSBtZCgxMik7XHJcblx0QGluY2x1ZGUgbGcoMTIpO1xyXG5cclxuXHRAaW5jbHVkZSByKDc2OCk7XHJcblx0QGluY2x1ZGUgcm1pbig3NjgpO1xyXG5cclxuXHRAaW5jbHVkZSB0cmFucyAvIHRyYW5zKCR3aGF0ICRkdXIgJGVhc2luZyk7XHJcblx0QGluY2x1ZGUgY292ZXI7XHJcblxyXG5cdEBpbmNsdWRlIGNlbnRlclggLyBjZW50ZXJYYVxyXG5cdEBpbmNsdWRlIGNlbnRlclkgLyBjZW50ZXJZYVxyXG5cclxuXHRAaW5jbHVkZSBvdmVybGF5KCRvcGFjaXR5KVxyXG5cclxuKioqL1xyXG5cclxuLmNvbnRhaW5lci1mbHVpZCB7XHJcblx0bWF4LXdpZHRoOiAxNDAwcHg7XHJcbn1cclxuXHJcbi5pY29uIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0d2lkdGg6IDJlbTtcclxuXHRoZWlnaHQ6IDJlbTtcclxuXHRmb250LXNpemU6IDMwcHg7XHJcbn1cclxuXHJcbmh0bWwsIGJvZHkge1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuYm9keSB7XHJcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0Y29sb3I6ICMzNzQ3NEY7XHJcbn1cclxuXHJcbi5oZWFkZXIge1xyXG4gICAgcGFkZGluZzogMzBweCA2NXB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMTNweDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjtcclxuICAgIGZpbHRlcjogaW52ZXJ0KDY1JSk7XHJcbiAgICAmX19sb2dvIHtcclxuICAgIFx0d2lkdGg6IDUwcHg7XHJcbiAgICBcdGltZyB7XHJcbiAgICBcdFx0d2lkdGg6IDEwMCU7XHJcbiAgICBcdH1cclxuICAgIH1cclxuICAgICZfX21lbnUge1xyXG4gICAgXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBcdHRvcDogMzBweDtcclxuICAgIFx0cmlnaHQ6IDY1cHg7XHJcblx0XHR3aWR0aDogNTBweDtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLnRleHRfX2ZpcnN0LCAudGV4dF9fc2Vjb25ke1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnRleHRfX3dvcmR7XHJcbiAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLnRleHRfX2ZpcnN0LWJnLCAudGV4dF9fc2Vjb25kLWJne1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgei1pbmRleDogMTAwO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XHJcbn1cclxuXHJcbi50ZXh0X19maXJzdC1iZ3tcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWZiZmY5O1xyXG59XHJcblxyXG4udGV4dF9fc2Vjb25kLWJne1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDY1NDM7XHJcbn1cclxuXHJcbi50ZXh0Q2VudGVyIHtcclxuXHRwYWRkaW5nOiA4MHB4IDA7XHJcblx0cCB7XHJcblx0XHRmb250LXNpemU6IDM2cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG59XHJcblxyXG4uY2FyZHMge1xyXG5cdHBhZGRpbmc6IDYwcHggMDtcclxufVxyXG5cclxuLmNhcmQge1xyXG5cdGhlaWdodDogNDY4cHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0QGluY2x1ZGUgY292ZXI7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0JjpudGgtY2hpbGQoMTBuKzEpIHt3aWR0aDogNjYuNjclO31cclxuXHQmOm50aC1jaGlsZCgxMG4rMikge3dpZHRoOiAzMy4zMyU7fVxyXG5cdCY6bnRoLWNoaWxkKDEwbiszKSB7d2lkdGg6IDMzLjMzJTt9XHRcclxuXHQmOm50aC1jaGlsZCgxMG4rNCkge3dpZHRoOiA2Ni42NyU7fVx0XHJcblx0JjpudGgtY2hpbGQoMTBuKzUpIHt3aWR0aDogMzMuMzMlO31cdFxyXG5cdCY6bnRoLWNoaWxkKDEwbis2KSB7d2lkdGg6IDMzLjMzJTt9XHRcclxuXHQmOm50aC1jaGlsZCgxMG4rNykge3dpZHRoOiAzMy4zMyU7fVx0XHJcblx0JjpudGgtY2hpbGQoMTBuKzgpIHtcdFx0XHJcblx0XHR3aWR0aDogNjYuNjclO1xyXG5cdFx0aGVpZ2h0OiA5MzZweDtcclxuXHR9XHRcclxuXHQmOm50aC1jaGlsZCgxMG4rOSkge3dpZHRoOiAzMy4zMyU7fVx0XHJcblx0JjpudGgtY2hpbGQoMTBuKzEwKSB7d2lkdGg6IDMzLjMzJTt9XHRcclxufVxyXG5cclxuLmZvcm0ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR6LWluZGV4OiA5OTk5OTtcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdGJhY2tncm91bmQ6ICNmOWY5Zjk7XHJcblx0b3BhY2l0eTogMC44O1xyXG5cdGRpdiB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdH1cclxuXHRsYWJlbCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZvbnQtc2l6ZTogMTNweDtcclxuXHR9XHJcblx0aW5wdXQge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHR3aWR0aDogMjUwcHg7XHJcblx0fVxyXG5cdHNwYW4ge1xyXG5cdFx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdH1cclxufSJdfQ== */