html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: sans-serif;
}

body {
  margin: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

audio, canvas, progress, video {
  vertical-align: baseline;
  display: inline-block;
}

audio:not([controls]) {
  height: 0;
  display: none;
}

[hidden], template {
  display: none;
}

a {
  background-color: #0000;
}

a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  margin: .67em 0;
  font-size: 2em;
}

mark {
  color: #000;
  background: #ff0;
}

small {
  font-size: 80%;
}

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

sup {
  top: -.5em;
}

sub {
  bottom: -.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code, kbd, pre, samp {
  font-family: monospace;
  font-size: 1em;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, html input[type="button"], input[type="reset"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

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

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

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
}

@font-face {
  font-family: webflow-icons;
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format("truetype");
  font-weight: normal;
  font-style: normal;
}

[class^="w-icon-"], [class*=" w-icon-"] {
  speak: none;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  font-family: webflow-icons !important;
}

.w-icon-slider-right:before {
  content: "";
}

.w-icon-slider-left:before {
  content: "";
}

.w-icon-nav-menu:before {
  content: "";
}

.w-icon-arrow-down:before, .w-icon-dropdown-toggle:before {
  content: "";
}

.w-icon-file-upload-remove:before {
  content: "";
}

.w-icon-file-upload-icon:before {
  content: "";
}

* {
  box-sizing: border-box;
}

html {
  height: 100%;
}

body {
  color: #333;
  background-color: #fff;
  min-height: 100%;
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

img {
  vertical-align: middle;
  max-width: 100%;
  display: inline-block;
}

html.w-mod-touch * {
  background-attachment: scroll !important;
}

.w-block {
  display: block;
}

.w-inline-block {
  max-width: 100%;
  display: inline-block;
}

.w-clearfix:before, .w-clearfix:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-clearfix:after {
  clear: both;
}

.w-hidden {
  display: none;
}

.w-button {
  color: #fff;
  line-height: inherit;
  cursor: pointer;
  background-color: #3898ec;
  border: 0;
  border-radius: 0;
  padding: 9px 15px;
  text-decoration: none;
  display: inline-block;
}

input.w-button {
  -webkit-appearance: button;
}

html[data-w-dynpage] [data-w-cloak] {
  color: #0000 !important;
}

.w-code-block {
  margin: unset;
}

pre.w-code-block code {
  all: inherit;
}

.w-optimization {
  display: contents;
}

.w-webflow-badge, .w-webflow-badge > img {
  box-sizing: unset;
  width: unset;
  height: unset;
  max-height: unset;
  max-width: unset;
  min-height: unset;
  min-width: unset;
  margin: unset;
  padding: unset;
  float: unset;
  clear: unset;
  border: unset;
  border-radius: unset;
  background: unset;
  background-image: unset;
  background-position: unset;
  background-size: unset;
  background-repeat: unset;
  background-origin: unset;
  background-clip: unset;
  background-attachment: unset;
  background-color: unset;
  box-shadow: unset;
  transform: unset;
  direction: unset;
  font-family: unset;
  font-weight: unset;
  color: unset;
  font-size: unset;
  line-height: unset;
  font-style: unset;
  font-variant: unset;
  text-align: unset;
  letter-spacing: unset;
  -webkit-text-decoration: unset;
  text-decoration: unset;
  text-indent: unset;
  text-transform: unset;
  list-style-type: unset;
  text-shadow: unset;
  vertical-align: unset;
  cursor: unset;
  white-space: unset;
  word-break: unset;
  word-spacing: unset;
  word-wrap: unset;
  transition: unset;
}

.w-webflow-badge {
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 0 0 1px #0000001a, 0 1px 3px #0000001a;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2147483647 !important;
  color: #aaadb0 !important;
  overflow: unset !important;
  background-color: #fff !important;
  border-radius: 3px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 6px !important;
  font-size: 12px !important;
  line-height: 14px !important;
  text-decoration: none !important;
  display: inline-block !important;
  position: fixed !important;
  inset: auto 12px 12px auto !important;
  transform: none !important;
}

.w-webflow-badge > img {
  position: unset;
  visibility: unset !important;
  opacity: 1 !important;
  vertical-align: middle !important;
  display: inline-block !important;
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 10px;
  font-weight: bold;
}

h1 {
  margin-top: 20px;
  font-size: 38px;
  line-height: 44px;
}

h2 {
  margin-top: 20px;
  font-size: 32px;
  line-height: 36px;
}

h3 {
  margin-top: 20px;
  font-size: 24px;
  line-height: 30px;
}

h4 {
  margin-top: 10px;
  font-size: 18px;
  line-height: 24px;
}

h5 {
  margin-top: 10px;
  font-size: 14px;
  line-height: 20px;
}

h6 {
  margin-top: 10px;
  font-size: 12px;
  line-height: 18px;
}

p {
  margin-top: 0;
  margin-bottom: 10px;
}

blockquote {
  border-left: 5px solid #e2e2e2;
  margin: 0 0 10px;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 22px;
}

figure {
  margin: 0 0 10px;
}

figcaption {
  text-align: center;
  margin-top: 5px;
}

ul, ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
}

.w-list-unstyled {
  padding-left: 0;
  list-style: none;
}

.w-embed:before, .w-embed:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-embed:after {
  clear: both;
}

.w-video {
  width: 100%;
  padding: 0;
  position: relative;
}

.w-video iframe, .w-video object, .w-video embed {
  border: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

button, [type="button"], [type="reset"] {
  cursor: pointer;
  -webkit-appearance: button;
  border: 0;
}

.w-form {
  margin: 0 0 15px;
}

.w-form-done {
  text-align: center;
  background-color: #ddd;
  padding: 20px;
  display: none;
}

.w-form-fail {
  background-color: #ffdede;
  margin-top: 10px;
  padding: 10px;
  display: none;
}

label {
  margin-bottom: 5px;
  font-weight: bold;
  display: block;
}

.w-input, .w-select {
  color: #333;
  vertical-align: middle;
  background-color: #fff;
  border: 1px solid #ccc;
  width: 100%;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.42857;
  display: block;
}

.w-input::placeholder, .w-select::placeholder {
  color: #999;
}

.w-input:focus, .w-select:focus {
  border-color: #3898ec;
  outline: 0;
}

.w-input[disabled], .w-select[disabled], .w-input[readonly], .w-select[readonly], fieldset[disabled] .w-input, fieldset[disabled] .w-select {
  cursor: not-allowed;
}

.w-input[disabled]:not(.w-input-disabled), .w-select[disabled]:not(.w-input-disabled), .w-input[readonly], .w-select[readonly], fieldset[disabled]:not(.w-input-disabled) .w-input, fieldset[disabled]:not(.w-input-disabled) .w-select {
  background-color: #eee;
}

textarea.w-input, textarea.w-select {
  height: auto;
}

.w-select {
  background-color: #f3f3f3;
}

.w-select[multiple] {
  height: auto;
}

.w-form-label {
  cursor: pointer;
  margin-bottom: 0;
  font-weight: normal;
  display: inline-block;
}

.w-radio {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-radio:before, .w-radio:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-radio:after {
  clear: both;
}

.w-radio-input {
  float: left;
  margin: 3px 0 0 -20px;
  line-height: normal;
}

.w-file-upload {
  margin-bottom: 10px;
  display: block;
}

.w-file-upload-input {
  opacity: 0;
  z-index: -100;
  width: .1px;
  height: .1px;
  position: absolute;
  overflow: hidden;
}

.w-file-upload-default, .w-file-upload-uploading, .w-file-upload-success {
  color: #333;
  display: inline-block;
}

.w-file-upload-error {
  margin-top: 10px;
  display: block;
}

.w-file-upload-default.w-hidden, .w-file-upload-uploading.w-hidden, .w-file-upload-error.w-hidden, .w-file-upload-success.w-hidden {
  display: none;
}

.w-file-upload-uploading-btn {
  cursor: pointer;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: normal;
  display: flex;
}

.w-file-upload-file {
  background-color: #fafafa;
  border: 1px solid #ccc;
  flex-grow: 1;
  justify-content: space-between;
  margin: 0;
  padding: 8px 9px 8px 11px;
  display: flex;
}

.w-file-upload-file-name {
  font-size: 14px;
  font-weight: normal;
  display: block;
}

.w-file-remove-link {
  cursor: pointer;
  width: auto;
  height: auto;
  margin-top: 3px;
  margin-left: 10px;
  padding: 3px;
  display: block;
}

.w-icon-file-upload-remove {
  margin: auto;
  font-size: 10px;
}

.w-file-upload-error-msg {
  color: #ea384c;
  padding: 2px 0;
  display: inline-block;
}

.w-file-upload-info {
  padding: 0 12px;
  line-height: 38px;
  display: inline-block;
}

.w-file-upload-label {
  cursor: pointer;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: normal;
  display: inline-block;
}

.w-icon-file-upload-icon, .w-icon-file-upload-uploading {
  width: 20px;
  margin-right: 8px;
  display: inline-block;
}

.w-icon-file-upload-uploading {
  height: 20px;
}

.w-container {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.w-container:before, .w-container:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-container:after {
  clear: both;
}

.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px;
}

.w-row:before, .w-row:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-row:after {
  clear: both;
}

.w-row .w-row {
  margin-left: 0;
  margin-right: 0;
}

.w-col {
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
}

.w-col .w-col {
  padding-left: 0;
  padding-right: 0;
}

.w-col-1 {
  width: 8.33333%;
}

.w-col-2 {
  width: 16.6667%;
}

.w-col-3 {
  width: 25%;
}

.w-col-4 {
  width: 33.3333%;
}

.w-col-5 {
  width: 41.6667%;
}

.w-col-6 {
  width: 50%;
}

.w-col-7 {
  width: 58.3333%;
}

.w-col-8 {
  width: 66.6667%;
}

.w-col-9 {
  width: 75%;
}

.w-col-10 {
  width: 83.3333%;
}

.w-col-11 {
  width: 91.6667%;
}

.w-col-12 {
  width: 100%;
}

.w-hidden-main {
  display: none !important;
}

@media screen and (max-width: 991px) {
  .w-container {
    max-width: 728px;
  }

  .w-hidden-main {
    display: inherit !important;
  }

  .w-hidden-medium {
    display: none !important;
  }

  .w-col-medium-1 {
    width: 8.33333%;
  }

  .w-col-medium-2 {
    width: 16.6667%;
  }

  .w-col-medium-3 {
    width: 25%;
  }

  .w-col-medium-4 {
    width: 33.3333%;
  }

  .w-col-medium-5 {
    width: 41.6667%;
  }

  .w-col-medium-6 {
    width: 50%;
  }

  .w-col-medium-7 {
    width: 58.3333%;
  }

  .w-col-medium-8 {
    width: 66.6667%;
  }

  .w-col-medium-9 {
    width: 75%;
  }

  .w-col-medium-10 {
    width: 83.3333%;
  }

  .w-col-medium-11 {
    width: 91.6667%;
  }

  .w-col-medium-12 {
    width: 100%;
  }

  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto;
  }
}

@media screen and (max-width: 767px) {
  .w-hidden-main, .w-hidden-medium {
    display: inherit !important;
  }

  .w-hidden-small {
    display: none !important;
  }

  .w-row, .w-container .w-row {
    margin-left: 0;
    margin-right: 0;
  }

  .w-col {
    width: 100%;
    left: auto;
    right: auto;
  }

  .w-col-small-1 {
    width: 8.33333%;
  }

  .w-col-small-2 {
    width: 16.6667%;
  }

  .w-col-small-3 {
    width: 25%;
  }

  .w-col-small-4 {
    width: 33.3333%;
  }

  .w-col-small-5 {
    width: 41.6667%;
  }

  .w-col-small-6 {
    width: 50%;
  }

  .w-col-small-7 {
    width: 58.3333%;
  }

  .w-col-small-8 {
    width: 66.6667%;
  }

  .w-col-small-9 {
    width: 75%;
  }

  .w-col-small-10 {
    width: 83.3333%;
  }

  .w-col-small-11 {
    width: 91.6667%;
  }

  .w-col-small-12 {
    width: 100%;
  }
}

@media screen and (max-width: 479px) {
  .w-container {
    max-width: none;
  }

  .w-hidden-main, .w-hidden-medium, .w-hidden-small {
    display: inherit !important;
  }

  .w-hidden-tiny {
    display: none !important;
  }

  .w-col {
    width: 100%;
  }

  .w-col-tiny-1 {
    width: 8.33333%;
  }

  .w-col-tiny-2 {
    width: 16.6667%;
  }

  .w-col-tiny-3 {
    width: 25%;
  }

  .w-col-tiny-4 {
    width: 33.3333%;
  }

  .w-col-tiny-5 {
    width: 41.6667%;
  }

  .w-col-tiny-6 {
    width: 50%;
  }

  .w-col-tiny-7 {
    width: 58.3333%;
  }

  .w-col-tiny-8 {
    width: 66.6667%;
  }

  .w-col-tiny-9 {
    width: 75%;
  }

  .w-col-tiny-10 {
    width: 83.3333%;
  }

  .w-col-tiny-11 {
    width: 91.6667%;
  }

  .w-col-tiny-12 {
    width: 100%;
  }
}

.w-widget {
  position: relative;
}

.w-widget-map {
  width: 100%;
  height: 400px;
}

.w-widget-map label {
  width: auto;
  display: inline;
}

.w-widget-map img {
  max-width: inherit;
}

.w-widget-map .gm-style-iw {
  text-align: center;
}

.w-widget-map .gm-style-iw > button {
  display: none !important;
}

.w-widget-twitter {
  overflow: hidden;
}

.w-widget-twitter-count-shim {
  vertical-align: top;
  text-align: center;
  background: #fff;
  border: 1px solid #758696;
  border-radius: 3px;
  width: 28px;
  height: 20px;
  display: inline-block;
  position: relative;
}

.w-widget-twitter-count-shim * {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

.w-widget-twitter-count-shim .w-widget-twitter-count-inner {
  text-align: center;
  color: #999;
  font-family: serif;
  font-size: 15px;
  line-height: 12px;
  position: relative;
}

.w-widget-twitter-count-shim .w-widget-twitter-count-clear {
  display: block;
  position: relative;
}

.w-widget-twitter-count-shim.w--large {
  width: 36px;
  height: 28px;
}

.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 18px;
}

.w-widget-twitter-count-shim:not(.w--vertical) {
  margin-left: 5px;
  margin-right: 8px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large {
  margin-left: 6px;
}

.w-widget-twitter-count-shim:not(.w--vertical):before, .w-widget-twitter-count-shim:not(.w--vertical):after {
  content: " ";
  pointer-events: none;
  border: solid #0000;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 0;
}

.w-widget-twitter-count-shim:not(.w--vertical):before {
  border-width: 4px;
  border-color: #75869600 #5d6c7b #75869600 #75869600;
  margin-top: -4px;
  margin-left: -9px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
  border-width: 5px;
  margin-top: -5px;
  margin-left: -10px;
}

.w-widget-twitter-count-shim:not(.w--vertical):after {
  border-width: 4px;
  border-color: #fff0 #fff #fff0 #fff0;
  margin-top: -4px;
  margin-left: -8px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
  border-width: 5px;
  margin-top: -5px;
  margin-left: -9px;
}

.w-widget-twitter-count-shim.w--vertical {
  width: 61px;
  height: 33px;
  margin-bottom: 8px;
}

.w-widget-twitter-count-shim.w--vertical:before, .w-widget-twitter-count-shim.w--vertical:after {
  content: " ";
  pointer-events: none;
  border: solid #0000;
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
}

.w-widget-twitter-count-shim.w--vertical:before {
  border-width: 5px;
  border-color: #5d6c7b #75869600 #75869600;
  margin-left: -5px;
}

.w-widget-twitter-count-shim.w--vertical:after {
  border-width: 4px;
  border-color: #fff #fff0 #fff0;
  margin-left: -4px;
}

.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 22px;
}

.w-widget-twitter-count-shim.w--vertical.w--large {
  width: 76px;
}

.w-background-video {
  color: #fff;
  height: 500px;
  position: relative;
  overflow: hidden;
}

.w-background-video > video {
  object-fit: cover;
  z-index: -100;
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  inset: -100%;
}

.w-background-video > video::-webkit-media-controls-start-playback-button {
  -webkit-appearance: none;
  display: none !important;
}

.w-background-video--control {
  background-color: #0000;
  padding: 0;
  position: absolute;
  bottom: 1em;
  right: 1em;
}

.w-background-video--control > [hidden] {
  display: none !important;
}

.w-slider {
  text-align: center;
  clear: both;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  background: #ddd;
  height: 300px;
  position: relative;
}

.w-slider-mask {
  z-index: 1;
  white-space: nowrap;
  height: 100%;
  display: block;
  position: relative;
  left: 0;
  right: 0;
  overflow: hidden;
}

.w-slide {
  vertical-align: top;
  white-space: normal;
  text-align: left;
  width: 100%;
  height: 100%;
  display: inline-block;
  position: relative;
}

.w-slider-nav {
  z-index: 2;
  text-align: center;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  height: 40px;
  margin: auto;
  padding-top: 10px;
  position: absolute;
  inset: auto 0 0;
}

.w-slider-nav.w-round > div {
  border-radius: 100%;
}

.w-slider-nav.w-num > div {
  font-size: inherit;
  line-height: inherit;
  width: auto;
  height: auto;
  padding: .2em .5em;
}

.w-slider-nav.w-shadow > div {
  box-shadow: 0 0 3px #3336;
}

.w-slider-nav-invert {
  color: #fff;
}

.w-slider-nav-invert > div {
  background-color: #2226;
}

.w-slider-nav-invert > div.w-active {
  background-color: #222;
}

.w-slider-dot {
  cursor: pointer;
  background-color: #fff6;
  width: 1em;
  height: 1em;
  margin: 0 3px .5em;
  transition: background-color .1s, color .1s;
  display: inline-block;
  position: relative;
}

.w-slider-dot.w-active {
  background-color: #fff;
}

.w-slider-dot:focus {
  outline: none;
  box-shadow: 0 0 0 2px #fff;
}

.w-slider-dot:focus.w-active {
  box-shadow: none;
}

.w-slider-arrow-left, .w-slider-arrow-right {
  cursor: pointer;
  color: #fff;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  -webkit-user-select: none;
  user-select: none;
  width: 80px;
  margin: auto;
  font-size: 40px;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.w-slider-arrow-left [class^="w-icon-"], .w-slider-arrow-right [class^="w-icon-"], .w-slider-arrow-left [class*=" w-icon-"], .w-slider-arrow-right [class*=" w-icon-"] {
  position: absolute;
}

.w-slider-arrow-left:focus, .w-slider-arrow-right:focus {
  outline: 0;
}

.w-slider-arrow-left {
  z-index: 3;
  right: auto;
}

.w-slider-arrow-right {
  z-index: 4;
  left: auto;
}

.w-icon-slider-left, .w-icon-slider-right {
  width: 1em;
  height: 1em;
  margin: auto;
  inset: 0;
}

.w-slider-aria-label {
  clip: rect(0 0 0 0);
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.w-slider-force-show {
  display: block !important;
}

.w-dropdown {
  text-align: left;
  z-index: 900;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  position: relative;
}

.w-dropdown-btn, .w-dropdown-toggle, .w-dropdown-link {
  vertical-align: top;
  color: #222;
  text-align: left;
  white-space: nowrap;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  text-decoration: none;
  position: relative;
}

.w-dropdown-toggle {
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
  padding-right: 40px;
  display: inline-block;
}

.w-dropdown-toggle:focus {
  outline: 0;
}

.w-icon-dropdown-toggle {
  width: 1em;
  height: 1em;
  margin: auto 20px auto auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}

.w-dropdown-list {
  background: #ddd;
  min-width: 100%;
  display: none;
  position: absolute;
}

.w-dropdown-list.w--open {
  display: block;
}

.w-dropdown-link {
  color: #222;
  padding: 10px 20px;
  display: block;
}

.w-dropdown-link.w--current {
  color: #0082f3;
}

.w-dropdown-link:focus {
  outline: 0;
}

@media screen and (max-width: 767px) {
  .w-nav-brand {
    padding-left: 10px;
  }
}

.w-lightbox-backdrop {
  cursor: auto;
  letter-spacing: normal;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  visibility: visible;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  color: #fff;
  text-align: center;
  z-index: 2000;
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -webkit-tap-highlight-color: transparent;
  background: #000000e6;
  outline: 0;
  font-family: Helvetica Neue, Helvetica, Ubuntu, Segoe UI, Verdana, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.2;
  list-style: disc;
  position: fixed;
  inset: 0;
  -webkit-transform: translate(0);
}

.w-lightbox-backdrop, .w-lightbox-container {
  -webkit-overflow-scrolling: touch;
  height: 100%;
  overflow: auto;
}

.w-lightbox-content {
  height: 100vh;
  position: relative;
  overflow: hidden;
}

.w-lightbox-view {
  opacity: 0;
  width: 100vw;
  height: 100vh;
  position: absolute;
}

.w-lightbox-view:before {
  content: "";
  height: 100vh;
}

.w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {
  height: 86vh;
}

.w-lightbox-frame, .w-lightbox-view:before {
  vertical-align: middle;
  display: inline-block;
}

.w-lightbox-figure {
  margin: 0;
  position: relative;
}

.w-lightbox-group .w-lightbox-figure {
  cursor: pointer;
}

.w-lightbox-img {
  width: auto;
  max-width: none;
  height: auto;
}

.w-lightbox-image {
  float: none;
  max-width: 100vw;
  max-height: 100vh;
  display: block;
}

.w-lightbox-group .w-lightbox-image {
  max-height: 86vh;
}

.w-lightbox-caption {
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #0006;
  padding: .5em 1em;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.w-lightbox-embed {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.w-lightbox-control {
  cursor: pointer;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px;
  width: 4em;
  transition: all .3s;
  position: absolute;
  top: 0;
}

.w-lightbox-left {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==");
  display: none;
  bottom: 0;
  left: 0;
}

.w-lightbox-right {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+");
  display: none;
  bottom: 0;
  right: 0;
}

.w-lightbox-close {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=");
  background-size: 18px;
  height: 2.6em;
  right: 0;
}

.w-lightbox-strip {
  white-space: nowrap;
  padding: 0 1vh;
  line-height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: auto hidden;
}

.w-lightbox-item {
  box-sizing: content-box;
  cursor: pointer;
  width: 10vh;
  padding: 2vh 1vh;
  display: inline-block;
  -webkit-transform: translate3d(0, 0, 0);
}

.w-lightbox-active {
  opacity: .3;
}

.w-lightbox-thumbnail {
  background: #222;
  height: 10vh;
  position: relative;
  overflow: hidden;
}

.w-lightbox-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0;
}

.w-lightbox-thumbnail .w-lightbox-tall {
  width: 100%;
  top: 50%;
  transform: translate(0, -50%);
}

.w-lightbox-thumbnail .w-lightbox-wide {
  height: 100%;
  left: 50%;
  transform: translate(-50%);
}

.w-lightbox-spinner {
  box-sizing: border-box;
  border: 5px solid #0006;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  animation: .8s linear infinite spin;
  position: absolute;
  top: 50%;
  left: 50%;
}

.w-lightbox-spinner:after {
  content: "";
  border: 3px solid #0000;
  border-bottom-color: #fff;
  border-radius: 50%;
  position: absolute;
  inset: -4px;
}

.w-lightbox-hide {
  display: none;
}

.w-lightbox-noscroll {
  overflow: hidden;
}

@media (min-width: 768px) {
  .w-lightbox-content {
    height: 96vh;
    margin-top: 2vh;
  }

  .w-lightbox-view, .w-lightbox-view:before {
    height: 96vh;
  }

  .w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {
    height: 84vh;
  }

  .w-lightbox-image {
    max-width: 96vw;
    max-height: 96vh;
  }

  .w-lightbox-group .w-lightbox-image {
    max-width: 82.3vw;
    max-height: 84vh;
  }

  .w-lightbox-left, .w-lightbox-right {
    opacity: .5;
    display: block;
  }

  .w-lightbox-close {
    opacity: .8;
  }

  .w-lightbox-control:hover {
    opacity: 1;
  }
}

.w-lightbox-inactive, .w-lightbox-inactive:hover {
  opacity: 0;
}

.w-richtext:before, .w-richtext:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-richtext:after {
  clear: both;
}

.w-richtext[contenteditable="true"]:before, .w-richtext[contenteditable="true"]:after {
  white-space: initial;
}

.w-richtext ol, .w-richtext ul {
  overflow: hidden;
}

.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:after, .w-richtext .w-richtext-figure-selected[data-rt-type="video"] div:after, .w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div, .w-richtext .w-richtext-figure-selected[data-rt-type="image"] div {
  outline: 2px solid #2895f7;
}

.w-richtext figure.w-richtext-figure-type-video > div:after, .w-richtext figure[data-rt-type="video"] > div:after {
  content: "";
  display: none;
  position: absolute;
  inset: 0;
}

.w-richtext figure {
  max-width: 60%;
  position: relative;
}

.w-richtext figure > div:before {
  cursor: default !important;
}

.w-richtext figure img {
  width: 100%;
}

.w-richtext figure figcaption.w-richtext-figcaption-placeholder {
  opacity: .6;
}

.w-richtext figure div {
  color: #0000;
  font-size: 0;
}

.w-richtext figure.w-richtext-figure-type-image, .w-richtext figure[data-rt-type="image"] {
  display: table;
}

.w-richtext figure.w-richtext-figure-type-image > div, .w-richtext figure[data-rt-type="image"] > div {
  display: inline-block;
}

.w-richtext figure.w-richtext-figure-type-image > figcaption, .w-richtext figure[data-rt-type="image"] > figcaption {
  caption-side: bottom;
  display: table-caption;
}

.w-richtext figure.w-richtext-figure-type-video, .w-richtext figure[data-rt-type="video"] {
  width: 60%;
  height: 0;
}

.w-richtext figure.w-richtext-figure-type-video iframe, .w-richtext figure[data-rt-type="video"] iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.w-richtext figure.w-richtext-figure-type-video > div, .w-richtext figure[data-rt-type="video"] > div {
  width: 100%;
}

.w-richtext figure.w-richtext-align-center {
  clear: both;
  margin-left: auto;
  margin-right: auto;
}

.w-richtext figure.w-richtext-align-center.w-richtext-figure-type-image > div, .w-richtext figure.w-richtext-align-center[data-rt-type="image"] > div {
  max-width: 100%;
}

.w-richtext figure.w-richtext-align-normal {
  clear: both;
}

.w-richtext figure.w-richtext-align-fullwidth {
  text-align: center;
  clear: both;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-richtext figure.w-richtext-align-fullwidth > div {
  padding-bottom: inherit;
  display: inline-block;
}

.w-richtext figure.w-richtext-align-fullwidth > figcaption {
  display: block;
}

.w-richtext figure.w-richtext-align-floatleft {
  float: left;
  clear: none;
  margin-right: 15px;
}

.w-richtext figure.w-richtext-align-floatright {
  float: right;
  clear: none;
  margin-left: 15px;
}

.w-nav {
  z-index: 1000;
  background: #ddd;
  position: relative;
}

.w-nav:before, .w-nav:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-nav:after {
  clear: both;
}

.w-nav-brand {
  float: left;
  color: #333;
  text-decoration: none;
  position: relative;
}

.w-nav-link {
  vertical-align: top;
  color: #222;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.w-nav-link.w--current {
  color: #0082f3;
}

.w-nav-menu {
  float: right;
  position: relative;
}

[data-nav-menu-open] {
  text-align: center;
  background: #c8c8c8;
  min-width: 200px;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: visible;
  display: block !important;
}

.w--nav-link-open {
  display: block;
  position: relative;
}

.w-nav-overlay {
  width: 100%;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: hidden;
}

.w-nav-overlay [data-nav-menu-open] {
  top: 0;
}

.w-nav[data-animation="over-left"] .w-nav-overlay {
  width: auto;
}

.w-nav[data-animation="over-left"] .w-nav-overlay, .w-nav[data-animation="over-left"] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  right: auto;
}

.w-nav[data-animation="over-right"] .w-nav-overlay {
  width: auto;
}

.w-nav[data-animation="over-right"] .w-nav-overlay, .w-nav[data-animation="over-right"] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  left: auto;
}

.w-nav-button {
  float: right;
  cursor: pointer;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  -webkit-user-select: none;
  user-select: none;
  padding: 18px;
  font-size: 24px;
  display: none;
  position: relative;
}

.w-nav-button:focus {
  outline: 0;
}

.w-nav-button.w--open {
  color: #fff;
  background-color: #c8c8c8;
}

.w-nav[data-collapse="all"] .w-nav-menu {
  display: none;
}

.w-nav[data-collapse="all"] .w-nav-button, .w--nav-dropdown-open, .w--nav-dropdown-toggle-open {
  display: block;
}

.w--nav-dropdown-list-open {
  position: static;
}

@media screen and (max-width: 991px) {
  .w-nav[data-collapse="medium"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="medium"] .w-nav-button {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .w-nav[data-collapse="small"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="small"] .w-nav-button {
    display: block;
  }

  .w-nav-brand {
    padding-left: 10px;
  }
}

@media screen and (max-width: 479px) {
  .w-nav[data-collapse="tiny"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="tiny"] .w-nav-button {
    display: block;
  }
}

.w-tabs {
  position: relative;
}

.w-tabs:before, .w-tabs:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-tabs:after {
  clear: both;
}

.w-tab-menu {
  position: relative;
}

.w-tab-link {
  vertical-align: top;
  text-align: left;
  cursor: pointer;
  color: #222;
  background-color: #ddd;
  padding: 9px 30px;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.w-tab-link.w--current {
  background-color: #c8c8c8;
}

.w-tab-link:focus {
  outline: 0;
}

.w-tab-content {
  display: block;
  position: relative;
  overflow: hidden;
}

.w-tab-pane {
  display: none;
  position: relative;
}

.w--tab-active {
  display: block;
}

@media screen and (max-width: 479px) {
  .w-tab-link {
    display: block;
  }
}

.w-ix-emptyfix:after {
  content: "";
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.w-dyn-empty {
  background-color: #ddd;
  padding: 10px;
}

.w-dyn-hide, .w-dyn-bind-empty, .w-condition-invisible {
  display: none !important;
}

.wf-layout-layout {
  display: grid;
}

@font-face {
  font-family: Satoshi;
  src: url("../../assets/fonts/satoshi-black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Satoshi;
  src: url("../../assets/fonts/satoshi-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Satoshi;
  src: url("../../assets/fonts/satoshi-light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Satoshi;
  src: url("../../assets/fonts/satoshi-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Satoshi;
  src: url("../../assets/fonts/satoshi-medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Fa Solid 900";
  src: url("../../assets/fonts/fa-solid-900.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Fa Brands 400";
  src: url("../../assets/fonts/fa-brands-400.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Fa 400";
  src: url("../../assets/fonts/fa-regular-400.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --_fonts---font-family--primary-font: Satoshi, Arial, sans-serif;
  --_colors-plates---gray: #494852;
  --_typography---paragraphs--lg-body: 18px;
  --_fonts---line-height--150: 150%;
  --_fonts---font-weight--medium: 500;
  --_colors-plates---primary: #141414;
  --_typography---titles--h1: 48px;
  --_fonts---font-weight--bold: 700;
  --_typography---titles--h2: 40px;
  --_typography---titles--h3: 33px;
  --_typography---titles--h4: 28px;
  --_typography---titles--h5: 24px;
  --_typography---titles--h6: 20px;
  --_colors-plates---transparent: transparent;
  --_colors-plates---white: white;
  --_colors-plates---light-gray: #f6f6f9;
  --_fonts---line-height--120: 120%;
  --_typography---paragraphs--sm-body: 14px;
  --_typography---paragraphs--md-body: 16px;
  --section-gap: 110px;
  --none: 0px;
  --section-gap-medium: 80px;
  --section-gap-small: 60px;
  --_typography---title-xl: 60px;
  --_fonts---line-height--130: 130%;
  --_typography---paragraphs--buttons: 18px;
  --_colors-plates---secondary: #ff7a52;
  --_fonts---line-height--100: 100%;
  --white\<deleted\|variable-177089b8\>: white;
  --_fonts---font-family--fa-icon: "Fa 400", Arial, sans-serif;
  --_typography---titles--display-title: 120px;
  --_fonts---font-weight--light: 300;
  --_fonts---font-weight--regular: 400;
  --_fonts---font-weight--black: 900;
  --_fonts---font-family--fa-icon-brands: "Fa Brands 400", Arial, sans-serif;
  --_fonts---font-family--fa-icon-solid: "Fa Solid 900", Arial, sans-serif;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.w-commerce-commercecartwrapper {
  display: inline-block;
  position: relative;
}

.w-commerce-commercecartopenlink {
  color: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 0;
  align-items: center;
  padding: 9px 15px;
  text-decoration: none;
  display: flex;
}

.w-commerce-commercecartopenlinkcount {
  color: #3898ec;
  text-align: center;
  background-color: #fff;
  border-radius: 9px;
  min-width: 18px;
  height: 18px;
  margin-left: 8px;
  padding-left: 6px;
  padding-right: 6px;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  display: inline-block;
}

.w-commerce-commercecartcontainerwrapper {
  z-index: 1001;
  background-color: #000c;
  position: fixed;
  inset: 0;
}

.w-commerce-commercecartcontainerwrapper--cartType-modal {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.w-commerce-commercecartcontainerwrapper--cartType-leftSidebar {
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}

.w-commerce-commercecartcontainerwrapper--cartType-rightSidebar {
  flex-direction: row;
  justify-content: flex-end;
  align-items: stretch;
  display: flex;
}

.w-commerce-commercecartcontainerwrapper--cartType-leftDropdown {
  background-color: #0000;
  position: absolute;
  inset: 100% auto auto 0;
}

.w-commerce-commercecartcontainerwrapper--cartType-rightDropdown {
  background-color: #0000;
  position: absolute;
  inset: 100% 0 auto auto;
}

.w-commerce-commercecartcontainer {
  background-color: #fff;
  flex-direction: column;
  width: 100%;
  min-width: 320px;
  max-width: 480px;
  display: flex;
  overflow: auto;
  box-shadow: 0 5px 25px #00000040;
}

.w-commerce-commercecartheader {
  border-bottom: 1px solid #e6e6e6;
  flex: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  display: flex;
  position: relative;
}

.w-commerce-commercecartheading {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}

.w-commerce-commercecartcloselink {
  width: 16px;
  height: 16px;
}

.w-commerce-commercecartformwrapper {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.w-commerce-commercecartform {
  flex-direction: column;
  flex: 1;
  justify-content: flex-start;
  display: flex;
}

.w-commerce-commercecartlist {
  -webkit-overflow-scrolling: touch;
  flex: 1;
  padding: 12px 24px;
  overflow: auto;
}

.w-commerce-commercecartitem {
  align-items: flex-start;
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
}

.w-commerce-commercecartitemimage {
  width: 60px;
  height: 0%;
}

.w-commerce-commercecartiteminfo {
  flex-direction: column;
  flex: 1;
  margin-left: 16px;
  margin-right: 16px;
  display: flex;
}

.w-commerce-commercecartproductname {
  font-weight: 700;
}

.w-commerce-commercecartquantity {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 60px;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 6px 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecartquantity::placeholder {
  color: #999;
}

.w-commerce-commercecartquantity:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecartoptionlist {
  margin-bottom: 0;
  padding-left: 0;
  text-decoration: none;
  list-style-type: none;
}

.w-commerce-commercecartfooter {
  border-top: 1px solid #e6e6e6;
  flex-direction: column;
  flex: none;
  padding: 16px 24px 24px;
  display: flex;
}

.w-commerce-commercecartlineitem {
  flex: none;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 16px;
  display: flex;
}

.w-commerce-commercecartordervalue {
  font-weight: 700;
}

.w-commerce-commercecartcheckoutbutton {
  color: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  text-align: center;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 2px;
  align-items: center;
  padding: 9px 15px;
  text-decoration: none;
  display: block;
}

.w-commerce-commercecartemptystate {
  flex: 1;
  justify-content: center;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.w-commerce-commercecarterrorstate {
  background-color: #ffdede;
  flex: none;
  margin: 0 24px 24px;
  padding: 10px;
}

.w-checkbox {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-checkbox:before {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox:after {
  content: " ";
  clear: both;
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox-input {
  float: left;
  margin: 4px 0 0 -20px;
  line-height: normal;
}

.w-checkbox-input--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  background-image: url("https://d3e54v103j8qbb.cloudfront.net/static/custom-checkbox-checkmark.589d534424.svg");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: #3898ec;
}

.w-checkbox-input--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-commerce-commerceaddtocartform {
  margin: 0 0 15px;
}

.w-commerce-commerceaddtocartoptionpillgroup {
  margin-bottom: 10px;
  display: flex;
}

.w-commerce-commerceaddtocartoptionpill {
  color: #000;
  cursor: pointer;
  background-color: #fff;
  border: 1px solid #000;
  margin-right: 10px;
  padding: 8px 15px;
}

.w-commerce-commerceaddtocartoptionpill.w--ecommerce-pill-selected {
  color: #fff;
  background-color: #000;
}

.w-commerce-commerceaddtocartoptionpill.w--ecommerce-pill-disabled {
  color: #666;
  cursor: not-allowed;
  background-color: #e6e6e6;
  border-color: #e6e6e6;
  outline-style: none;
}

.w-commerce-commerceaddtocartquantityinput {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 60px;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 6px 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commerceaddtocartquantityinput::placeholder {
  color: #999;
}

.w-commerce-commerceaddtocartquantityinput:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commerceaddtocartbutton {
  color: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 0;
  align-items: center;
  padding: 9px 15px;
  text-decoration: none;
  display: flex;
}

.w-commerce-commerceaddtocartbutton.w--ecommerce-add-to-cart-disabled {
  color: #666;
  cursor: not-allowed;
  background-color: #e6e6e6;
  border-color: #e6e6e6;
  outline-style: none;
}

.w-commerce-commercebuynowbutton {
  color: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 0;
  align-items: center;
  margin-top: 10px;
  padding: 9px 15px;
  text-decoration: none;
  display: inline-block;
}

.w-commerce-commercebuynowbutton.w--ecommerce-buy-now-disabled {
  color: #666;
  cursor: not-allowed;
  background-color: #e6e6e6;
  border-color: #e6e6e6;
  outline-style: none;
}

.w-commerce-commerceaddtocartoutofstock {
  background-color: #ddd;
  margin-top: 10px;
  padding: 10px;
}

.w-commerce-commerceaddtocarterror {
  background-color: #ffdede;
  margin-top: 10px;
  padding: 10px;
}

.w-commerce-commercecheckoutformcontainer {
  background-color: #f5f5f5;
  width: 100%;
  min-height: 100vh;
  padding: 20px;
}

.w-commerce-commercelayoutcontainer {
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.w-commerce-commercelayoutmain {
  flex: 0 800px;
  margin-right: 20px;
}

.w-commerce-commercecartapplepaybutton {
  color: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-color: #000;
  border-width: 0;
  border-radius: 2px;
  align-items: center;
  height: 38px;
  min-height: 30px;
  margin-bottom: 8px;
  padding: 0;
  text-decoration: none;
  display: flex;
}

.w-commerce-commercecartapplepayicon {
  width: 100%;
  height: 50%;
  min-height: 20px;
}

.w-commerce-commercecartquickcheckoutbutton {
  color: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-color: #000;
  border-width: 0;
  border-radius: 2px;
  justify-content: center;
  align-items: center;
  height: 38px;
  margin-bottom: 8px;
  padding: 0 15px;
  text-decoration: none;
  display: flex;
}

.w-commerce-commercequickcheckoutgoogleicon, .w-commerce-commercequickcheckoutmicrosofticon {
  margin-right: 8px;
  display: block;
}

.w-commerce-commercecheckoutcustomerinfowrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutblockheader {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 20px;
  display: flex;
}

.w-commerce-commercecheckoutblockcontent {
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6;
  border-left: 1px solid #e6e6e6;
  border-right: 1px solid #e6e6e6;
  padding: 20px;
}

.w-commerce-commercecheckoutlabel {
  margin-bottom: 8px;
}

.w-commerce-commercecheckoutemailinput {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 0;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutemailinput::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutemailinput:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingaddresswrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutshippingfullname {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingfullname::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingfullname:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingstreetaddress {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingstreetaddress::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddress:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstreetaddressoptional:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutrow {
  margin-left: -8px;
  margin-right: -8px;
  display: flex;
}

.w-commerce-commercecheckoutcolumn {
  flex: 1;
  padding-left: 8px;
  padding-right: 8px;
}

.w-commerce-commercecheckoutshippingcity {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingcity::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcity:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingstateprovince {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingstateprovince::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingstateprovince:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingzippostalcode {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingzippostalcode::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingzippostalcode:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingcountryselector {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 0;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutshippingcountryselector::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutshippingcountryselector:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutshippingmethodswrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutshippingmethodslist {
  border-left: 1px solid #e6e6e6;
  border-right: 1px solid #e6e6e6;
}

.w-commerce-commercecheckoutshippingmethoditem {
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6;
  flex-direction: row;
  align-items: baseline;
  margin-bottom: 0;
  padding: 16px;
  font-weight: 400;
  display: flex;
}

.w-commerce-commercecheckoutshippingmethoddescriptionblock {
  flex-direction: column;
  flex-grow: 1;
  margin-left: 12px;
  margin-right: 12px;
  display: flex;
}

.w-commerce-commerceboldtextblock {
  font-weight: 700;
}

.w-commerce-commercecheckoutshippingmethodsemptystate {
  text-align: center;
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6;
  border-left: 1px solid #e6e6e6;
  border-right: 1px solid #e6e6e6;
  padding: 64px 16px;
}

.w-commerce-commercecheckoutpaymentinfowrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutcardnumber {
  -webkit-appearance: none;
  appearance: none;
  cursor: text;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutcardnumber::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardnumber:focus, .w-commerce-commercecheckoutcardnumber.-wfp-focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutcardexpirationdate {
  -webkit-appearance: none;
  appearance: none;
  cursor: text;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutcardexpirationdate::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardexpirationdate:focus, .w-commerce-commercecheckoutcardexpirationdate.-wfp-focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutcardsecuritycode {
  -webkit-appearance: none;
  appearance: none;
  cursor: text;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutcardsecuritycode::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutcardsecuritycode:focus, .w-commerce-commercecheckoutcardsecuritycode.-wfp-focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingaddresstogglewrapper {
  flex-direction: row;
  display: flex;
}

.w-commerce-commercecheckoutbillingaddresstogglecheckbox {
  margin-top: 4px;
}

.w-commerce-commercecheckoutbillingaddresstogglelabel {
  margin-left: 8px;
  font-weight: 400;
}

.w-commerce-commercecheckoutbillingaddresswrapper {
  margin-top: 16px;
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutbillingfullname {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingfullname::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingfullname:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingstreetaddress {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingstreetaddress::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddress:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstreetaddressoptional:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingcity {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingcity::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingcity:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingstateprovince {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingstateprovince::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingstateprovince:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingzippostalcode {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 16px;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingzippostalcode::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingzippostalcode:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutbillingcountryselector {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: 3px;
  width: 100%;
  height: 38px;
  margin-bottom: 0;
  padding: 8px 12px;
  line-height: 20px;
  display: block;
}

.w-commerce-commercecheckoutbillingcountryselector::placeholder {
  color: #999;
}

.w-commerce-commercecheckoutbillingcountryselector:focus {
  border-color: #3898ec;
  outline-style: none;
}

.w-commerce-commercecheckoutorderitemswrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutsummaryblockheader {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 20px;
  display: flex;
}

.w-commerce-commercecheckoutorderitemslist {
  margin-bottom: -20px;
}

.w-commerce-commercecheckoutorderitem {
  margin-bottom: 20px;
  display: flex;
}

.w-commerce-commercecheckoutorderitemdescriptionwrapper {
  flex-grow: 1;
  margin-left: 16px;
  margin-right: 16px;
}

.w-commerce-commercecheckoutorderitemquantitywrapper {
  white-space: pre-wrap;
  display: flex;
}

.w-commerce-commercecheckoutorderitemoptionlist {
  margin-bottom: 0;
  padding-left: 0;
  text-decoration: none;
  list-style-type: none;
}

.w-commerce-commercelayoutsidebar {
  flex: 0 0 320px;
  position: sticky;
  top: 20px;
}

.w-commerce-commercecheckoutordersummarywrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutsummarylineitem, .w-commerce-commercecheckoutordersummaryextraitemslistitem {
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 8px;
  display: flex;
}

.w-commerce-commercecheckoutsummarytotal {
  font-weight: 700;
}

.w-commerce-commercecheckoutplaceorderbutton {
  color: #fff;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  text-align: center;
  background-color: #3898ec;
  border-width: 0;
  border-radius: 3px;
  align-items: center;
  margin-bottom: 20px;
  padding: 9px 15px;
  text-decoration: none;
  display: block;
}

.w-commerce-commercecheckouterrorstate {
  background-color: #ffdede;
  margin-top: 16px;
  margin-bottom: 16px;
  padding: 10px 16px;
}

.w-commerce-commercepaypalcheckoutformcontainer {
  background-color: #f5f5f5;
  width: 100%;
  min-height: 100vh;
  padding: 20px;
}

.w-commerce-commercecheckoutcustomerinfosummarywrapper {
  margin-bottom: 20px;
}

.w-commerce-commercecheckoutsummaryitem, .w-commerce-commercecheckoutsummarylabel {
  margin-bottom: 8px;
}

.w-commerce-commercecheckoutsummaryflexboxdiv {
  flex-direction: row;
  justify-content: flex-start;
  display: flex;
}

.w-commerce-commercecheckoutsummarytextspacingondiv {
  margin-right: .33em;
}

.w-commerce-commercecheckoutpaymentsummarywrapper {
  margin-bottom: 20px;
}

.w-commerce-commercepaypalcheckouterrorstate {
  background-color: #ffdede;
  margin-top: 16px;
  margin-bottom: 16px;
  padding: 10px 16px;
}

.w-commerce-commerceorderconfirmationcontainer {
  background-color: #f5f5f5;
  width: 100%;
  min-height: 100vh;
  padding: 20px;
}

.w-commerce-commercecheckoutshippingsummarywrapper {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .w-commerce-commercelayoutcontainer {
    flex-direction: column;
    align-items: stretch;
  }

  .w-commerce-commercelayoutmain {
    flex-basis: auto;
    margin-right: 0;
  }

  .w-commerce-commercelayoutsidebar {
    flex-basis: auto;
  }
}

@media screen and (max-width: 479px) {
  .w-commerce-commercecartcontainerwrapper--cartType-modal {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
  }

  .w-commerce-commercecartcontainerwrapper--cartType-leftDropdown, .w-commerce-commercecartcontainerwrapper--cartType-rightDropdown {
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    display: flex;
    position: fixed;
    inset: 0;
  }

  .w-commerce-commercecartquantity, .w-commerce-commerceaddtocartquantityinput, .w-commerce-commercecheckoutemailinput, .w-commerce-commercecheckoutshippingfullname, .w-commerce-commercecheckoutshippingstreetaddress, .w-commerce-commercecheckoutshippingstreetaddressoptional {
    font-size: 16px;
  }

  .w-commerce-commercecheckoutrow {
    flex-direction: column;
  }

  .w-commerce-commercecheckoutshippingcity, .w-commerce-commercecheckoutshippingstateprovince, .w-commerce-commercecheckoutshippingzippostalcode, .w-commerce-commercecheckoutshippingcountryselector, .w-commerce-commercecheckoutcardnumber, .w-commerce-commercecheckoutcardexpirationdate, .w-commerce-commercecheckoutcardsecuritycode, .w-commerce-commercecheckoutbillingfullname, .w-commerce-commercecheckoutbillingstreetaddress, .w-commerce-commercecheckoutbillingstreetaddressoptional, .w-commerce-commercecheckoutbillingcity, .w-commerce-commercecheckoutbillingstateprovince, .w-commerce-commercecheckoutbillingzippostalcode, .w-commerce-commercecheckoutbillingcountryselector {
    font-size: 16px;
  }
}

body {
  font-family: var(--_fonts---font-family--primary-font);
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--lg-body);
  line-height: var(--_fonts---line-height--150);
  font-weight: var(--_fonts---font-weight--medium);
}

h1 {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h1);
  line-height: 150%;
  font-weight: var(--_fonts---font-weight--bold);
  letter-spacing: -.96px;
  margin-top: 0;
  margin-bottom: 0;
}

h2 {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h2);
  line-height: 150%;
  font-weight: var(--_fonts---font-weight--bold);
  letter-spacing: -.8px;
  margin-top: 0;
  margin-bottom: 0;
}

h3 {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h3);
  line-height: 150%;
  font-weight: var(--_fonts---font-weight--bold);
  letter-spacing: -.66px;
  margin-top: 0;
  margin-bottom: 0;
}

h4 {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h4);
  line-height: 150%;
  font-weight: var(--_fonts---font-weight--bold);
  letter-spacing: -.56px;
  margin-top: 0;
  margin-bottom: 0;
}

h5 {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h5);
  line-height: 150%;
  font-weight: var(--_fonts---font-weight--bold);
  letter-spacing: -.48px;
  margin-top: 0;
  margin-bottom: 0;
}

h6 {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h6);
  line-height: 150%;
  font-weight: var(--_fonts---font-weight--bold);
  letter-spacing: -.4px;
  margin-top: 0;
  margin-bottom: 0;
}

p {
  margin-bottom: 0;
}

a {
  text-decoration: none;
}

ul {
  grid-row-gap: 10px;
  flex-flow: column;
}

img {
  max-width: 100%;
  display: inline-block;
}

strong {
  font-weight: bold;
}

blockquote {
  border-left: 5px solid #e2e2e2;
  margin-bottom: 10px;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 22px;
}

figure {
  margin-bottom: 10px;
}

.page-wrapper {
  overflow: clip;
}

.navbar {
  background-color: #fff0;
  border-bottom: 1px dashed #1b1a2733;
  position: fixed;
  inset: 0% 0% auto;
}

.container {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.container.checkout {
  justify-content: space-between;
}

.navbar-wrapper {
  grid-column-gap: 10px;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.nav-menu {
  grid-column-gap: 25px;
  border-left: 1px dashed #1b1a2733;
  border-right: 1px dashed #1b1a2733;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 854px;
  padding-top: 28px;
  padding-bottom: 28px;
  display: flex;
}

.nav-link {
  border-bottom: 1px solid var(--_colors-plates---transparent);
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--lg-body);
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  transition: all .35s;
}

.nav-link:hover {
  border-bottom-color: var(--_colors-plates---primary);
}

.nav-link.w--current {
  border-bottom-color: var(--_colors-plates---primary);
  color: var(--_colors-plates---primary);
}

.navbar-contact-wrapper {
  grid-column-gap: 15px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.navbar-contact-link-block {
  grid-column-gap: 10px;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.navbar-contact-icon-wrap {
  background-color: var(--_colors-plates---light-gray);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: flex;
}

.navbar-contact-icon-wrap.about-us {
  width: 48px;
  height: 48px;
}

.contact-icon.about {
  width: 100%;
  max-width: 24px;
}

.navbar-contact-title {
  color: var(--_colors-plates---primary);
  font-size: 11px;
  line-height: var(--_fonts---line-height--120);
  font-weight: var(--_fonts---font-weight--bold);
  margin-bottom: 4px;
}

.navbar-contact-title.about-us {
  font-size: var(--_typography---paragraphs--sm-body);
  margin-bottom: 2px;
}

.navbar-contact-number {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--md-body);
  line-height: 124%;
  font-weight: var(--_fonts---font-weight--bold);
}

.navbar-contact-number.about {
  font-size: var(--_typography---paragraphs--lg-body);
  line-height: var(--_fonts---line-height--150);
  letter-spacing: -.36px;
}

.section {
  padding-top: var(--section-gap);
  padding-bottom: var(--section-gap);
}

.section.banner {
  padding-top: 160px;
  padding-bottom: 110px;
}

.section.company-section {
  padding-top: var(--none);
  padding-bottom: var(--none);
}

.section.footer {
  background-color: var(--_colors-plates---primary);
  padding-top: 0;
  padding-bottom: 80px;
}

.section.blog {
  padding-top: var(--none);
}

.section.testimonial {
  padding-bottom: var(--none);
}

.section.services {
  background-color: var(--_colors-plates---primary);
}

.section.portfolio.mb0 {
  padding-bottom: var(--none);
}

.section.working-process {
  background-color: var(--_colors-plates---light-gray);
}

.section.about-us-banner {
  margin-top: 84px;
}

.section.why-chooses-us {
  padding-top: var(--none);
}

.section.awards {
  background-color: var(--_colors-plates---light-gray);
}

.section.inner-banner {
  margin-top: 84px;
}

.section.inner-banner.padding-bottom-none {
  padding-bottom: var(--none);
}

.section.team-members-main {
  padding-top: var(--none);
  padding-bottom: var(--none);
}

.section.team-members-details {
  padding-top: var(--section-gap-medium);
  padding-bottom: var(--none);
}

.section.benefit-section {
  padding-top: var(--none);
  padding-bottom: var(--none);
}

.section.faq {
  padding-bottom: var(--none);
}

.section.services-details, .section.portfolio-details {
  padding-top: var(--none);
  padding-bottom: var(--none);
}

.section.main-blog-section {
  padding-top: var(--none);
}

.section.contact-us {
  background-color: var(--_colors-plates---light-gray);
}

.section.authentication-section {
  margin-top: 84px;
}

.section.pricing-banner {
  padding-bottom: var(--section-gap-small);
  margin-top: 84px;
}

.section.pricing-section {
  padding-top: var(--none);
}

.section.pricing-section.padding-bottom-0px {
  padding-bottom: var(--none);
}

.section.pricing-table {
  background-color: var(--_colors-plates---light-gray);
}

.section.pricing-details {
  padding-bottom: var(--none);
}

.section.not-found {
  margin-top: 84px;
  padding-top: 230px;
  padding-bottom: 230px;
}

.section.protected-password, .section.utility-section, .section.blog-details {
  margin-top: 84px;
}

.section.checkout {
  background-color: #fff0;
  min-height: auto;
  padding: 0;
}

.section.services-tools {
  background-color: var(--_colors-plates---primary);
  padding-top: 24px;
  padding-bottom: 24px;
}

.banner-content {
  grid-column-gap: 10px;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.banner-typography {
  width: 100%;
  max-width: 600px;
}

.banner-subtitle-wrapper {
  background-color: var(--_colors-plates---light-gray);
  margin-bottom: 14px;
  padding: 3px 11px;
  display: inline-block;
}

.banner-subtitle {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--md-body);
  line-height: var(--_fonts---line-height--150);
  font-weight: 500;
}

.banner-title-description {
  margin-bottom: 45px;
}

.banner-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---title-xl);
  line-height: var(--_fonts---line-height--130);
  font-weight: var(--_fonts---font-weight--bold);
  letter-spacing: -1.2px;
  margin-bottom: 20px;
}

.banner-description-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--lg-body);
  line-height: var(--_fonts---line-height--150);
  width: 100%;
  max-width: 525px;
  font-weight: 500;
}

.primary-button-inner {
  grid-column-gap: 8px;
  background-color: var(--_colors-plates---primary);
  color: var(--_colors-plates---white);
  font-size: var(--_typography---paragraphs--buttons);
  border-radius: 5px;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  padding: 14px 24px;
  line-height: 150%;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}

.primary-button-inner:where(.w-variant-e542b707-47be-8374-03f0-de6722c5f865) {
  background-color: var(--_colors-plates---secondary);
}

.primary-button-inner:where(.w-variant-87a1fbc7-f066-f125-80d5-39847f18f3e6) {
  background-color: var(--_colors-plates---white);
}

.primary-button-inner:where(.w-variant-18107b95-5b17-bf38-8d64-9457a89d93cc) {
  border: 1px solid var(--_colors-plates---primary);
  background-color: var(--_colors-plates---transparent);
  color: var(--_colors-plates---primary);
}

.primary-button-inner.secondary {
  background-color: var(--_colors-plates---secondary);
  color: var(--_colors-plates---primary);
}

.primary-button-inner.add-to-cart-button {
  width: 100%;
  margin-top: 16px;
}

.primary-button-inner.password-form-button {
  width: 100%;
}

.primary-button-text-wrap {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.primary-button-text-block {
  z-index: 1;
  justify-content: flex-start;
  display: flex;
  position: relative;
}

.primary-button-text-block:where(.w-variant-87a1fbc7-f066-f125-80d5-39847f18f3e6), .primary-button-text-block:where(.w-variant-e542b707-47be-8374-03f0-de6722c5f865) {
  color: var(--_colors-plates---primary);
}

.primary-button-text-block.is-text-absolute {
  position: absolute;
}

.primary-button-text-block.secondary {
  color: var(--_colors-plates---primary);
}

.banner-button-wrapper {
  grid-column-gap: 24px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.banner-video-button {
  grid-column-gap: 10px;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.banner-video-button-wrap {
  border: 1px solid var(--_colors-plates---primary);
  border-radius: 100%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  display: flex;
}

.banner-video-button-text {
  color: var(--_colors-plates---primary);
}

.banner-image-wrapper {
  width: 100%;
  max-width: 631px;
  position: relative;
  overflow: hidden;
}

.banner-image {
  width: 100%;
}

.company-subtitle-wrapper {
  justify-content: center;
  align-items: center;
  display: flex;
}

.company-subtitle-line {
  background-color: #17171733;
  width: 100%;
  height: 1px;
}

.company-subtitle {
  background-color: var(--_colors-plates---light-gray);
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--sm-body);
  font-weight: var(--_fonts---font-weight--medium);
  border-radius: 100px;
  flex: none;
  padding: 5px 20px;
}

.sponsors-ticker-wrapper {
  background-image: url("../../images/backgrounds/sponsors-ticker-bg.png");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 60px;
  padding-bottom: 60px;
}

.sponsors-ticker {
  overflow: hidden;
}

.ticker {
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  min-height: 100%;
  display: flex;
}

.inner-ticker-wrapper {
  flex: none;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  min-height: 100%;
  max-height: 100%;
  display: flex;
}

.company-logo {
  margin-right: 48px;
}

.ticker-circle {
  background-color: var(--_colors-plates---gray);
  border-radius: 100%;
  width: 5px;
  height: 5px;
  margin-right: 48px;
}

.section-title-wrapper {
  text-align: center;
  margin-bottom: 60px;
}

.section-title {
  font-size: var(--_typography---titles--h1);
  line-height: var(--_fonts---line-height--150);
  letter-spacing: -.96px;
  margin-bottom: 12px;
  display: inline-block;
}

.section-title.mb0 {
  margin-bottom: 0;
}

.section-title.white {
  color: var(--_colors-plates---white);
}

.section-subtitle-wrap {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 12px;
  display: flex;
}

.section-subtitle-wrap.left-alignment {
  justify-content: center;
  align-items: flex-start;
}

.section-subtitle-single {
  grid-column-gap: 4px;
  background-color: var(--_colors-plates---light-gray);
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  padding: 4px 6px;
  display: flex;
}

.section-subtitle-single.gray-bg {
  background-color: #f6f6f61a;
}

.section-subtitle-single.white {
  background-color: var(--_colors-plates---white);
}

.section-subtitle {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--sm-body);
  line-height: var(--_fonts---line-height--100);
  font-weight: var(--_fonts---font-weight--medium);
}

.section-subtitle.white {
  color: var(--_colors-plates---white);
}

.section-description.about-us {
  width: 100%;
  max-width: 628px;
  margin-left: auto;
  margin-right: auto;
}

.section-description.white-color {
  color: var(--_colors-plates---light-gray);
}

.section-description.white-color.services {
  width: 100%;
  max-width: 628px;
  margin-left: auto;
  margin-right: auto;
}

.section-description.cms-technology-description {
  width: 100%;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

.section-description.benefit-description {
  color: var(--_colors-plates---light-gray);
}

.about-us-content {
  grid-column-gap: 10px;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.about-us-image-wrapper {
  width: 100%;
  max-width: 584px;
  position: relative;
  overflow: hidden;
}

.about-us-image {
  width: 100%;
}

.about-us-typography {
  grid-row-gap: 50px;
  flex-flow: column;
  width: 100%;
  max-width: 630px;
  display: flex;
}

.about-us-top-grid {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template-rows: auto;
}

.about-us-card {
  grid-column-gap: 20px;
  background-color: var(--_colors-plates---light-gray);
  border-radius: 14px;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 20px;
  display: flex;
}

.about-us-card-typography {
  width: 100%;
  max-width: 192px;
}

.about-us-card-counter-wrap {
  border-bottom: 1px dashed #1717171a;
  margin-bottom: 10px;
  padding-bottom: 15px;
}

.summery-counter-wrap {
  height: 40px;
  display: flex;
  overflow: hidden;
}

.single-counter-wrap {
  flex-direction: column;
  align-items: center;
  height: 100%;
  margin-right: 0;
  display: flex;
}

.single-counter-wrap._2 {
  justify-content: flex-end;
}

.number-digit {
  z-index: 1;
  color: var(--_colors-plates---primary);
  letter-spacing: -.8px;
  font-size: 40px;
  font-weight: 700;
  line-height: 100%;
  position: relative;
}

.about-us-bottom-content {
  grid-column-gap: 24px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer-form-wrapper {
  grid-column-gap: 10px;
  justify-content: space-between;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 80px;
  display: flex;
}

.footer-form-details-wrapper {
  width: 100%;
  max-width: 600px;
}

.footer-form-details-title {
  color: var(--_colors-plates---white);
  display: inline-block;
}

.footer-form-details-single {
  width: 100%;
  max-width: 660px;
}

.footer-form-block {
  margin-bottom: 0;
}

.footer-form {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer-form-input-filed {
  color: var(--_colors-plates---white);
  font-size: var(--_typography---titles--h5);
  letter-spacing: -.48px;
  background-color: #fff0;
  border: 1px #000;
  border-bottom: 1px solid #fff3;
  height: 68px;
  margin-bottom: 0;
  padding: 0;
  font-weight: 700;
}

.footer-form-input-filed:focus, .footer-form-input-filed:focus-visible, .footer-form-input-filed[data-wf-focus-visible] {
  border-style: solid;
  border-color: var(--_colors-plates---primary);
}

.footer-form-input-filed::placeholder {
  color: var(--_colors-plates---light-gray);
}

.footer-form-submit-button {
  background-color: #fff0;
  background-image: url("../../images/footer-form-submit-button-arrow.svg");
  background-position: 100%;
  background-repeat: no-repeat;
  background-size: auto;
  padding: 0 30px 0 0;
  transition: all .5s;
  position: absolute;
  inset: auto 0% auto auto;
}

.footer-form-submit-button:hover {
  transform: translate(-5px);
}

.footer-form-single {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.footer-menu-wrapper {
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 80px;
  display: flex;
}

.footer-menu-single.footer-information {
  width: 100%;
  max-width: 300px;
}

.footer-menu-title-wrapper {
  margin-bottom: 28px;
}

.footer-menu-title {
  color: var(--_colors-plates---light-gray);
}

.footer-menu-list-wrapper {
  grid-row-gap: 12px;
  flex-flow: column;
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
  display: flex;
}

.footer-menu-text-link {
  color: var(--_colors-plates---white);
  text-decoration: none;
  transition: all .3s;
}

.footer-menu-text-link:hover {
  color: var(--_colors-plates---secondary);
}

.footer-information-wrapper {
  grid-row-gap: 20px;
  flex-flow: column;
  display: flex;
}

.footer-information-single {
  grid-column-gap: 22px;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.footer-information-text {
  color: var(--_colors-plates---white);
}

.footer-information-text.location {
  max-width: 255px;
}

.footer-details-wrapper {
  border-top: 1px solid #fff3;
  justify-content: space-around;
  align-items: center;
  padding-top: 55px;
  padding-bottom: 55px;
}

.footer-details-content {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer-details-text {
  color: var(--_colors-plates---white);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
}

.footer-details-text-link {
  border-bottom: 1px solid var(--white\<deleted\|variable-177089b8\>);
  color: var(--_colors-plates---secondary);
  text-decoration: none;
}

.footer-social-media-wrapper {
  grid-column-gap: 16px;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer-social-media-title {
  color: var(--_colors-plates---white);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
  font-weight: 700;
}

.footer-social-media-icon {
  color: var(--_colors-plates---white);
  font-family: "Fa Brands 400", Arial, sans-serif;
  font-size: var(--_typography---paragraphs--md-body);
  text-decoration: none;
}

.footer-logo-wrapper {
  display: block;
}

.footer-logo-image {
  width: 100%;
}

.blog-section-title-wrapper {
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 60px;
  display: flex;
}

.blog-collection-list {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.blog-image-wrapper {
  border-radius: 12px;
  margin-bottom: 12px;
  display: block;
  overflow: hidden;
}

.blog-image {
  width: 100%;
}

.blog-typography {
  background-color: var(--_colors-plates---light-gray);
  border-radius: 12px;
  padding: 24px;
}

.blog-category-tag-date-wrapper {
  grid-column-gap: 16px;
  border-bottom: 1px dashed #171717;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 16px;
  display: flex;
}

.blog-category {
  background-color: var(--_colors-plates---white);
  color: var(--_colors-plates---primary);
  border-radius: 8px;
  padding: 8px 16px;
}

.blog-date-wrapper {
  grid-column-gap: 6px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.blog-date {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--sm-body);
  font-weight: 500;
  line-height: 120%;
}

.blog-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h5);
  letter-spacing: -.48px;
  margin-bottom: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: all .3s;
  display: block;
}

.blog-title:hover {
  color: var(--_colors-plates---secondary);
}

.blog-description-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
}

.cta-wrapper {
  background-image: url("../../images/backgrounds/cta-bg.jpg");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 14px;
  padding-top: 60px;
  padding-bottom: 60px;
}

.cta-typography {
  text-align: center;
  width: 100%;
  max-width: 775px;
  margin-left: auto;
  margin-right: auto;
}

.cta-title-wrapper {
  margin-bottom: 80px;
}

.cta-subtitle {
  color: var(--_colors-plates---white);
  margin-bottom: 10px;
  display: inline-block;
}

.cta-title {
  color: var(--_colors-plates---white);
  letter-spacing: -2.4px;
  font-size: 120px;
  line-height: 100%;
}

.testimonial-ticker {
  overflow: hidden;
}

.ticker-testimonial {
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  min-height: 100%;
  display: flex;
}

.testimonial-inner-ticker-wrapper {
  flex: none;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.testimonial-card {
  background-color: var(--_colors-plates---light-gray);
  border-radius: 20px;
  width: 520px;
  margin-right: 32px;
  padding: 32px;
}

.testimonial-card-review-wrapper {
  grid-column-gap: 5px;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 14px;
  display: flex;
}

.testimonial-card-review-icon {
  font-family: var(--_fonts---font-family--fa-icon);
}

.testimonial-card-description-wrapper {
  margin-bottom: 50px;
}

.testimonial-card-description-text {
  color: var(--_colors-plates---primary);
}

.testimonial-card-author-wrapper {
  grid-column-gap: 12px;
  border-top: 1px dashed #17171733;
  justify-content: flex-start;
  align-items: center;
  padding-top: 16px;
  display: flex;
}

.testimonial-card-author-image-wrapper {
  border: 1px solid #1717171a;
  border-radius: 100%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 80px;
  height: 80px;
  display: flex;
}

.testimonial-card-author-image {
  width: 100%;
  max-width: 70px;
}

.testimonial-card-author-name {
  margin-bottom: 2px;
  /* BrewdMinds: pin the font-size/letter-spacing this used to get for free
     from its <h6> tag's generated typography rule -- now that the tag is
     <h3> (matching its actual nesting under the section's own <h2>, see
     index.html), it would otherwise inherit <h3>'s much larger size. */
  font-size: 20px;
  letter-spacing: -0.4px;
}

.testimonial-card-author-bio {
  font-size: var(--_typography---paragraphs--sm-body);
}

.services-single {
  border-bottom: 1px solid #f6f6f633;
  padding-top: 32px;
  padding-bottom: 32px;
  padding-left: 24px;
  text-decoration: none;
  display: block;
  position: relative;
}

.services-single.last {
  border-bottom-style: none;
}

.services-name-wrapper {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.services-name-number-wrapper {
  grid-column-gap: 14px;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.services-number {
  color: #f6f6f999;
  font-size: var(--_typography---titles--h6);
  padding-top: 12px;
}

.services-name {
  color: var(--_colors-plates---light-gray);
  letter-spacing: -.96px;
  font-size: 48px;
}

.services-arrow-icon-wrapper {
  border: 1px solid var(--_colors-plates---gray);
  border-radius: 100px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 60px;
  height: 48px;
  display: flex;
}

.services-description-single {
  width: 100%;
  max-width: 700px;
  overflow: hidden;
}

.services-description-text {
  color: var(--_colors-plates---white);
  padding-top: 16px;
}

.services-image {
  opacity: 0;
  border-radius: 22px;
  width: 100%;
  max-width: 309px;
  display: none;
  position: absolute;
  inset: auto 255px -40px auto;
  transform: rotate(11.92deg);
}

.portfolio-content-vh {
  height: 250vh;
}

.portfolio-sticky {
  position: sticky;
  top: 100px;
}

.portfolio-ticker {
  overflow: hidden;
}

.portfolio-ticker-flex {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.portfolio-inner-ticker {
  flex: none;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.portfolio-card {
  width: 900px;
  margin-right: 24px;
}

.portfolio-thumbnail-wrapper {
  z-index: 1;
  border-radius: 20px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 18px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.portfolio-thumbnail {
  width: 100%;
}

.portfolio-view-button {
  border: 1px solid var(--_colors-plates---light-gray);
  border-radius: 100px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 90px;
  height: 90px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: absolute;
  inset: auto;
}

.portfolio-view-button-text {
  color: var(--_colors-plates---white);
}

.portfolio-category-date {
  z-index: 1;
  grid-column-gap: 10px;
  border-top: 1px solid var(--_colors-plates---white);
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 16px 24px;
  display: flex;
  position: absolute;
  inset: auto auto 0% 0%;
}

.portfolio-category-date-text {
  color: var(--_colors-plates---white);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
}

.portfolio-category-date-circle {
  background-color: var(--_colors-plates---white);
  border-radius: 100%;
  flex: none;
  width: 100%;
  max-width: 6px;
  height: 6px;
}

.portfolio-typography {
  grid-row-gap: 10px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
}

.work-name {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h5);
  letter-spacing: -.48px;
  font-weight: 700;
  text-decoration: none;
  display: block;
}

.work-mini-description {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
}

.working-process-content {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.working-process-typography {
  width: 100%;
  max-width: 405px;
  position: sticky;
  top: 120px;
}

.working-process-section-title {
  margin-bottom: 48px;
}

.working-process-card-wrapper {
  flex-flow: column;
  width: 100%;
  max-width: 610px;
  display: flex;
  overflow: hidden;
}

.working-process-card {
  background-color: var(--_colors-plates---white);
  border: 1px solid #1717171a;
  border-radius: 20px;
  padding: 20px 20px 32px 32px;
  position: relative;
}

.working-process-card._02 {
  z-index: 9;
}

.working-process-card._03 {
  z-index: 8;
}

.working-process-card-icon-number-wrapper {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
  display: flex;
}

.working-process-card-icon {
  width: 100%;
  max-width: 60px;
}

.working-process-card-number {
  color: #14141433;
  letter-spacing: -.96px;
  font-size: 48px;
  font-weight: 700;
  line-height: 150%;
}

.working-process-card-title {
  margin-bottom: 8px;
}

.working-process-card-description {
  color: var(--_colors-plates---gray);
}

.about-us-banner-typography {
  text-align: center;
  margin-bottom: 45px;
}

.about-us-banner-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--display-title);
  line-height: var(--_fonts---line-height--150);
  font-weight: var(--_fonts---font-weight--bold);
  letter-spacing: -2.4px;
}

.about-us-banner-description {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---titles--h4);
  line-height: var(--_fonts---line-height--150);
  font-weight: var(--_fonts---font-weight--bold);
  letter-spacing: -.56px;
}

.about-us-banner-title-description {
  margin-bottom: 36px;
}

.about-us-banner-button-wrapper {
  grid-column-gap: 24px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.about-us-banner-image-wrapper {
  border-radius: 20px;
  margin-bottom: 110px;
  position: relative;
  overflow: hidden;
}

.about-us-banner-image {
  width: 100%;
}

.about-us-banner-features-grid {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.why-chooses-us-content {
  justify-content: space-between;
  display: flex;
}

.why-chooses-us-image-wrapper {
  width: 100%;
  max-width: 600px;
  position: relative;
}

.why-chooses-us-image {
  width: 100%;
}

.why-chooses-us-typography {
  width: 100%;
  max-width: 630px;
}

.why-chooses-us-section-title-wrap {
  margin-bottom: 60px;
}

.why-chooses-us-typography-content {
  width: 100%;
  max-width: 610px;
  margin-bottom: 48px;
}

.why-chooses-us-typography-grid {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  grid-template-rows: auto;
}

.why-chooses-us-typography-single {
  border-top: 1px solid #4948524d;
  padding-top: 12px;
}

.why-chooses-us-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h6);
  line-height: var(--_fonts---line-height--150);
  font-weight: var(--_fonts---font-weight--bold);
  letter-spacing: -.4px;
  margin-bottom: 6px;
}

.why-chooses-us-description {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--lg-body);
  line-height: var(--_fonts---line-height--150);
  font-weight: 500;
}

.team-members-content {
  padding-bottom: 50px;
  overflow: hidden;
}

.team-members-slider {
  background-color: #fff0;
  width: 100%;
  height: 100%;
}

.team-member-mask {
  width: 100%;
  max-width: 410px;
  overflow: visible;
}

.team-member-single-slider {
  margin-right: 30px;
}

.team-member-slider-arrow {
  display: none;
}

.team-member-image-wrapper {
  border-radius: 20px;
  display: block;
  position: relative;
  overflow: hidden;
}

.team-member-image {
  width: 100%;
}

.team-member-typography {
  grid-row-gap: 2px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 16px;
  display: flex;
}

.team-member-name {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h5);
  letter-spacing: -.48px;
  font-weight: 700;
  text-decoration: none;
}

.team-member-bio {
  color: var(--_colors-plates---gray);
}

.team-member-social-media-wrapper {
  grid-column-gap: 8px;
  background-color: #0000004d;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0%;
}

.team-member-social-media-link-block {
  border: 1px solid var(--_colors-plates---light-gray);
  color: var(--_colors-plates---white);
  border-radius: 12px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 48px;
  height: 48px;
  font-family: "Fa Brands 400", Arial, sans-serif;
  font-size: 20px;
  text-decoration: none;
  display: flex;
}

.team-members-slider-nav {
  flex-flow: row;
  justify-content: center;
  align-items: center;
  display: flex;
  inset: auto 0 -50px;
}

.awards-tabs {
  grid-column-gap: 48px;
  grid-row-gap: 16px;
  grid-template: "Area"
  / 1fr 1.02941fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.awards-tabs-menu {
  flex-flow: column;
  display: flex;
}

.awards-tab-menu-link {
  border-bottom: 1px solid var(--_colors-plates---gray);
  background-color: #fff0;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16px 0;
}

.awards-tab-menu-link.w--current {
  background-color: var(--_colors-plates---gray);
  padding-left: 20px;
  padding-right: 20px;
}

.awards-tab-menu-content {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.awards-tab-menu-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--sm-body);
  display: inline-block;
}

.awards-tab-menu-flex {
  grid-column-gap: 30px;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.awards-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h5);
  letter-spacing: -.48px;
  font-weight: 700;
  line-height: 150%;
}

.awards-tabs-content {
  width: 100%;
  height: 460px;
  position: relative;
}

.awards-image-wrapper {
  border-radius: 24px;
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}

.awards-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.inner-banner-title {
  font-size: var(--_typography---titles--display-title);
  letter-spacing: -2.4px;
  margin-bottom: 12px;
}

.inner-banner-title.portfolio-details-title {
  letter-spacing: -1.6px;
  font-size: 80px;
}

.inner-banner-title.mb0 {
  margin-bottom: 0;
}

.inner-banner-description {
  font-size: var(--_typography---titles--h4);
  letter-spacing: -.56px;
  line-height: 150%;
}

.inner-banner-description.services-details-banner-description {
  color: var(--_colors-plates---primary);
}

.team-members-main-collection-list {
  grid-column-gap: 30px;
  grid-row-gap: 48px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.team-member-details-content {
  grid-row-gap: 80px;
  flex-flow: column;
  width: 100%;
  max-width: 1070px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.team-member-details-top-content {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.team-member-details-image-wrapper {
  border-radius: 20px;
  width: 100%;
  max-width: 410px;
  overflow: hidden;
}

.team-member-details-image {
  width: 100%;
}

.team-member-details-typography {
  width: 100%;
  max-width: 580px;
}

.team-member-details-name-bio {
  margin-bottom: 24px;
}

.team-member-details-name {
  margin-bottom: 12px;
}

.team-member-details-bio {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
  margin-bottom: 12px;
  font-weight: 700;
  line-height: 150%;
}

.team-member-details-description {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
}

.team-member-details-information-wrap {
  grid-row-gap: 24px;
  border-bottom: 1px solid var(--_colors-plates---gray);
  flex-flow: column;
  margin-bottom: 24px;
  padding-bottom: 24px;
  display: flex;
}

.team-member-details-information-single {
  grid-column-gap: 18px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.team-member-details-information-icon-wrap {
  background-color: #1414141a;
  border-radius: 100%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 48px;
  height: 48px;
  display: flex;
}

.team-member-details-information-text {
  color: var(--_colors-plates---gray);
  margin-bottom: 4px;
}

.team-member-details-information-details {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
  font-weight: 700;
  line-height: 150%;
}

.team-member-details-social-media-wrapper {
  grid-column-gap: 8px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.team-member-details-social-media-single {
  color: var(--_colors-plates---primary);
  font-family: "Fa Brands 400", Arial, sans-serif;
  font-size: var(--_typography---paragraphs--lg-body);
  border: 1px solid #14141433;
  border-radius: 8px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 40px;
  height: 40px;
  text-decoration: none;
  display: flex;
}

.team-member-details-rich-text h2 {
  margin-bottom: 16px;
}

.services-button-wrapper {
  grid-column-gap: 24px;
  justify-content: flex-start;
  align-items: center;
  margin-top: 12px;
  padding-top: 24px;
  display: flex;
}

.services-banner-image-wrapper {
  border-radius: 20px;
  margin-top: 48px;
  position: relative;
  overflow: hidden;
}

.services-banner-image {
  width: 100%;
}

.cms-technology-content {
  grid-row-gap: 20px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.cms-technology-top-card {
  grid-column-gap: 10px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 860px;
  display: flex;
}

.cms-technology-top-card-single {
  z-index: 1;
  background-color: var(--_colors-plates---light-gray);
  border: 1px solid #0000001a;
  border-radius: 100%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 200px;
  height: 200px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.cms-technology-logo.hover {
  z-index: -1;
  position: absolute;
}

.cms-technology-bottom-card {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 640px;
  display: flex;
}

.benefit-content {
  grid-column-gap: 75px;
  background-color: #222;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.benefit-image-wrapper {
  width: 100%;
  max-width: 736px;
}

.benefit-image {
  width: 100%;
}

.benefit-typography {
  width: 100%;
  max-width: 555px;
}

.benefit-section-title-description {
  padding-bottom: 48px;
}

.benefit-card-wrapper {
  grid-row-gap: 24px;
  flex-flow: column;
  width: 100%;
  max-width: 506px;
  display: flex;
}

.benefit-card-single {
  grid-column-gap: 20px;
  border-top: 1px solid #fff3;
  align-items: flex-start;
  padding-top: 24px;
  display: flex;
}

.benefit-card-title-description {
  width: 100%;
  max-width: 455px;
}

.benefit-card-title {
  color: var(--_colors-plates---white);
  font-size: var(--_typography---titles--h5);
  letter-spacing: -.48px;
  margin-bottom: 8px;
  font-weight: 700;
  line-height: 150%;
}

.benefit-card-description {
  color: var(--_colors-plates---light-gray);
}

.faq-content {
  grid-column-gap: 10px;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.faq-typography-card {
  grid-row-gap: 95px;
  background-color: var(--_colors-plates---light-gray);
  border-radius: 24px;
  flex-flow: column;
  width: 100%;
  max-width: 410px;
  padding: 40px;
  display: flex;
  position: sticky;
  top: 140px;
  box-shadow: inset 0 0 0 4px #00000005;
}

.faq-card-title-single {
  border-bottom: 1px solid var(--_colors-plates---gray);
  margin-bottom: 16px;
  padding-bottom: 16px;
}

.faq-card-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h4);
  letter-spacing: -.56px;
  font-weight: 700;
  line-height: 150%;
}

.faq-card-description {
  color: var(--_colors-plates---primary);
}

.faq-wrapper {
  width: 100%;
  max-width: 826px;
}

.faq-question {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.48px;
  font-weight: 700;
  line-height: 150%;
}

.faq-icon-wrapper {
  justify-content: center;
  align-items: center;
  display: flex;
}

.single-faq-accordion-wrap {
  background-color: var(--_colors-plates---light-gray);
  border: 1px #0000001a;
  border-bottom-style: solid;
  border-radius: 14px;
  padding: 24px 28px;
  text-decoration: none;
}

.single-faq-accordion-wrap.w--current {
  background-color: var(--_colors-plates---light-gray);
}

.core-values-accordion-answer-wrap {
  overflow: hidden;
}

.faq-icon {
  z-index: 1;
  position: relative;
}

.display-none {
  display: none;
}

.faq-accordion-question-wrap {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.faq-accordion-wrapper {
  grid-row-gap: 18px;
  flex-direction: column;
  display: flex;
}

.faq-answer {
  color: #5f7589;
  width: 100%;
  max-width: 100%;
  padding-top: 18px;
  font-size: 16px;
  line-height: 26px;
}

.faq-answer-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
  border-top: 1px solid #4948521a;
  width: 100%;
  max-width: 850px;
  padding-top: 12px;
  line-height: 150%;
}

.services-details-banner-image-wrapper {
  border-radius: 20px;
  margin-top: 45px;
  overflow: hidden;
}

.services-details-banner-image {
  width: 100%;
}

.services-details-content {
  width: 100%;
  max-width: 1070px;
  margin-left: auto;
  margin-right: auto;
}

.services-details-rich-content {
  margin-bottom: 70px;
}

.services-details-rich-content h2, .services-details-rich-content h5 {
  margin-bottom: 16px;
}

.services-details-rich-content li {
  color: var(--_colors-plates---gray);
  background-image: url("../../images/services-details-list-icon.svg");
  background-position: 0%;
  background-repeat: no-repeat;
  background-size: auto;
  padding-left: 30px;
}

.services-details-rich-content ul {
  margin-bottom: 24px;
  padding-left: 0;
  list-style-type: none;
  display: flex;
}

.services-details-rich-content figure {
  border-radius: 20px;
  margin-bottom: 0;
  overflow: hidden;
}

.services-details-rich-content p {
  margin-bottom: 45px;
}

.services-short-details-title {
  margin-bottom: 16px;
}

.services-short-details-description {
  width: 100%;
  max-width: 1065px;
}

.services-short-details-title-description {
  border-bottom: 1px solid var(--_colors-plates---gray);
  margin-bottom: 16px;
  padding-bottom: 16px;
}

.portfolio-information-wrapper {
  background-color: var(--_colors-plates---light-gray);
  border-radius: 12px;
  justify-content: space-between;
  margin-top: 48px;
  padding: 32px 48px;
  display: flex;
}

.portfolio-information-single {
  text-align: center;
}

.portfolio-information-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h5);
  letter-spacing: -.48px;
  margin-bottom: 10px;
  font-weight: 700;
  line-height: 150%;
}

.portfolio-information-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
  font-weight: 700;
  line-height: 150%;
}

.portfolio-information-line {
  background-color: var(--_colors-plates---gray);
  width: 1px;
  height: 78px;
}

.portfolio-details-content {
  width: 100%;
  max-width: 1070px;
  margin-left: auto;
  margin-right: auto;
}

.portfolio-details-image-wrapper {
  border-radius: 20px;
  overflow: hidden;
}

.portfolio-details-image {
  width: 100%;
}

.portfolio-details-rich-text h3 {
  margin-top: 50px;
  margin-bottom: 16px;
}

.portfolio-details-rich-text p {
  margin-bottom: 16px;
}

.portfolio-details-rich-text figure {
  border-radius: 20px;
  margin-top: 50px;
  margin-bottom: 50px;
  overflow: hidden;
}

.contact-us-content {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.contact-us-image-wrapper {
  border-radius: 20px;
  width: 100%;
  max-width: 585px;
  overflow: hidden;
}

.contact-us-image {
  width: 100%;
}

.contact-us-form-wrapper {
  width: 100%;
  max-width: 630px;
}

.contact-us-section-title-wrapper {
  border-bottom: 1px solid var(--_colors-plates---gray);
  margin-bottom: 24px;
  padding-bottom: 24px;
}

.contact-us-form-block {
  margin-bottom: 0;
}

.contact-us-form-wrap-main {
  grid-row-gap: 22px;
  flex-flow: column;
  display: flex;
}

.contact-us-form-flex {
  grid-column-gap: 30px;
  justify-content: space-between;
  display: flex;
}

.contact-us-form-single {
  width: 100%;
}

.contact-us-form-text-field {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--sm-body);
  margin-bottom: 10px;
  font-weight: 500;
  line-height: 150%;
}

.contact-us-form-input-field {
  background-color: var(--_colors-plates---white);
  color: #5b5e62;
  font-size: var(--_typography---paragraphs--sm-body);
  border: 1px solid #14141433;
  border-radius: 12px;
  height: 52px;
  margin-bottom: 0;
  padding: 18px;
}

.contact-us-form-input-field::placeholder {
  color: #5b5e62;
}

.contact-us-form-textarea {
  background-color: var(--_colors-plates---white);
  color: #5b5e62;
  font-size: var(--_typography---paragraphs--sm-body);
  border: 1px solid #14141433;
  border-radius: 12px;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  min-height: 195px;
  margin-bottom: 0;
  padding: 16px;
}

.contact-us-form-textarea::placeholder {
  color: #5b5e62;
}

.contact-us-form-submit-button {
  background-color: var(--_colors-plates---primary);
  color: var(--_colors-plates---white);
  border-radius: 5px;
  height: 55px;
  padding-left: 24px;
  padding-right: 24px;
}

.contact-us-details-grid {
  grid-column-gap: 30px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.contact-us-details-single {
  background-color: var(--_colors-plates---light-gray);
  border-radius: 20px;
  padding: 32px;
}

.contact-us-details-icon-wrapper {
  border-bottom: 1px solid var(--_colors-plates---gray);
  margin-bottom: 24px;
  padding-bottom: 24px;
}

.contact-us-details-icon-single {
  background-color: var(--_colors-plates---white);
  border-radius: 16px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 60px;
  height: 60px;
  display: flex;
}

.contact-us-details-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h5);
  letter-spacing: -.48px;
  margin-bottom: 8px;
  font-weight: 700;
  line-height: 150%;
}

.contact-us-details-text {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
  font-weight: 700;
  line-height: 150%;
}

.authentication-wrapper {
  background-color: var(--_colors-plates---light-gray);
  border-radius: 32px;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  display: flex;
}

.authentication-image-wrapper {
  border-radius: 20px;
  width: 100%;
  max-width: 602px;
  overflow: hidden;
}

.authentication-image {
  width: 100%;
}

.authentication-form-wrapper {
  width: 100%;
  max-width: 616px;
  padding: 30px 48px;
}

.authentication-typography {
  margin-bottom: 32px;
}

.authentication-title-wrapper {
  text-align: center;
  margin-bottom: 12px;
}

.authentication-title {
  display: inline-block;
}

.authentication-single-line {
  grid-column-gap: 12px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.authentication-line {
  background-color: #49485233;
  width: 100%;
  height: 1px;
}

.authentication-single-text {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--sm-body);
  flex: none;
}

.authentication-form-block {
  margin-bottom: 24px;
}

.authentication-form-wrap {
  grid-row-gap: 24px;
  flex-flow: column;
  display: flex;
}

.authentication-form-text-block {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--sm-body);
  margin-bottom: 10px;
  font-weight: 500;
}

.authentication-input-field {
  color: #5b5e62;
  font-size: var(--_typography---paragraphs--md-body);
  background-color: #fff0;
  border: 1px solid #0000001a;
  border-radius: 8px;
  height: 54px;
  margin-bottom: 0;
  padding-left: 46px;
  padding-right: 10px;
}

.authentication-input-field::placeholder {
  color: #5b5e62;
}

.authentication-input-field-wrapper {
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: relative;
}

.authentication-input-field-icon {
  position: absolute;
  inset: auto auto auto 20px;
}

.authentication-checkbox {
  border: 1px solid var(--_colors-plates---primary);
  border-radius: 100%;
  width: 15px;
  height: 15px;
  margin-top: 0;
  margin-right: 10px;
}

.authentication-checkbox.w--redirected-checked {
  background-color: var(--_colors-plates---secondary);
}

.authentication-checkbox-wrap {
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0;
  display: flex;
}

.authentication-checkbox-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--sm-body);
  margin-bottom: 0;
  font-weight: 500;
}

.authentication-form-submit-button {
  background-color: var(--_colors-plates---primary);
  color: var(--_colors-plates---white);
  border-radius: 5px;
  height: 55px;
}

.authentication-details-wrap {
  grid-row-gap: 2px;
  color: var(--_colors-plates---primary);
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.authentication-details-title {
  line-height: 150%;
}

.authentication-details-text-link {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--sm-body);
  line-height: 150%;
  text-decoration: none;
}

.pricing-typography {
  width: 100%;
  max-width: 855px;
  margin-left: auto;
  margin-right: auto;
}

.pricing-banner-title-description {
  text-align: center;
}

.pricing-banner-title {
  margin-bottom: 12px;
}

.pricing-grid {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.pricing-single-card {
  background-color: var(--_colors-plates---light-gray);
  border-radius: 16px;
  padding: 40px 48px;
}

.pricing-single-card.standard-plan {
  background-color: var(--_colors-plates---primary);
}

.pricing-tag {
  background-color: var(--_colors-plates---secondary);
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--sm-body);
  border-radius: 100px;
  padding: 8px 16px;
  line-height: 150%;
  display: inline-block;
}

.pricing-tag.standard-plan-tag {
  background-color: var(--_colors-plates---white);
}

.pricing-packages {
  grid-column-gap: 8px;
  justify-content: flex-start;
  align-items: center;
  padding-top: 24px;
  padding-bottom: 24px;
  display: flex;
}

.pricing-price {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h1);
  letter-spacing: -.96px;
  font-weight: 700;
  line-height: 150%;
}

.pricing-price.white-text {
  color: var(--_colors-plates---light-gray);
}

.pricing-price.details-price {
  font-size: var(--_typography---titles--h3);
}

.pricing-packages-name {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
  font-weight: 700;
  line-height: 150%;
}

.pricing-packages-name.white {
  color: var(--_colors-plates---light-gray);
}

.pricing-packages-description {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
  font-weight: 700;
  line-height: 150%;
}

.pricing-packages-description.standard-plan {
  color: var(--_colors-plates---light-gray);
}

.pricing-button-wrapper {
  padding-top: 32px;
  padding-bottom: 32px;
}

.pricing-features-list {
  grid-row-gap: 20px;
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
  display: flex;
}

.pricing-features-list-item {
  grid-column-gap: 10px;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.pricing-features-list-item-icon {
  margin-top: 5px;
}

.pricing-features-list-item-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
  line-height: 150%;
}

.pricing-features-list-item-text.standard-plan {
  color: var(--_colors-plates---light-gray);
}

.pricing-features-title-wrapper {
  margin-bottom: 28px;
}

.pricing-features-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h5);
  letter-spacing: -.48px;
  font-weight: 700;
  line-height: 150%;
  display: inline-block;
}

.pricing-features-title.standard-plan {
  color: var(--_colors-plates---light-gray);
}

.pricing-table-content {
  border: 1px solid #14141433;
  border-radius: 20px;
  overflow: hidden;
}

.pricing-table-flex {
  justify-content: space-between;
  display: flex;
}

.pricing-table-features-title-wrapper {
  border-right: 1px solid #4948521a;
  width: 100%;
  max-width: 410px;
}

.pricing-table-features-title-single {
  flex-flow: column;
  min-height: 200px;
  padding-left: 24px;
  padding-right: 24px;
  display: flex;
}

.pricing-table-top-content {
  background-color: #4948521a;
}

.pricing-table-features-title-blank {
  border-bottom: 1px dashed #4948524d;
  min-height: 80px;
}

.pricing-table-features-heading-short-text {
  padding-top: 13.5px;
  padding-bottom: 13.5px;
}

.pricing-table-features-heading {
  margin-bottom: 6px;
}

.pricing-table-features-short-text {
  color: var(--_colors-plates---primary);
}

.pricing-table-features-title-content {
  width: 100%;
  max-width: 877px;
}

.pricing-table-features-grid {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.pricing-table-features-header {
  min-height: 200px;
  padding-left: 24px;
  padding-right: 24px;
}

.pricing-table-features-header.standard-plan {
  border-left: 1px solid #4948521a;
  border-right: 1px solid #4948521a;
}

.pricing-table-name-wrap {
  border-bottom: 1px dashed #4948524d;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  min-height: 80px;
  display: flex;
}

.pricing-table-packages {
  grid-row-gap: 6px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-top: 13.5px;
  padding-bottom: 13.5px;
  display: flex;
}

.pricing-table-price {
  line-height: 150%;
}

.pricing-table-packages-name {
  color: var(--_colors-plates---primary);
  line-height: 150%;
}

.pricing-table-features-title-list {
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}

.pricing-table-features-title-list-item {
  border-bottom: 1px solid #1414141a;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 70px;
  padding-left: 24px;
  padding-right: 24px;
  display: flex;
}

.pricing-table-features-title-list-item.last {
  border-bottom-style: none;
}

.pricing-table-features-title {
  color: var(--_colors-plates---primary);
  font-weight: 500;
  line-height: 150%;
}

.pricing-table-features-list-wrapper.standard-plan {
  border-left: 1px solid #4948521a;
  border-right: 1px solid #4948521a;
}

.pricing-table-features-list {
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}

.pricing-table-features-list-item {
  border-bottom: 1px solid #1414141a;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  min-height: 70px;
  display: flex;
}

.pricing-table-features-list-item.last {
  border-bottom-style: none;
}

.pricing-details-flex {
  grid-column-gap: 16px;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.pricing-details-card {
  background-color: var(--_colors-plates---light-gray);
  border-radius: 16px;
  width: 100%;
  max-width: 410px;
  padding: 40px 48px;
  position: sticky;
  top: 140px;
}

.plan-add-to-cart {
  margin-top: 32px;
}

.plan-add-to-cart-seleect-field-wrap {
  background-color: var(--_colors-plates---white);
  border-radius: 5px;
  padding-left: 0;
  padding-right: 12px;
}

.plan-add-to-cart-seleect-field {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
  background-color: #fff0;
  border: 1px #000;
  height: 55px;
  margin-bottom: 0;
  padding: 0 12px;
}

.pricing-details-rich-content {
  grid-row-gap: 60px;
  flex-flow: column;
  width: 100%;
  max-width: 805px;
  display: flex;
}

.pricing-details-about-rich-content h3 {
  margin-bottom: 16px;
}

.pricing-details-about-rich-content p {
  color: var(--_colors-plates---gray);
}

.not-found-content {
  width: 100%;
  max-width: 858px;
  margin-left: auto;
  margin-right: auto;
}

.not-found-image-wrapper {
  text-align: center;
  margin-bottom: 30px;
}

.not-found-image {
  width: 100%;
}

.not-found-typography {
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.not-found-title {
  margin-bottom: 20px;
}

.not-found-description {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
  font-weight: 700;
  line-height: 150%;
}

.not-found-button-wrapper {
  margin-top: 24px;
}

.protected-password-wrapper {
  background-color: var(--_colors-plates---light-gray);
  border-radius: 32px;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  display: flex;
}

.protected-password-image-wrap {
  border-radius: 20px;
  width: 100%;
  max-width: 602px;
  overflow: hidden;
}

.protected-password-image {
  width: 100%;
}

.protected-password-form-single {
  width: 100%;
  max-width: 616px;
}

.protected-password-form-single-wrap {
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

.password-form-text-field {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--sm-body);
  margin-bottom: 10px;
  font-weight: 500;
}

.password-form-input-field {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
  background-color: #fff0;
  border: 1px solid #0000001a;
  border-radius: 8px;
  min-height: 56px;
  margin-bottom: 0;
  padding-left: 46px;
  padding-right: 46px;
}

.password-form-input-field-wrapper {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 24px;
  display: flex;
  position: relative;
}

.password-form-input-field-icon {
  position: absolute;
  inset: auto auto auto 20px;
}

.protected-password-text-link-wrapper {
  text-align: center;
  margin-top: 32px;
}

.protected-password-text-link {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--sm-body);
  text-decoration: none;
}

.utility-wrapper {
  grid-column-gap: 20px;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.utility-link-card-wrap {
  grid-row-gap: 16px;
  flex-flow: column;
  width: 100%;
  max-width: 300px;
  display: flex;
  position: sticky;
  top: 140px;
}

.utility-link-block {
  grid-column-gap: 10px;
  background-color: var(--_colors-plates---light-gray);
  color: var(--_colors-plates---primary);
  border: 1px solid #49485233;
  border-radius: 14px;
  justify-content: flex-start;
  align-items: center;
  padding: 20px;
  font-weight: 700;
  text-decoration: none;
  display: flex;
}

.utility-link-block.w--current {
  background-color: var(--_colors-plates---primary);
  color: var(--_colors-plates---white);
}

.utility-content {
  width: 100%;
  max-width: 925px;
}

.utility-main-content {
  grid-row-gap: 48px;
  flex-flow: column;
  display: flex;
}

.utility-title-description {
  border-bottom: 1px solid #0000001a;
  padding-bottom: 24px;
}

.utility-title {
  margin-bottom: 10px;
}

.utility-description {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---titles--h6);
  font-weight: 700;
  line-height: 150%;
}

.style-guide-card {
  background-color: #f0f0f3;
  border-radius: 20px;
  padding: 20px 30px;
}

.style-guide-card-title-wrapper {
  border-bottom: 1px solid #0000001a;
  margin-bottom: 22px;
  padding-bottom: 22px;
}

.style-guide-color-palette {
  width: 100%;
  max-width: 676px;
}

.style-guide-color-palette-grid {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.style-guide-color-palette-single {
  border-radius: 10px;
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  height: 165px;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-right: 16px;
  display: flex;
  position: relative;
}

.style-guide-color-palette-single.one {
  background-color: var(--_colors-plates---primary);
}

.style-guide-color-palette-single.secondary {
  background-color: var(--_colors-plates---secondary);
}

.style-guide-color-palette-single.gray {
  background-color: var(--_colors-plates---gray);
}

.style-guide-color-palette-single.white {
  background-color: var(--_colors-plates---white);
}

.style-guide-color-palette-single.light-gray {
  background-color: var(--_colors-plates---light-gray);
}

.style-guide-color-palette-code {
  color: var(--_colors-plates---white);
  font-size: var(--_typography---paragraphs--sm-body);
  font-weight: 500;
  position: absolute;
  inset: auto auto 30px 0;
  transform: rotate(-90deg);
}

.style-guide-color-palette-code.secondary {
  color: var(--_colors-plates---primary);
  bottom: 41px;
  left: -10px;
}

.style-guide-color-palette-code.gray {
  bottom: 24px;
  left: 5px;
}

.style-guide-color-palette-code.white {
  color: var(--_colors-plates---primary);
  bottom: 24px;
  left: 5px;
}

.style-guide-color-palette-code.light-gray {
  color: var(--_colors-plates---primary);
  bottom: 35px;
  left: -5px;
}

.style-guide-typography {
  grid-row-gap: 22px;
  flex-flow: column;
  display: flex;
}

.style-guide-typography-single {
  grid-row-gap: 4px;
  flex-flow: column;
  display: flex;
}

.style-guide-typography-text {
  color: var(--_colors-plates---gray);
}

.style-guide-button-wrapper {
  grid-column-gap: 22px;
  display: flex;
}

.utility-link-block-text {
  font-size: var(--_typography---titles--h5);
  line-height: 150%;
  font-weight: var(--_fonts---font-weight--bold);
}

.instructions-card {
  background-color: #eee;
  border-radius: 20px;
  padding: 20px 30px;
}

.instructions-card-title-wrapper {
  border-bottom: 1px solid #0000001a;
  margin-bottom: 22px;
  padding-bottom: 22px;
}

.instructions-card-typography {
  grid-row-gap: 22px;
  flex-flow: column;
  display: flex;
}

.instructions-card-text {
  color: var(--_colors-plates---gray);
}

.instructions-card-list {
  grid-row-gap: 20px;
  flex-flow: column;
  margin-bottom: 0;
  padding-left: 30px;
  display: flex;
}

.instructions-card-list-item-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--lg-body);
  line-height: 150%;
}

.fonts-title {
  color: var(--_colors-plates---gray);
  margin-bottom: 10px;
}

.fonts-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
}

.fonts-text-link {
  color: var(--_colors-plates---gray);
  text-decoration: none;
}

.licenses-card {
  background-color: #eee;
  border-radius: 20px;
  padding: 20px 30px;
}

.licenses-card-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h4);
  letter-spacing: -.56px;
  font-weight: 700;
  line-height: 150%;
}

.licenses-card-title-wrapper {
  border-bottom: 1px solid #0000001a;
  margin-bottom: 22px;
  padding-bottom: 22px;
}

.licenses-image-card {
  grid-row-gap: 22px;
  flex-flow: column;
  display: flex;
}

.licenses-image-card-title {
  color: var(--_colors-plates---gray);
  margin-bottom: 10px;
}

.licenses-image-card-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
}

.licenses-image-card-text-link {
  color: var(--_colors-plates---gray);
  text-decoration: none;
}

.licenses-icons-card-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
}

.licenses-icons-card-text-link {
  color: var(--_colors-plates---gray);
  text-decoration: none;
}

.changelog-card {
  background-color: #eee;
  border-radius: 20px;
  padding: 20px 30px;
}

.changelog-card-title-wrap {
  border-bottom: 1px solid #0000001a;
  margin-bottom: 22px;
  padding-bottom: 22px;
}

.changelog-card-details-date {
  margin-bottom: 10px;
}

.changelog-card-details-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
  font-weight: 400;
}

.blog-details-typography {
  padding-bottom: 60px;
}

.blog-details-title {
  margin-bottom: 20px;
}

.blog-details-description {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---titles--h4);
  letter-spacing: -.56px;
  font-weight: 700;
  line-height: 150%;
}

.blog-details-social-media-wrapper {
  grid-column-gap: 16px;
  border-top: 1px solid var(--_colors-plates---gray);
  justify-content: flex-start;
  align-items: center;
  padding-top: 20px;
  display: flex;
}

.blog-details-social-media-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
  font-weight: 700;
  line-height: 150%;
}

.blog-details-social-media-single {
  grid-column-gap: 18px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.blog-details-social-media-icon {
  color: var(--_colors-plates---gray);
  font-family: "Fa Brands 400", Arial, sans-serif;
  font-size: var(--_typography---paragraphs--lg-body);
  text-decoration: none;
}

.blog-details-title-description {
  padding-bottom: 20px;
}

.blog-details-image-wrapper {
  border-radius: 20px;
  margin-bottom: 48px;
  overflow: hidden;
}

.blog-details-image {
  width: 100%;
}

.blog-details-author-wrapper {
  border-bottom: 1px solid var(--_colors-plates---gray);
  justify-content: space-between;
  align-items: center;
  margin-bottom: 48px;
  padding-bottom: 48px;
  display: flex;
}

.blog-details-author-single {
  grid-column-gap: 8px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.blog-details-author-image {
  width: 100%;
  max-width: 64px;
}

.blog-details-author-title {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--sm-body);
  margin-bottom: 4px;
  line-height: 150%;
}

.blog-details-author-name {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h6);
  letter-spacing: -.4px;
  font-weight: 700;
  line-height: 150%;
}

.blog-details-author-date-read-time {
  grid-column-gap: 20px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.blog-details-author-date-read-time-single {
  grid-column-gap: 8px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.blog-details-author-date-read-time-text {
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--md-body);
  line-height: 150%;
}

.blog-details-rich-text h2 {
  margin-bottom: 24px;
}

.blog-details-rich-text p {
  margin-bottom: 20px;
}

.blog-details-rich-text ul {
  grid-row-gap: 15px;
  margin-top: 45px;
  margin-bottom: 45px;
  display: flex;
}

.blog-details-rich-text strong {
  color: var(--_colors-plates---primary);
}

.blog-details-rich-text figure {
  border-radius: 20px;
  margin-top: 40px;
  margin-bottom: 40px;
  overflow: hidden;
}

.blog-details-rich-text blockquote {
  background-color: var(--_colors-plates---primary);
  color: var(--_colors-plates---white);
  letter-spacing: -.8px;
  background-image: url("../../images/backgrounds/rich-quote-bg.jpg");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  border-left-style: none;
  border-radius: 20px;
  margin-top: 48px;
  margin-bottom: 48px;
  padding: 48px 48px 48px 156px;
  font-size: 40px;
  font-weight: 700;
  line-height: 150%;
}

.checkout-wrap {
  flex: 0 auto;
  width: 70%;
}

.checkout-sticky {
  flex: 0 auto;
  width: 30%;
  top: 140px;
}

.checkout-header {
  background-color: var(--_colors-plates---white);
  border-color: #14141433;
  border-radius: 12px;
  margin-bottom: 16px;
  padding: 16px;
}

.checkout-title {
  font-size: 30px;
  font-weight: 700;
}

.checkout-content {
  border: 1px solid #14141433;
  border-radius: 12px;
  padding: 16px;
}

.checkout-input-field {
  background-color: var(--_colors-plates---white);
  border-color: #14141433;
  border-radius: 12px;
  height: 48px;
}

.working-process-card-single {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  justify-content: flex-start;
  display: flex;
}

.services-tools-ticker {
  overflow: hidden;
}

.services-tools-ticker-inner {
  flex: none;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.services-tools-single {
  justify-content: flex-start;
  align-items: center;
  margin-right: 20px;
  display: flex;
}

.services-tools-name-wrap {
  border: 1px solid #f6f6f633;
  border-radius: 100px;
  padding: 14px 28px;
}

.services-tools-name {
  color: var(--_colors-plates---white);
  font-size: var(--_typography---titles--h6);
  font-weight: 700;
  line-height: 150%;
}

.services-tools-arrow {
  border: 1px solid #f6f6f633;
  border-radius: 100%;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  display: flex;
}

.services-tools-element {
  margin-right: 20px;
}

.menu-dropdown-wrapper {
  margin-left: 0;
  margin-right: 0;
}

.dropdown-column-wrapper {
  background-color: #0000;
  width: 620px;
  padding-top: 20px;
  overflow: hidden;
  transform: translate(-50%);
}

.dropdown-title-wrapper {
  margin-bottom: 25px;
}

.dropdown-menu-text-link-text {
  grid-column-gap: 10px;
  border-bottom: 1px solid var(--_colors-plates---transparent);
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--lg-body);
  align-items: center;
  margin-bottom: 10px;
  line-height: 150%;
  text-decoration: none;
  transition: all .3s;
  display: flex;
}

.dropdown-menu-text-link-text:hover, .dropdown-menu-text-link-text.w--current {
  border-bottom-color: var(--_colors-plates---primary);
}

.dropdown-menu-text-link-text.mb0 {
  margin-bottom: 0;
}

.dropdown-menu-wrapper {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.dropdown-grid {
  grid-column-gap: 10px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.dropdown-toggle {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---paragraphs--lg-body);
  align-items: center;
  padding: 0;
  display: flex;
}

.dropdown-title {
  color: var(--_colors-plates---primary);
  margin-top: 0;
  margin-bottom: 0;
  line-height: 28px;
}

.dropdown-pd {
  background-color: var(--_colors-plates---white);
  border: 1px solid #0000001a;
  border-radius: 10px;
  padding: 30px 20px;
  position: relative;
}

.dropdown-toggle-arrow {
  margin-left: 5px;
  font-family: "Fa Solid 900", Arial, sans-serif;
  font-size: 13px;
}

.cart-item {
  grid-column-gap: 10px;
  justify-content: flex-start;
  align-items: center;
  padding-top: 28px;
  padding-bottom: 0;
}

.cart-quantity-wrap {
  grid-column-gap: 2px;
  color: #fff;
  justify-content: center;
  align-items: center;
  display: flex;
}

.cart-close-button-icon {
  width: 20px;
}

.cart-header-title {
  line-height: 100%;
}

.cart-footer-subtotal-title {
  color: var(--_colors-plates---primary);
  font-size: 24px;
}

.cart-header {
  border-bottom-color: #00000014;
  padding: 24px 0;
}

.cart-remove-button {
  color: var(--_colors-plates---secondary);
  text-decoration: underline;
}

.cart-name {
  color: var(--_colors-plates---primary);
  margin-bottom: 12px;
  font-size: 24px;
  font-weight: 500;
  line-height: 100%;
}

.cart-price {
  color: var(--_colors-plates---gray);
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 100%;
}

.cart-container {
  background-color: var(--_colors-plates---white);
  box-shadow: none;
  border: 1px solid #00000014;
  border-radius: 8px;
  min-width: 526px;
  max-width: 526px;
  padding-left: 24px;
  padding-right: 24px;
}

.cart-quantity {
  color: var(--_colors-plates---primary);
  background-color: #fff0;
  border-radius: 0;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  min-width: auto;
  height: auto;
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 100%;
}

.navbar-cart-quantity {
  background-color: #fff0;
  border-style: none;
  width: 60px;
  height: auto;
  margin-bottom: 0;
  padding: 4px 6px;
}

.navbar-cart-button {
  background-color: #fff0;
  justify-content: center;
  align-items: center;
  padding: 0;
  position: relative;
}

.cart-footer-price {
  color: var(--_colors-plates---primary);
  font-size: 24px;
  font-weight: 400;
}

.cart-wrapper {
  background-color: #05040b99;
}

.cart-image {
  display: none;
}

.navbar-cart-quantity-wrap {
  grid-column-gap: 2px;
  color: #3c3d42;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 8px;
  font-size: 16px;
  display: flex;
}

.cart-pack-text {
  color: var(--_colors-plates---gray);
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 100%;
}

.primary-button-2 {
  color: #fef9ef;
  text-transform: capitalize;
  background-color: #c2714d;
  border-radius: 100px;
  padding: 5px 5px 5px 25px;
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
  display: block;
  overflow: hidden;
}

.cart-close-button {
  cursor: pointer;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  display: flex;
}

.navbar-cart-icon-wrap {
  grid-column-gap: 5px;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.cart-div {
  margin-left: 0;
  margin-right: 0;
}

.cart-line-item {
  margin-bottom: 20px;
}

.cart-footer {
  border-top-color: #00000014;
  padding: 28px 0;
}

.cart-list {
  padding: 0 0 28px;
}

.navbar-cart-name {
  color: var(--_colors-plates---primary);
  font-size: 16px;
}

.success-message {
  background-color: var(--_colors-plates---secondary);
  color: var(--_colors-plates---white);
}

.image-overlay {
  z-index: 2;
  justify-content: center;
  display: none;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.image-overlay-left {
  background-color: var(--_colors-plates---white);
  align-self: flex-start;
  width: 50%;
  height: 100%;
}

.image-overlay-right {
  background-color: var(--_colors-plates---white);
  align-self: flex-end;
  width: 50%;
  height: 100%;
}

.cms-technology-hover-bg {
  z-index: -2;
  background-color: var(--_colors-plates---primary);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
  transform: scale(0);
}

.scroll-image-overlay-wrap {
  display: block;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.scroll-image-overlay-top, .scroll-image-overlay-bottom {
  background-color: var(--_colors-plates---white);
  width: 100%;
  height: 50%;
}

.primary-button {
  display: inline-block;
}

.portfolio-thumbnail-overlay {
  z-index: 0;
  background-color: #14141433;
  position: absolute;
  inset: 0%;
}

.pricing-table-name {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h5);
  letter-spacing: -.48px;
  font-weight: 700;
  line-height: 150%;
}

.changelog-heading {
  color: var(--_colors-plates---primary);
  font-size: var(--_typography---titles--h4);
  letter-spacing: -.56px;
  font-weight: 700;
  line-height: 150%;
}

.resource-dropdown-content-wrap {
  background-color: var(--_colors-plates---white);
  border: 1px solid #0000001a;
  border-radius: 1.25rem;
  padding: 1.25rem;
}

.single-nav-link {
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

.resource-dropdown-wrap {
  background-color: #0000;
  width: 20rem;
  padding-top: 1.25rem;
  left: -4rem;
  overflow: hidden;
}

@media screen and (min-width: 1280px) {
  .blog-collection-list {
    grid-column-gap: 30px;
    grid-row-gap: 30px;
  }
}

@media screen and (max-width: 991px) {
  body {
    --_typography---paragraphs--lg-body: 17px;
    --_typography---titles--h1: 48px;
    --_typography---titles--h2: 40px;
    --_typography---titles--h3: 33px;
    --_typography---titles--h4: 28px;
    --_typography---titles--h5: 24px;
    --_typography---titles--h6: 20px;
    --_typography---paragraphs--sm-body: 14px;
    --_typography---paragraphs--md-body: 16px;
    --_typography---title-xl: 60px;
    --_typography---paragraphs--buttons: 18px;
    --_typography---titles--display-title: 72px;
    --section-gap: 100px;
    --none: 0px;
    --section-gap-medium: 80px;
    --section-gap-small: 60px;
    --white\<deleted\|variable-177089b8\>: white;
  }

  .navbar {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .container.checkout {
    flex-flow: column;
  }

  .nav-menu {
    background-color: var(--_colors-plates---primary);
    border-left-style: none;
    border-right-style: none;
    width: auto;
    max-width: none;
    max-height: 90vh;
    padding: 20px;
    overflow: auto;
  }

  .nav-link {
    color: var(--_colors-plates---white);
    border-bottom-style: none;
    margin-bottom: 10px;
  }

  .nav-link.w--current {
    color: var(--_colors-plates---white);
  }

  .navbar-contact-wrapper {
    display: flex;
  }

  .navbar-contact-link-block {
    display: none;
  }

  .section.banner {
    padding-bottom: 100px;
  }

  .section.about-us {
    padding-top: 80px;
  }

  .section.footer {
    padding-bottom: 60px;
  }

  .section.working-process {
    padding-bottom: 100px;
  }

  .section.about-us-banner {
    margin-top: 79px;
  }

  .section.inner-banner {
    margin-top: 80px;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .section.team-members-details {
    padding-top: var(--none);
  }

  .section.authentication-section {
    margin-top: 80px;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .section.pricing-banner {
    margin-top: 80px;
  }

  .section.pricing-details {
    padding-top: 0;
  }

  .section.not-found, .section.protected-password {
    margin-top: 82px;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .section.utility-section {
    margin-top: 79px;
  }

  .section.blog-details {
    margin-top: 82px;
  }

  .section.services-tools {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .banner-content {
    grid-row-gap: 40px;
    flex-flow: column;
  }

  .banner-typography {
    text-align: center;
    max-width: 700px;
  }

  .banner-title-description {
    margin-bottom: 24px;
  }

  .banner-title {
    margin-bottom: 16px;
    font-size: 56px;
    line-height: 120%;
  }

  .banner-description-text {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .primary-button-inner {
    padding-top: 13px;
    padding-bottom: 13px;
    font-weight: 400;
  }

  .banner-button-wrapper {
    justify-content: center;
    align-items: center;
  }

  .banner-image-wrapper {
    max-width: 100%;
  }

  .sponsors-ticker-wrapper {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .company-logo, .ticker-circle {
    margin-right: 30px;
  }

  .section-title-wrapper {
    margin-bottom: 50px;
  }

  .section-title {
    font-size: var(--_typography---titles--h2);
  }

  .section-subtitle-wrap.left-alignment {
    justify-content: center;
    align-items: center;
  }

  .about-us-content {
    grid-row-gap: 40px;
    flex-flow: column;
  }

  .about-us-image-wrapper, .about-us-typography {
    max-width: 100%;
  }

  .about-us-top-grid {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
  }

  .about-us-card {
    grid-column-gap: 16px;
  }

  .footer-form-wrapper {
    grid-row-gap: 20px;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 60px;
  }

  .footer-form-details-wrapper {
    max-width: 100%;
  }

  .footer-form-details-title {
    letter-spacing: -.2px;
  }

  .footer-form-details-single {
    max-width: 100%;
  }

  .footer-form-input-filed {
    color: var(--_colors-plates---gray);
  }

  .footer-menu-wrapper {
    grid-column-gap: 10px;
    grid-row-gap: 20px;
    flex-flow: wrap;
    padding-bottom: 60px;
  }

  .footer-menu-single.footer-information {
    max-width: 235px;
  }

  .footer-menu-title-wrapper {
    margin-bottom: 24px;
  }

  .footer-menu-list-wrapper {
    grid-row-gap: 10px;
  }

  .footer-information-wrapper {
    grid-row-gap: 8px;
  }

  .footer-information-single {
    grid-column-gap: 10px;
  }

  .footer-information-icon-wrap {
    flex: none;
  }

  .footer-information-icon {
    width: 100%;
    max-width: 18px;
  }

  .blog-section-title-wrapper {
    grid-row-gap: 16px;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 50px;
  }

  .blog-collection-list {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-columns: 1fr 1fr;
  }

  .blog-image-wrapper {
    border-radius: 10px;
  }

  .blog-typography {
    border-radius: 10px;
    padding: 16px;
  }

  .blog-category {
    line-height: 100%;
  }

  .blog-title {
    line-height: 150%;
  }

  .cta-wrapper {
    background-size: cover;
    background-attachment: scroll;
    padding: 50px 15px;
  }

  .cta-title-wrapper {
    margin-bottom: 30px;
  }

  .cta-title {
    letter-spacing: -.8px;
    font-size: 86px;
  }

  .testimonial-inner-ticker-wrapper {
    align-items: stretch;
  }

  .testimonial-card {
    flex-flow: column;
    justify-content: space-between;
    width: 470px;
    margin-right: 20px;
    padding: 20px;
    display: flex;
  }

  .testimonial-card-description-wrapper {
    margin-bottom: 30px;
  }

  .services-single {
    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 10px;
  }

  .services-single.last {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .services-single._1st {
    padding-top: 0;
  }

  .services-name-number-wrapper {
    justify-content: flex-start;
    align-items: center;
  }

  .services-number {
    padding-top: 0;
  }

  .services-name {
    letter-spacing: -.2px;
    font-size: 38px;
    line-height: 140%;
  }

  .services-arrow-icon-wrapper {
    max-width: 48px;
    height: 40px;
  }

  .services-arrow-icon {
    width: 100%;
    max-width: 12px;
  }

  .services-description-single {
    max-width: 100%;
  }

  .portfolio-content-vh {
    height: auto;
  }

  .portfolio-sticky {
    position: static;
  }

  .portfolio-ticker-flex {
    padding-left: 15px;
    padding-right: 15px;
  }

  .portfolio-inner-ticker {
    grid-column-gap: 10px;
    grid-row-gap: 30px;
    flex: 0 auto;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .portfolio-card {
    width: auto;
    margin-right: 0;
  }

  .portfolio-thumbnail-wrapper {
    border-radius: 12px;
    margin-bottom: 10px;
  }

  .portfolio-view-button {
    max-width: 70px;
    height: 70px;
  }

  .portfolio-category-date {
    padding: 10px;
  }

  .portfolio-category-date-text {
    letter-spacing: -.1px;
    font-size: 16px;
  }

  .portfolio-typography {
    grid-row-gap: 8px;
    padding-left: 0;
    padding-right: 0;
  }

  .work-name {
    font-size: 22px;
  }

  .working-process-content {
    grid-row-gap: 40px;
    flex-flow: column;
  }

  .working-process-typography {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    position: static;
  }

  .working-process-section-title {
    margin-bottom: 20px;
  }

  .working-process-card-wrapper {
    max-width: 100%;
  }

  .about-us-banner-typography {
    margin-bottom: 40px;
  }

  .about-us-banner-title {
    font-size: 90px;
    line-height: 120%;
  }

  .about-us-banner-description {
    font-size: 22px;
  }

  .about-us-banner-title-description {
    margin-bottom: 30px;
  }

  .about-us-banner-image-wrapper {
    margin-bottom: 40px;
  }

  .about-us-banner-features-grid {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-columns: 1fr 1fr;
  }

  .why-chooses-us-content {
    grid-row-gap: 30px;
    flex-flow: column;
  }

  .why-chooses-us-image-wrapper {
    max-width: 100%;
  }

  .why-chooses-us-image {
    width: 100%;
  }

  .why-chooses-us-typography {
    order: -1;
    max-width: 100%;
  }

  .why-chooses-us-section-title-wrap {
    text-align: center;
    margin-bottom: 50px;
  }

  .why-chooses-us-typography-content {
    max-width: 100%;
  }

  .why-chooses-us-typography-grid {
    grid-column-gap: 60px;
    grid-row-gap: 20px;
  }

  .team-member-mask {
    max-width: 358px;
  }

  .team-member-single-slider {
    margin-right: 20px;
  }

  .team-member-typography {
    padding: 10px;
  }

  .awards-tabs {
    flex-flow: column;
    display: flex;
  }

  .awards-tabs-menu {
    margin-bottom: 30px;
  }

  .awards-tab-menu-flex {
    grid-column-gap: 16px;
  }

  .inner-banner-title {
    margin-bottom: 10px;
    line-height: 130%;
  }

  .inner-banner-title.portfolio-details-title {
    font-size: 48px;
  }

  .inner-banner-description {
    font-size: var(--_typography---titles--h6);
    line-height: 140%;
  }

  .team-members-main-collection-list {
    grid-column-gap: 16px;
    grid-row-gap: 30px;
    grid-template-columns: 1fr 1fr;
  }

  .team-member-details-content {
    grid-row-gap: 40px;
  }

  .team-member-details-top-content {
    grid-column-gap: 20px;
  }

  .team-member-details-image-wrapper {
    border-radius: 10px;
    max-width: 250px;
  }

  .team-member-details-name {
    margin-bottom: 10px;
    font-size: 36px;
  }

  .team-member-details-bio {
    margin-bottom: 10px;
  }

  .team-member-details-information-wrap {
    grid-row-gap: 16px;
  }

  .team-member-details-information-single {
    grid-column-gap: 10px;
  }

  .team-member-details-information-details {
    font-size: 18px;
    font-weight: 500;
  }

  .cms-technology-content {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }

  .cms-technology-top-card {
    grid-row-gap: 20px;
    flex-flow: wrap;
    justify-content: center;
  }

  .cms-technology-top-card-single {
    max-width: 170px;
    height: 170px;
  }

  .cms-technology-logo {
    width: 100%;
    max-width: 86px;
    margin-left: auto;
    margin-right: auto;
  }

  .cms-technology-bottom-card {
    grid-column-gap: 10px;
    flex-flow: wrap;
    justify-content: center;
  }

  .benefit-content {
    grid-row-gap: 40px;
    flex-flow: column;
    padding: 100px 15px;
  }

  .benefit-image-wrapper {
    max-width: 100%;
  }

  .benefit-typography {
    order: -1;
    max-width: 100%;
  }

  .benefit-section-title-description {
    text-align: center;
  }

  .benefit-card-wrapper {
    max-width: 100%;
  }

  .benefit-card-single {
    grid-column-gap: 16px;
    padding-top: 20px;
  }

  .benefit-card-title-description {
    max-width: 600px;
  }

  .faq-content {
    grid-row-gap: 30px;
    flex-flow: column;
  }

  .faq-typography-card {
    grid-row-gap: 30px;
    border-radius: 12px;
    order: 1;
    max-width: 100%;
    padding: 24px;
    position: static;
  }

  .faq-question {
    font-size: 24px;
  }

  .single-faq-accordion-wrap {
    border-radius: 12px;
    padding: 20px;
  }

  .faq-accordion-wrapper {
    grid-row-gap: 16px;
  }

  .faq-answer {
    max-width: 100%;
    font-size: 16px;
  }

  .services-details-rich-content {
    margin-bottom: 40px;
  }

  .services-details-rich-content h2 {
    font-size: 36px;
    line-height: 140%;
  }

  .services-details-rich-content li {
    padding-left: 25px;
  }

  .services-details-rich-content ul {
    grid-row-gap: 8px;
    margin-bottom: 20px;
  }

  .services-details-rich-content figure {
    border-radius: 10px;
  }

  .services-details-rich-content p {
    margin-bottom: 25px;
  }

  .portfolio-information-wrapper {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    border-radius: 10px;
    flex-flow: wrap;
    margin-top: 30px;
    padding: 15px;
  }

  .portfolio-information-title {
    font-size: 22px;
  }

  .portfolio-information-text {
    font-size: 16px;
  }

  .portfolio-details-image-wrapper {
    border-radius: 10px;
  }

  .portfolio-details-rich-text h3 {
    margin-top: 20px;
  }

  .portfolio-details-rich-text figure {
    border-radius: 10px;
    margin-top: 20px;
    margin-bottom: 16px;
  }

  .contact-us-content {
    grid-row-gap: 40px;
    flex-flow: column;
  }

  .contact-us-image-wrapper {
    border-radius: 16px;
    max-width: 100%;
  }

  .contact-us-form-wrapper {
    order: -1;
    max-width: 100%;
  }

  .contact-us-section-title-wrapper {
    text-align: center;
  }

  .contact-us-form-wrap-main {
    grid-row-gap: 16px;
  }

  .contact-us-form-flex {
    grid-column-gap: 16px;
  }

  .contact-us-form-input-field {
    height: 48px;
    padding: 14px;
  }

  .contact-us-form-textarea {
    min-height: 180px;
  }

  .contact-us-form-submit-button {
    height: 48px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .contact-us-details-grid {
    grid-column-gap: 16px;
    grid-template-columns: 1fr 1fr;
  }

  .contact-us-details-single {
    border-radius: 12px;
    padding: 20px;
  }

  .contact-us-details-icon-wrapper {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .contact-us-details-icon-single {
    border-radius: 10px;
    max-width: 56px;
    height: 56px;
  }

  .contact-us-details-title {
    margin-bottom: 5px;
  }

  .authentication-wrapper {
    grid-row-gap: 40px;
    border-radius: 20px;
    flex-flow: column;
  }

  .authentication-image-wrapper {
    max-width: 100%;
  }

  .authentication-form-wrapper {
    order: -1;
    max-width: 100%;
    padding: 0;
  }

  .authentication-form-wrap {
    grid-row-gap: 16px;
  }

  .authentication-input-field {
    padding-left: 40px;
  }

  .authentication-input-field-icon {
    left: 16px;
  }

  .pricing-grid {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-columns: 1fr 1fr;
  }

  .pricing-single-card {
    padding: 24px 16px;
  }

  .pricing-packages {
    grid-column-gap: 5px;
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .pricing-price {
    letter-spacing: -.1px;
    line-height: 130%;
  }

  .pricing-packages-description {
    letter-spacing: -.2px;
    font-size: 18px;
    font-weight: 500;
  }

  .pricing-button-wrapper {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .pricing-features-list {
    grid-row-gap: 12px;
  }

  .pricing-features-list-item {
    grid-column-gap: 8px;
  }

  .pricing-features-title-wrapper {
    margin-bottom: 20px;
  }

  .pricing-features-title.standard-plan {
    letter-spacing: -.1px;
  }

  .pricing-table-content {
    width: 1000px;
    overflow: auto;
  }

  .pricing-table-features-title-wrapper {
    max-width: 380px;
  }

  .pricing-table-features-title-blank {
    min-height: 70px;
  }

  .pricing-table-features-heading-short-text {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .pricing-table-name-wrap {
    min-height: 70px;
  }

  .pricing-table-packages {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .pricing-table-features-title-list-item {
    min-height: 50px;
    padding-left: 20px;
  }

  .pricing-table-features-list-item {
    min-height: 50px;
  }

  .pricing-table-features-list-item-icon {
    width: 100%;
    max-width: 20px;
  }

  .pricing-details-flex {
    grid-row-gap: 40px;
    flex-flow: column;
  }

  .pricing-details-card {
    order: 1;
    max-width: 100%;
    padding: 20px;
    position: static;
  }

  .pricing-details-rich-content {
    grid-row-gap: 30px;
  }

  .not-found-image-wrapper {
    width: 100%;
    max-width: 500px;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
  }

  .not-found-title {
    margin-bottom: 10px;
  }

  .protected-password-wrapper {
    grid-row-gap: 30px;
    border-radius: 20px;
    flex-flow: column;
    padding: 40px 20px;
  }

  .protected-password-image-wrap {
    max-width: 100%;
  }

  .protected-password-form-single {
    order: -1;
    max-width: 100%;
  }

  .protected-password-form-single-wrap {
    max-width: 100%;
  }

  .utility-wrapper {
    grid-row-gap: 40px;
    flex-flow: column;
  }

  .utility-link-card-wrap {
    grid-row-gap: 12px;
    max-width: 100%;
    position: static;
  }

  .utility-link-block {
    border-radius: 12px;
    padding: 16px;
  }

  .utility-content {
    max-width: 100%;
  }

  .utility-main-content {
    grid-row-gap: 24px;
  }

  .instructions-card {
    border-radius: 16px;
    padding: 20px;
  }

  .instructions-card-typography {
    grid-row-gap: 16px;
  }

  .licenses-card-title-wrapper {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .licenses-card {
    border-radius: 12px;
    padding: 16px;
  }

  .changelog-card {
    border-radius: 16px;
    padding: 20px;
  }

  .blog-details-typography {
    padding-bottom: 24px;
  }

  .blog-details-title {
    margin-bottom: 10px;
    font-size: 36px;
    line-height: 140%;
  }

  .blog-details-description {
    font-size: 22px;
  }

  .blog-details-image-wrapper {
    border-radius: 10px;
    margin-bottom: 24px;
  }

  .blog-details-author-wrapper {
    margin-bottom: 30px;
    padding-bottom: 20px;
  }

  .blog-details-author-image {
    max-width: 50px;
  }

  .blog-details-rich-text h2 {
    letter-spacing: -.2px;
    margin-bottom: 16px;
    font-size: 34px;
    line-height: 140%;
  }

  .blog-details-rich-text p {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 140%;
  }

  .blog-details-rich-text ul {
    margin-top: 20px;
    margin-bottom: 20px;
    padding-left: 20px;
  }

  .blog-details-rich-text figure {
    border-radius: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .blog-details-rich-text blockquote {
    background-image: none;
    background-repeat: repeat;
    background-size: auto;
    border-radius: 16px;
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 40px;
    font-size: 25px;
    font-style: italic;
    font-weight: 500;
    line-height: 140%;
  }

  .checkout-wrap {
    width: 100%;
    margin-right: 0;
  }

  .checkout-sticky {
    width: 100%;
    position: static;
  }

  .checkout-input-field {
    height: 46px;
  }

  .services-tools-single {
    margin-right: 16px;
  }

  .services-tools-name-wrap {
    padding: 8px 16px;
  }

  .services-tools-name {
    font-size: 18px;
    font-weight: 500;
  }

  .services-tools-arrow {
    width: 48px;
    height: 48px;
  }

  .services-tools-element {
    margin-right: 16px;
  }

  .menu-button {
    background-color: #0000;
    flex: none;
    padding: 0;
  }

  .menu-button.w--open {
    background-color: #0000;
  }

  .pricing-table-content-main {
    overflow: auto;
  }

  .checkout-row {
    flex-flow: column;
  }

  .menu-dropdown-wrapper {
    margin-bottom: 10px;
    display: block;
  }

  .dropdown-column-wrapper {
    position: static;
    overflow: visible;
  }

  .dropdown-column-wrapper.w--open {
    width: 100%;
    transform: translate(0%);
  }

  .dropdown-menu-text-link-text {
    margin-bottom: 8px;
  }

  .dropdown-grid {
    grid-row-gap: 30px;
    flex-flow: wrap;
    grid-template-columns: 1fr 1fr;
    justify-content: space-between;
    display: flex;
  }

  .dropdown-toggle {
    color: #fff;
    justify-content: flex-start;
  }

  .cart-wrapper {
    aspect-ratio: auto;
  }

  .primary-button-2 {
    font-weight: 400;
    line-height: 100%;
  }

  .scroll-image-overlay-wrap {
    display: none;
  }

  .resource-dropdown-content-wrap {
    border-radius: 1rem;
    padding: 1rem;
  }

  .resource-dropdown-wrap {
    width: 16rem;
    padding-top: 1rem;
    position: static;
  }
}

@media screen and (max-width: 767px) {
  body {
    --_typography---paragraphs--lg-body: 16px;
    --_typography---titles--h1: 48px;
    --_typography---titles--h2: 38px;
    --_typography---titles--h3: 26px;
    --_typography---titles--h4: 26px;
    --_typography---titles--h5: 20px;
    --_typography---titles--h6: 18px;
    --_typography---paragraphs--sm-body: 14px;
    --_typography---paragraphs--md-body: 16px;
    --_typography---title-xl: 60px;
    --_typography---paragraphs--buttons: 17px;
    --_typography---titles--display-title: 52px;
    --section-gap: 80px;
    --none: 0px;
    --section-gap-medium: 60px;
    --section-gap-small: 50px;
    --white\<deleted\|variable-177089b8\>: white;
  }

  .navbar {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .navbar-logo {
    padding-left: 0;
  }

  .section.banner {
    padding-top: 140px;
    padding-bottom: 60px;
  }

  .section.about-us {
    padding-top: 40px;
  }

  .section.footer {
    padding-bottom: 20px;
  }

  .section.working-process {
    padding-bottom: 80px;
  }

  .section.about-us-banner {
    margin-top: 68px;
  }

  .section.inner-banner {
    margin-top: 68px;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .section.authentication-section {
    margin-top: 68px;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .section.pricing-banner {
    margin-top: 69px;
  }

  .section.not-found, .section.protected-password {
    margin-top: 68px;
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .section.utility-section {
    margin-top: 68px;
  }

  .section.blog-details {
    margin-top: 70px;
  }

  .section.services-tools {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .banner-typography {
    max-width: 450px;
    margin-left: auto;
    margin-right: auto;
  }

  .banner-title-description {
    margin-bottom: 20px;
  }

  .banner-title {
    letter-spacing: -1px;
    margin-bottom: 10px;
    font-size: 46px;
  }

  .primary-button-inner {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .banner-button-wrapper {
    grid-column-gap: 16px;
  }

  .banner-video-button {
    grid-column-gap: 8px;
  }

  .banner-video-button-wrap {
    width: 40px;
    height: 40px;
  }

  .sponsors-ticker-wrapper {
    background-position: 50% 100%;
    padding-top: 35px;
    padding-bottom: 35px;
  }

  .company-logo, .ticker-circle {
    margin-right: 24px;
  }

  .section-title-wrapper {
    margin-bottom: 40px;
  }

  .section-title.white {
    margin-bottom: 10px;
  }

  .section-title.about-mobile {
    font-size: 34px;
  }

  .section-title.cms-technology-tools {
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }

  .section-description.about-us {
    max-width: 400px;
  }

  .about-us-content {
    grid-row-gap: 30px;
  }

  .about-us-typography {
    grid-row-gap: 40px;
  }

  .about-us-top-grid {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }

  .about-us-card {
    grid-row-gap: 16px;
    border-radius: 10px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 16px;
  }

  .about-us-card-icon {
    width: 100%;
    max-width: 40px;
  }

  .about-us-card-typography {
    max-width: 100%;
  }

  .about-us-card-counter-wrap {
    padding-bottom: 10px;
  }

  .summery-counter-wrap {
    height: 36px;
  }

  .number-digit {
    letter-spacing: -.2px;
    font-size: 36px;
  }

  .about-us-card-description {
    width: 100%;
    max-width: 160px;
  }

  .footer-form-wrapper {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .footer-form-details-title {
    letter-spacing: 0;
    font-size: 22px;
  }

  .footer-form-input-filed {
    height: 52px;
    font-size: 20px;
    font-weight: 500;
  }

  .footer-menu-wrapper {
    grid-row-gap: 30px;
  }

  .footer-menu-title-wrapper {
    margin-bottom: 20px;
  }

  .footer-details-wrapper {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .footer-details-content {
    grid-row-gap: 16px;
    flex-flow: column;
  }

  .footer-social-media-title {
    font-weight: 500;
  }

  .blog-collection-list {
    grid-row-gap: 30px;
    grid-template-columns: 1fr;
  }

  .blog-typography {
    padding: 12px;
  }

  .blog-category-tag-date-wrapper {
    margin-bottom: 10px;
    padding-bottom: 10px;
  }

  .blog-title {
    letter-spacing: 0;
    margin-bottom: 10px;
  }

  .cta-wrapper {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .cta-title-wrapper {
    margin-bottom: 24px;
  }

  .cta-title {
    font-size: 58px;
  }

  .testimonial-card {
    border-radius: 16px;
    width: 420px;
    margin-right: 16px;
    padding: 16px;
  }

  .testimonial-card-author-wrapper {
    grid-column-gap: 10px;
    padding-top: 10px;
  }

  .testimonial-card-author-image-wrapper {
    max-width: 65px;
    height: 65px;
  }

  .testimonial-card-author-image {
    max-width: 55px;
  }

  .services-single.last {
    padding-bottom: 0;
  }

  .services-name {
    letter-spacing: 0;
    font-size: 30px;
  }

  .services-arrow-icon-wrapper {
    height: 32px;
  }

  .services-description-text {
    font-size: 15px;
    line-height: 140%;
  }

  .portfolio-inner-ticker {
    grid-template-columns: 1fr;
  }

  .work-mini-description {
    width: 100%;
    max-width: 400px;
  }

  .working-process-card {
    border-radius: 12px;
    padding: 20px;
  }

  .working-process-card-icon-number-wrapper {
    margin-bottom: 20px;
  }

  .working-process-card-icon {
    max-width: 40px;
  }

  .working-process-card-number {
    letter-spacing: -.2px;
    font-size: 24px;
  }

  .about-us-banner-title {
    letter-spacing: -1px;
    margin-bottom: 10px;
    font-size: 62px;
  }

  .about-us-banner-description {
    letter-spacing: -.2px;
    font-size: 18px;
    font-weight: 500;
    line-height: 140%;
  }

  .about-us-banner-title-description {
    margin-bottom: 24px;
  }

  .about-us-banner-button-wrapper {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-flow: wrap;
  }

  .about-us-banner-image-wrapper {
    border-radius: 12px;
    margin-bottom: 24px;
  }

  .why-chooses-us-section-title-wrap {
    margin-bottom: 40px;
  }

  .why-chooses-us-typography-content {
    margin-bottom: 30px;
  }

  .why-chooses-us-typography-grid {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-columns: 1fr;
  }

  .why-chooses-us-description {
    width: 100%;
    max-width: 300px;
  }

  .team-member-mask {
    max-width: 280px;
  }

  .team-member-single-slider {
    margin-right: 16px;
  }

  .team-member-image-wrapper {
    border-radius: 12px;
  }

  .team-member-typography {
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .team-member-social-media-link-block {
    border-radius: 8px;
    max-width: 40px;
    height: 40px;
    font-size: 18px;
  }

  .awards-tabs-menu {
    margin-bottom: 20px;
  }

  .awards-tab-menu-content, .awards-tab-menu-flex {
    grid-column-gap: 10px;
  }

  .awards-tabs-content {
    height: 420px;
  }

  .awards-image-wrapper {
    border-radius: 16px;
  }

  .inner-banner-title {
    letter-spacing: -1px;
  }

  .inner-banner-title.portfolio-details-title {
    font-size: 38px;
  }

  .inner-banner-title.services-details {
    font-size: 42px;
  }

  .inner-banner-description {
    letter-spacing: -.2px;
  }

  .team-member-details-top-content {
    grid-row-gap: 20px;
    flex-flow: column;
  }

  .team-member-details-image-wrapper, .team-member-details-typography {
    max-width: 100%;
  }

  .team-member-details-name {
    line-height: 140%;
  }

  .services-button-wrapper {
    grid-column-gap: 16px;
  }

  .services-banner-image-wrapper {
    border-radius: 12px;
    margin-top: 30px;
  }

  .cms-technology-content {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
  }

  .cms-technology-top-card {
    grid-column-gap: 8px;
  }

  .cms-technology-top-card-single {
    max-width: 100px;
    height: 100px;
  }

  .cms-technology-logo {
    max-width: 60px;
  }

  .cms-technology-bottom-card {
    grid-column-gap: 8px;
  }

  .benefit-content {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .benefit-card-single {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-flow: column;
  }

  .benefit-card-description {
    max-width: 360px;
  }

  .faq-typography-card {
    padding: 20px;
  }

  .faq-question {
    letter-spacing: -.1px;
    font-size: 20px;
    line-height: 130%;
  }

  .faq-icon-wrapper {
    flex: none;
    width: 100%;
    max-width: 15px;
  }

  .single-faq-accordion-wrap {
    border-radius: 10px;
    padding: 16px;
  }

  .faq-accordion-question-wrap {
    justify-content: space-between;
    align-items: flex-start;
  }

  .faq-answer {
    font-size: 15px;
    line-height: 25px;
  }

  .services-details-banner-image-wrapper {
    border-radius: 12px;
    margin-top: 30px;
  }

  .services-details-rich-content {
    margin-bottom: 30px;
  }

  .services-details-rich-content h2 {
    margin-bottom: 10px;
    font-size: 30px;
  }

  .services-details-rich-content li {
    background-position: 0 4px;
  }

  .services-details-rich-content ul {
    grid-row-gap: 5px;
  }

  .services-short-details-title {
    margin-bottom: 10px;
    font-size: 32px;
  }

  .portfolio-information-wrapper {
    grid-row-gap: 16px;
  }

  .portfolio-information-title {
    margin-bottom: 5px;
  }

  .portfolio-information-text {
    font-size: 15px;
  }

  .portfolio-information-line {
    display: none;
  }

  .portfolio-details-rich-text h3 {
    margin-top: 16px;
  }

  .contact-us-content {
    grid-row-gap: 30px;
  }

  .contact-us-form-input-field {
    height: 46px;
  }

  .contact-us-form-textarea {
    min-height: 140px;
    padding: 12px;
  }

  .contact-us-form-submit-button {
    height: 46px;
  }

  .contact-us-details-grid {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }

  .contact-us-details-single {
    border-radius: 10px;
    padding: 10px;
  }

  .contact-us-details-icon-single {
    max-width: 48px;
    height: 48px;
  }

  .authentication-wrapper {
    grid-row-gap: 30px;
    border-radius: 16px;
    padding: 20px;
  }

  .authentication-image-wrapper {
    border-radius: 12px;
  }

  .authentication-form-block {
    margin-bottom: 10px;
  }

  .authentication-input-field, .authentication-form-submit-button {
    height: 50px;
  }

  .pricing-typography {
    max-width: 495px;
  }

  .pricing-banner-title {
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    font-size: 38px;
    line-height: 140%;
  }

  .pricing-grid {
    grid-row-gap: 20px;
    grid-template-columns: 1fr;
  }

  .pricing-features-list {
    grid-row-gap: 8px;
  }

  .pricing-table-content {
    border-radius: 12px;
  }

  .pricing-table-features-title-wrapper {
    max-width: 330px;
  }

  .plan-add-to-cart-seleect-field {
    height: 45px;
  }

  .not-found-image-wrapper {
    max-width: 380px;
  }

  .not-found-title {
    font-size: 38px;
    line-height: 140%;
  }

  .protected-password-wrapper {
    border-radius: 16px;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .protected-password-image-wrap {
    border-radius: 16px;
  }

  .password-form-input-field {
    min-height: 45px;
  }

  .utility-wrapper {
    grid-row-gap: 30px;
  }

  .utility-link-block {
    border-radius: 10px;
    padding: 12px;
  }

  .utility-main-content {
    grid-row-gap: 20px;
  }

  .style-guide-card {
    border-radius: 10px;
    padding: 20px;
  }

  .style-guide-typography {
    grid-row-gap: 10px;
  }

  .instructions-card {
    border-radius: 12px;
    padding: 16px;
  }

  .instructions-card-title-wrapper {
    margin-bottom: 16px;
    padding-bottom: 16px;
  }

  .licenses-image-card {
    grid-row-gap: 16px;
  }

  .licenses-image-card-title {
    margin-bottom: 5px;
  }

  .changelog-card {
    border-radius: 12px;
  }

  .blog-details-title {
    font-size: 32px;
  }

  .blog-details-description {
    letter-spacing: 0;
    font-size: 18px;
    font-weight: 500;
  }

  .blog-details-author-wrapper {
    grid-column-gap: 10px;
    flex-flow: wrap;
    margin-bottom: 20px;
  }

  .blog-details-author-image {
    max-width: 40px;
  }

  .blog-details-author-date-read-time {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-flow: wrap;
  }

  .blog-details-rich-text h2 {
    font-size: 26px;
  }

  .blog-details-rich-text figure {
    margin-top: 16px;
    margin-bottom: 16px;
  }

  .blog-details-rich-text blockquote {
    letter-spacing: -.4px;
    margin-top: 16px;
    margin-bottom: 16px;
    padding: 20px;
    font-size: 20px;
    font-weight: 400;
  }

  .checkout-title {
    font-size: 24px;
  }

  .checkout-content {
    border-radius: 10px;
  }

  .checkout-input-field {
    height: 42px;
  }

  .services-tools-single {
    margin-right: 10px;
  }

  .services-tools-name-wrap {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .services-tools-name {
    font-size: 16px;
  }

  .services-tools-arrow {
    width: 38px;
    height: 38px;
  }

  .services-tools-element {
    margin-right: 10px;
  }

  .menu-button {
    width: 100%;
    max-width: 45px;
  }

  .dropdown-title-wrapper {
    margin-bottom: 20px;
  }

  .dropdown-grid {
    grid-template-columns: 1fr;
  }

  .dropdown-toggle {
    font-size: 16px;
  }

  .cart-header-title {
    font-size: 28px;
  }

  .cart-header {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .cart-container {
    min-width: 420px;
    max-width: 420px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .cart-footer-price {
    font-size: 22px;
  }

  .primary-button-2 {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 16px;
  }

  .cart-footer {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .resource-dropdown-content-wrap {
    border-radius: .75rem;
  }
}

@media screen and (max-width: 479px) {
  body {
    --_typography---paragraphs--lg-body: 15px;
    --_typography---titles--h1: 38px;
    --_typography---titles--h2: 30px;
    --_typography---titles--h3: 22px;
    --_typography---titles--h4: 24px;
    --_typography---titles--h5: 20px;
    --_typography---titles--h6: 17px;
    --_typography---paragraphs--sm-body: 13px;
    --_typography---paragraphs--md-body: 14px;
    --_typography---title-xl: 60px;
    --_typography---paragraphs--buttons: 16px;
    --_typography---titles--display-title: 36px;
    --section-gap: 60px;
    --none: 0px;
    --section-gap-medium: 40px;
    --section-gap-small: 40px;
    --white\<deleted\|variable-177089b8\>: white;
  }

  h6 {
    line-height: 140%;
  }

  .container {
    padding-left: 10px;
    padding-right: 10px;
  }

  .navbar-logo-image {
    width: 100%;
    max-width: 120px;
  }

  .section.banner {
    padding-top: 120px;
    padding-bottom: 40px;
  }

  .section.working-process {
    padding-bottom: 60px;
  }

  .section.about-us-banner {
    margin-top: 60px;
  }

  .section.inner-banner {
    margin-top: 59px;
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .section.authentication-section {
    margin-top: 58px;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .section.pricing-banner {
    margin-top: 58px;
  }

  .section.not-found {
    margin-top: 60px;
  }

  .section.protected-password {
    margin-top: 60px;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .section.utility-section, .section.blog-details {
    margin-top: 59px;
  }

  .section.services-tools {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .banner-content {
    grid-row-gap: 35px;
  }

  .banner-title {
    font-size: 32px;
  }

  .banner-description-text {
    max-width: 315px;
  }

  .primary-button-inner {
    grid-column-gap: 5px;
    padding-left: 22px;
    padding-right: 22px;
    line-height: 140%;
  }

  .banner-video-button {
    grid-column-gap: 5px;
  }

  .banner-video-button-wrap {
    width: 36px;
    height: 36px;
  }

  .banner-video-button-icon {
    width: 100%;
    max-width: 12px;
  }

  .company-subtitle {
    padding-left: 16px;
    padding-right: 16px;
  }

  .sponsors-ticker-wrapper {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .company-logo {
    max-width: 85px;
    margin-right: 16px;
  }

  .ticker-circle {
    margin-right: 16px;
  }

  .section-title {
    letter-spacing: -.2px;
    margin-bottom: 10px;
  }

  .section-title.about-mobile {
    width: 100%;
    max-width: 280px;
    font-size: 30px;
    line-height: 120%;
  }

  .section-title.cms-technology-tools {
    max-width: 300px;
  }

  .section-subtitle-wrap {
    margin-bottom: 10px;
  }

  .about-us-typography {
    grid-row-gap: 30px;
  }

  .about-us-top-grid {
    grid-column-gap: 6px;
    grid-row-gap: 6px;
  }

  .about-us-card {
    padding: 10px;
  }

  .about-us-card-icon {
    max-width: 30px;
  }

  .summery-counter-wrap {
    height: 28px;
  }

  .single-counter-wrap {
    margin-right: 0;
  }

  .number-digit {
    font-size: 28px;
  }

  .about-us-card-description {
    max-width: 140px;
    font-size: 14px;
    line-height: 140%;
  }

  .footer-form-details-title {
    font-size: 18px;
    font-weight: 500;
  }

  .footer-form-input-filed {
    height: 42px;
    font-size: 18px;
  }

  .footer-form-submit-button {
    padding-right: 24px;
  }

  .footer-menu-wrapper {
    padding-bottom: 40px;
  }

  .footer-menu-single.footer-information {
    max-width: 220px;
  }

  .footer-menu-title-wrapper {
    margin-bottom: 16px;
  }

  .footer-details-wrapper {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .footer-details-content {
    grid-row-gap: 10px;
  }

  .footer-details-text {
    font-size: 16px;
  }

  .blog-section-title-wrapper {
    grid-row-gap: 10px;
    text-align: center;
    margin-bottom: 40px;
  }

  .blog-typography {
    padding: 8px;
  }

  .blog-category-tag-date-wrapper {
    grid-column-gap: 10px;
  }

  .blog-category {
    padding: 6px 12px;
  }

  .blog-title, .blog-description-text {
    line-height: 140%;
  }

  .cta-wrapper {
    border-radius: 10px;
    padding: 35px 10px;
  }

  .cta-title-wrapper {
    margin-bottom: 20px;
  }

  .cta-subtitle {
    letter-spacing: -.2px;
    font-size: 15px;
    font-weight: 500;
  }

  .cta-title {
    letter-spacing: -.2px;
    font-size: 38px;
  }

  .testimonial-card {
    width: 316px;
  }

  .testimonial-card-review-icon {
    width: 100%;
    max-width: 15px;
  }

  .testimonial-card-description-wrapper {
    margin-bottom: 20px;
  }

  .testimonial-card-author-wrapper {
    grid-column-gap: 8px;
    padding-top: 8px;
  }

  .testimonial-card-author-image-wrapper {
    max-width: 55px;
    height: 55px;
  }

  .testimonial-card-author-image {
    max-width: 45px;
  }

  .services-single {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 0;
  }

  .services-name-number-wrapper {
    grid-column-gap: 8px;
  }

  .services-number {
    font-size: 14px;
  }

  .services-name {
    font-size: 24px;
    font-weight: 500;
  }

  .services-arrow-icon-wrapper {
    max-width: 42px;
    height: 30px;
  }

  .services-arrow-icon {
    max-width: 9px;
  }

  .services-description-text {
    padding-top: 10px;
    font-size: 14px;
  }

  .portfolio-ticker-flex {
    padding-left: 10px;
    padding-right: 10px;
  }

  .portfolio-inner-ticker {
    grid-row-gap: 24px;
  }

  .portfolio-thumbnail-wrapper {
    border-radius: 10px;
  }

  .portfolio-view-button {
    max-width: 55px;
    height: 55px;
  }

  .portfolio-category-date {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    flex-flow: wrap;
    padding: 6px;
  }

  .portfolio-category-date-text {
    font-size: 14px;
    font-weight: 400;
  }

  .work-name {
    letter-spacing: -.4px;
    font-size: 20px;
    font-weight: 500;
  }

  .work-mini-description {
    font-size: 15px;
    line-height: 140%;
  }

  .working-process-typography {
    max-width: 280px;
  }

  .working-process-card {
    margin-top: -8px;
    padding: 16px 10px;
  }

  .working-process-card-icon-number-wrapper {
    margin-bottom: 12px;
  }

  .working-process-card-icon {
    max-width: 36px;
  }

  .working-process-card-title {
    letter-spacing: -.2px;
  }

  .working-process-card-description {
    font-size: 13px;
  }

  .about-us-banner-title {
    font-size: 48px;
  }

  .about-us-banner-description {
    font-size: 16px;
  }

  .about-us-banner-image-wrapper {
    margin-bottom: 10px;
  }

  .about-us-banner-features-grid {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }

  .team-member-mask {
    max-width: 100%;
  }

  .awards-tab-menu-link.w--current {
    padding: 10px;
  }

  .awards-tab-menu-content {
    grid-column-gap: 4px;
    flex-flow: wrap;
  }

  .awards-tab-menu-number-wrap {
    display: none;
  }

  .awards-tab-menu-flex {
    grid-column-gap: 5px;
  }

  .awards-title {
    font-size: 18px;
    font-weight: 500;
  }

  .awards-tabs-content {
    height: 280px;
  }

  .awards-image-wrapper {
    border-radius: 12px;
  }

  .inner-banner-title {
    letter-spacing: -.6px;
  }

  .inner-banner-title.portfolio-details-title {
    letter-spacing: -.5px;
    font-size: 28px;
  }

  .inner-banner-title.services-details {
    font-size: 30px;
  }

  .team-members-main-collection-list {
    grid-row-gap: 24px;
    grid-template-columns: 1fr;
  }

  .team-member-details-name {
    margin-bottom: 5px;
    font-size: 28px;
  }

  .team-member-details-information-single {
    align-items: flex-start;
  }

  .team-member-details-information-details {
    letter-spacing: -.1px;
    max-width: 200px;
    font-size: 16px;
  }

  .services-button-wrapper {
    grid-column-gap: 5px;
    grid-row-gap: 10px;
    flex-flow: wrap;
    padding-top: 16px;
  }

  .cms-technology-top-card {
    grid-column-gap: 6px;
  }

  .cms-technology-top-card-single {
    max-width: 70px;
    height: 70px;
  }

  .cms-technology-logo {
    max-width: 45px;
  }

  .benefit-content {
    flex-flow: column;
    padding: 60px 10px;
  }

  .faq-typography-card {
    border-radius: 10px;
    padding: 12px;
  }

  .faq-card-title-single {
    margin-bottom: 12px;
    padding-bottom: 12px;
  }

  .faq-card-title {
    font-size: 23px;
  }

  .faq-question {
    font-size: 18px;
    font-weight: 500;
  }

  .faq-icon-wrapper {
    width: 100%;
    max-width: 14px;
  }

  .single-faq-accordion-wrap {
    padding: 15px 12px;
  }

  .faq-accordion-question-wrap {
    grid-column-gap: 8px;
    grid-row-gap: 10px;
  }

  .faq-answer {
    letter-spacing: 0;
    padding-top: 15px;
    font-size: 14px;
    line-height: 24px;
  }

  .services-details-rich-content {
    margin-bottom: 16px;
  }

  .services-details-rich-content h2 {
    letter-spacing: -.1px;
    font-size: 24px;
  }

  .services-details-rich-content p {
    margin-bottom: 16px;
  }

  .services-short-details-title {
    font-size: 24px;
  }

  .portfolio-information-title {
    font-size: 20px;
  }

  .portfolio-details-rich-text h3 {
    margin-bottom: 10px;
  }

  .portfolio-details-rich-text figure {
    border-radius: 8px;
    margin-top: 16px;
  }

  .contact-us-image-wrapper {
    border-radius: 10px;
  }

  .contact-us-form-flex {
    grid-row-gap: 10px;
    flex-flow: column;
  }

  .contact-us-form-input-field {
    border-radius: 10px;
    height: 42px;
  }

  .contact-us-form-textarea {
    border-radius: 10px;
    min-height: 100px;
  }

  .contact-us-details-grid {
    grid-template-columns: 1fr;
  }

  .authentication-wrapper {
    border-radius: 12px;
    padding: 16px;
  }

  .authentication-typography {
    margin-bottom: 24px;
  }

  .authentication-title-wrapper {
    margin-bottom: 10px;
  }

  .authentication-single-line {
    grid-column-gap: 5px;
  }

  .authentication-form-wrap {
    grid-row-gap: 10px;
  }

  .authentication-form-text-block {
    margin-bottom: 8px;
  }

  .authentication-input-field {
    height: 44px;
    padding-left: 30px;
  }

  .authentication-input-field-icon {
    left: 10px;
  }

  .authentication-form-submit-button {
    height: 44px;
  }

  .pricing-typography {
    max-width: 335px;
  }

  .pricing-banner-title {
    width: 100%;
    max-width: 255px;
    font-size: 32px;
    line-height: 130%;
  }

  .pricing-single-card {
    border-radius: 12px;
  }

  .pricing-packages {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .pricing-packages-description {
    font-size: 16px;
  }

  .pricing-features-title-wrapper {
    margin-bottom: 16px;
  }

  .pricing-table-features-title-wrapper {
    max-width: 315px;
  }

  .pricing-details-card {
    border-radius: 10px;
    padding: 16px;
  }

  .pricing-details-rich-content {
    grid-row-gap: 20px;
  }

  .pricing-details-about-rich-content h3 {
    margin-bottom: 10px;
  }

  .not-found-image-wrapper {
    max-width: 250px;
  }

  .not-found-title {
    font-size: 30px;
  }

  .not-found-description {
    width: 100%;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }

  .not-found-button-wrapper {
    margin-top: 10px;
  }

  .protected-password-wrapper {
    padding: 15px;
  }

  .protected-password-image-wrap {
    border-radius: 10px;
  }

  .password-form-input-field {
    min-height: 42px;
  }

  .password-form-input-field-wrapper {
    margin-bottom: 16px;
  }

  .protected-password-text-link-wrapper {
    margin-top: 16px;
  }

  .utility-link-block {
    border-radius: 8px;
    padding: 10px;
  }

  .utility-main-content {
    grid-row-gap: 16px;
  }

  .utility-description {
    font-weight: 500;
  }

  .style-guide-card {
    padding: 16px;
  }

  .style-guide-color-palette-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .style-guide-button-wrapper {
    grid-column-gap: 8px;
  }

  .instructions-card {
    border-radius: 10px;
    padding: 10px;
  }

  .instructions-card-list {
    padding-left: 20px;
  }

  .licenses-card-title-wrapper {
    margin-bottom: 16px;
    padding-bottom: 16px;
  }

  .licenses-card {
    border-radius: 10px;
  }

  .changelog-card {
    padding: 16px;
  }

  .changelog-card-title-wrap {
    margin-bottom: 20px;
    padding-bottom: 16px;
  }

  .blog-details-title {
    letter-spacing: -.2px;
    font-size: 24px;
  }

  .blog-details-description {
    font-size: 17px;
  }

  .blog-details-social-media-single {
    grid-column-gap: 10px;
  }

  .blog-details-image-wrapper {
    margin-bottom: 20px;
  }

  .blog-details-author-wrapper {
    grid-row-gap: 10px;
  }

  .blog-details-rich-text h2 {
    margin-bottom: 10px;
    font-size: 20px;
  }

  .blog-details-rich-text blockquote {
    border-radius: 10px;
    padding: 16px;
    font-size: 19px;
  }

  .checkout-header {
    border-radius: 10px;
    padding: 10px;
  }

  .checkout-input-field {
    border-radius: 10px;
    height: 38px;
  }

  .services-tools-name-wrap {
    padding: 10px 12px;
  }

  .services-tools-name {
    letter-spacing: 0;
    font-size: 15px;
    line-height: 100%;
  }

  .services-tools-arrow {
    width: 37px;
    height: 37px;
  }

  .menu-button {
    max-width: 35px;
  }

  .dropdown-menu-text-link-text {
    font-size: 15px;
  }

  .dropdown-title {
    font-size: 20px;
  }

  .cart-header-title {
    letter-spacing: -1px;
    font-size: 24px;
  }

  .cart-footer-subtotal-title {
    font-size: 18px;
  }

  .cart-header {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .cart-remove-button {
    font-size: 15px;
  }

  .cart-name {
    font-weight: 700;
  }

  .cart-container {
    min-width: 290px;
    max-width: 290px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .cart-quantity {
    font-size: 14px;
    top: 6px;
    left: 13px;
  }

  .cart-footer-price {
    font-size: 18px;
  }

  .cart-pack-text {
    font-size: 15px;
  }

  .primary-button-2 {
    padding-top: 6px;
    padding-bottom: 6px;
    padding-right: 6px;
  }

  .cart-line-item {
    margin-bottom: 24px;
  }

  .navbar-cart-name {
    font-size: 15px;
  }

  .resource-dropdown-content-wrap {
    padding: .75rem;
  }

  .resource-dropdown-wrap {
    width: 12rem;
    padding-top: .75rem;
  }
}

#w-node-_3c759bf4-d870-32af-928a-f60ddaa43962-ce28d0e1, #w-node-_3c759bf4-d870-32af-928a-f60ddaa4397c-ce28d0e1, #w-node-_3c759bf4-d870-32af-928a-f60ddaa43996-ce28d0e1 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

/* BrewdMinds: disable Webflow's "Made in Webflow" badge injection (defensive, in addition to removing data-wf-status/data-wf-domain) */
.w-webflow-badge {
  display: none !important;
}

/* BrewdMinds: redesigned footer layout (logo at top, merged links column, compact newsletter) */
.bm-footer-top {
  padding-top: 64px;
  padding-bottom: 48px;
}
.bm-footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 0.9fr 1.1fr 1.1fr;
  grid-column-gap: 40px;
  grid-row-gap: 32px;
}
.bm-footer-brand-logo {
  display: inline-block;
  margin-bottom: 16px;
}
.bm-footer-tagline {
  color: var(--_colors-plates---white);
  opacity: 0.65;
  font-size: 15px;
  line-height: 1.6;
  max-width: 320px;
  margin: 0;
}
.bm-footer-col-title {
  color: var(--_colors-plates---light-gray);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 18px;
}
.bm-footer-newsletter p.bm-footer-tagline {
  margin-bottom: 16px;
}
.bm-footer-newsletter-row {
  display: flex;
  grid-column-gap: 8px;
  width: 100%;
}
.bm-footer-newsletter-input {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  background: transparent;
  color: var(--_colors-plates---white);
  font-size: 14px;
}
.bm-footer-newsletter-input::placeholder {
  color: rgba(255, 255, 255, 0.45);
}
.bm-footer-newsletter-input:focus {
  outline: none;
  border-color: var(--_colors-plates---secondary);
}
.bm-footer-subscribe-btn {
  height: 44px;
  width: 44px;
  flex: none;
  padding: 0;
  border-radius: 6px;
  background-color: transparent;
  background-image: url("../../images/footer-form-submit-button-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: transparent;
  font-size: 0;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
}
.bm-footer-subscribe-btn:hover {
  border-color: rgba(255, 255, 255, 0.5);
  background-color: rgba(255, 255, 255, 0.08);
}
.bm-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 20px;
  padding-bottom: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  grid-row-gap: 16px;
}

@media screen and (max-width: 991px) {
  .bm-footer-grid {
    grid-template-columns: 1fr 1fr;
    grid-row-gap: 36px;
  }
}
@media screen and (max-width: 767px) {
  .bm-footer-top {
    padding-top: 48px;
    padding-bottom: 32px;
  }
  .bm-footer-grid {
    grid-template-columns: 1fr;
    grid-row-gap: 32px;
  }
  .bm-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    grid-row-gap: 12px;
  }
}

/* the original Webflow rule padded the whole section by another 80px/60px/20px below our own bottom bar padding — trim that down now that the bar has its own spacing */
.section.footer {
  padding-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .section.footer {
    padding-bottom: 24px;
  }
}
@media screen and (max-width: 479px) {
  .section.footer {
    padding-bottom: 16px;
  }
}

/* BrewdMinds: footer social icons — inline Ionicons SVGs (the Webflow export's icon font glyphs were lost, leaving empty links) */
.footer-social-media-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s;
}
.footer-social-media-icon svg {
  width: 18px;
  height: 18px;
}
.footer-social-media-icon:hover {
  opacity: 0.7;
}

/* BrewdMinds: hover feedback for the footer contact-us rows (phone/email/location) */
.footer-information-icon-wrap {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  display: flex;
  transition: border-color 0.2s, background-color 0.2s;
}
.footer-information-single:hover .footer-information-icon-wrap {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.5);
}

/* BrewdMinds: scroll-margin-top for the sections the nav/footer links now
   jump to (About Us/Services/Projects/Blogs), now that those used to be
   separate pages. Matches the fixed .navbar's clearance already used
   elsewhere on the site (.portfolio-sticky top:100px), so the section
   doesn't land hidden underneath it. Actual scroll animation is handled in
   js/app.js with a constant-speed easing, not CSS scroll-behavior -- that
   would only animate same-document clicks (not arrivals from other pages),
   and its fixed-duration timing makes short and long jumps feel
   inconsistent with each other. */
#about-us,
#services,
#portfolio,
#blog {
  scroll-margin-top: 100px;
}

/* BrewdMinds: the "Service of Interest" <select>'s shared input styling sets
   a fixed height (52px) plus 18px of padding on every side -- fine for
   single-line <input> fields, but a native <select>'s own text rendering
   needs the vertical space to come from line-height, not padding, or the
   selected option's text clips against the bottom of the fixed-height box.
   Dropping the vertical padding and centering via line-height (roughly
   height minus the 1px border on each side) fixes it at every breakpoint
   the height itself changes at. */
select.contact-us-form-input-field {
  padding-top: 0;
  padding-bottom: 0;
  line-height: 50px;
}
@media screen and (max-width: 991px) {
  select.contact-us-form-input-field {
    line-height: 46px;
  }
}
@media screen and (max-width: 767px) {
  select.contact-us-form-input-field {
    line-height: 44px;
  }
}
@media screen and (max-width: 479px) {
  select.contact-us-form-input-field {
    line-height: 40px;
  }
}

/* BrewdMinds: "back to projects" link on the portfolio project detail pages
   (project-*.html). The rest of that page's layout reuses the site's own
   .portfolio-details and .portfolio-information classes, which the
   original Webflow export already fully styled but never used in an
   actual page -- this back-link is the one piece those didn't include. */
.portfolio-details-back-link {
  display: inline-block;
  margin-bottom: 20px;
  color: var(--_colors-plates---gray);
  font-size: var(--_typography---paragraphs--sm-body);
  text-decoration: none;
  transition: color 0.2s;
}
.portfolio-details-back-link:hover {
  color: var(--_colors-plates---primary);
}

/* BrewdMinds: the shared .portfolio-details-content wrapper caps at 1070px
   (from the original, never-used template), which made the gallery below
   noticeably narrower than the heading/description above it (those sit
   directly in .container, up to 1320px). Since this wrapper is only ever
   used by our gallery now, widen it to match. */
.portfolio-details-content {
  max-width: 100%;
}

/* BrewdMinds: masonry-style image grid on the portfolio project detail
   pages (portfolio-food/lifestyle/jewellery.html), in the spirit of
   adko.in's "Photography" section under "Our Expertise" -- sharp
   (unrounded) corners, equal gap between tiles, no captions, no
   surrounding text. Not part of the original .portfolio-details-*
   template (that only ever accounted for one hero image, no gallery).
   Uses CSS multi-column layout rather than a grid with a fixed aspect
   ratio + object-fit: cover -- these are real, mostly-portrait photos
   shot at all sorts of ratios, and the point of this page is to show
   them uncropped, exactly as shot, not force them into uniform squares.
   Drops to 2 columns then 1 on smaller screens. Plain <img> tags on
   purpose -- no click-to-open lightbox, just a hover zoom. */
.portfolio-details-gallery {
  column-count: 3;
  column-gap: 16px;
  margin-top: 40px;
  margin-bottom: 16px;
}
.portfolio-details-gallery-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  margin-bottom: 16px;
  transition: transform 0.3s;
}
.portfolio-details-gallery-image:hover {
  transform: scale(1.04);
}
@media screen and (max-width: 767px) {
  .portfolio-details-gallery {
    column-count: 2;
    column-gap: 10px;
    margin-top: 30px;
    margin-bottom: 10px;
  }
  .portfolio-details-gallery-image {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 479px) {
  .portfolio-details-gallery {
    column-count: 1;
  }
}

/* BrewdMinds: the navbar's own left/right dashed borders are already
   overridden to none inline on every page, but the navbar itself still had
   a 1px dashed bottom border, which was one visible line making the bar
   look non-transparent -- removed.

   This used to be a frosted-glass effect at all times (barely-tinted +
   blurred, whatever scrolls underneath showing through) rather than a
   solid fill -- fine over index.html's white sections and every other
   page's plain white background, but once index.html's Services section
   (dark background, #141414) scrolls underneath the fixed navbar, that
   same barely-tinted glass reads as a stark white bar sitting on top of
   a black section, not a deliberate design choice. Rather than track
   every section's own light/dark background to keep the glass effect
   correct everywhere, the frosted-glass treatment is now scoped to only
   the one place it was actually designed for -- over the hero photo,
   via .navbar-on-photo below -- and this base state (every page, and
   index.html once scrolled past the hero) is a plain, fully opaque white
   bar that looks correct regardless of what's behind it.

   Separately: a compiled Webflow IX2 scroll interaction (from the
   original Designer file, not something we authored) sets an inline
   background-color directly on this element on every scroll tick,
   fading it from transparent to opaque white as the page scrolls.
   Inline styles win over any stylesheet rule regardless of specificity,
   so that interaction was silently overriding both this rule and
   .navbar-on-photo below the entire time -- computed background stayed
   exactly what Webflow's interaction set, never ours, which is also part
   of why the white navbar-on-photo text was genuinely unreadable
   against it. !important is the correct way to beat a plain
   (non-!important) inline style without touching the vendor JS. */
.navbar {
  border-bottom: none;
  background-color: var(--_colors-plates---white) !important;
}

/* BrewdMinds: home hero now uses a full-bleed slideshow (4 photos, crossfaded
   by app.js every few seconds) as the section background instead of the
   original side-by-side text/image layout -- the banner-image-wrapper wing
   image was removed from the markup entirely. Each .hero-bg-slide is a
   stacked, absolutely-positioned layer with its own background-image; app.js
   toggles .is-active to crossfade between them via the opacity transition
   here, so the slideshow itself is pure CSS transition + a class swap, no
   JS animation loop. .hero-bg-overlay is a dark scrim on top of the slides
   so the white banner-title/description text stays readable regardless of
   which photo is showing. .container needs its own z-index to render above
   both layers (it's a shared class with no z-index of its own). */
.hero-bg-banner {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  /* On mobile the hero's own content (title/description/button) is short
     enough that .section.banner's padding alone left it filling only
     ~55% of the viewport on load, with the About Us section already
     visible underneath -- not the full-screen photo moment a hero
     section is meant to be. dvh (falls back to vh in browsers that don't
     support it) accounts for the mobile browser chrome showing/hiding as
     the user scrolls, so this doesn't undershoot once the address bar
     collapses. */
  .hero-bg-banner {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
  }
}
.hero-bg-slides {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-bg-slide {
  position: absolute;
  inset: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.hero-bg-slide.is-active {
  opacity: 1;
}
.hero-bg-overlay {
  position: absolute;
  inset: 0;
  /* rgba(20, 20, 20, ...) is --_colors-plates---primary (#141414) at these
     alphas, hardcoded because rgba() can't reference a hex custom property
     directly -- color-mix() can, so it's declared second (wins in browsers
     that support it) with the rgba() kept first as the fallback for ones
     that don't, rather than dropping the token link entirely. */
  background: linear-gradient(180deg, rgba(20, 20, 20, 0.55) 0%, rgba(20, 20, 20, 0.75) 100%);
  background: linear-gradient(180deg, color-mix(in srgb, var(--_colors-plates---primary) 55%, transparent) 0%, color-mix(in srgb, var(--_colors-plates---primary) 75%, transparent) 100%);
  z-index: 1;
}
.hero-bg-banner > .container {
  position: relative;
  z-index: 2;
}
.hero-bg-banner .banner-title,
.hero-bg-banner .banner-description-text {
  color: var(--_colors-plates---white);
}
.hero-bg-banner .banner-subtitle-wrapper {
  background-color: transparent;
}
.hero-bg-banner .banner-subtitle {
  color: var(--_colors-plates---white);
}

/* BrewdMinds: the navbar is fixed, so on index.html it stays on screen as
   the page scrolls from the hero slideshow into the site's normal white
   sections. .nav-link/.navbar-logo-image default to dark (right for those
   white sections and every other page), so app.js toggles this class on
   .navbar -- and swaps the logo image between Brewd_logo_white.svg and
   Brewd_logo_solid.svg -- while the navbar is still over the hero, so both
   stay readable at the top and go back to the normal dark styling once
   scrolled past it. .navbar's own background is a barely-tinted, blurred
   glass (see .navbar above) -- fine once scrolled, since it's sitting over
   the site's white sections either way, but not dark enough on its own to
   guarantee white text stays legible over every hero photo (a bright shot
   made it unreadable) -- and it turned out the fix that first shipped here
   (just a 35%-opacity dark tint, still under the base .navbar's own
   backdrop-filter: blur(16px)) wasn't actually the fix: a 16px blur over a
   bright, high-contrast photo smears bright highlights outward and washes
   the sampled backdrop toward a light midtone, so the background still
   read as white-ish -- out of sync with the correctly-applied white text
   -- even though the class and its background-color rule were both firing
   exactly when they should. Cutting the blur radius while on-photo (so
   less of the surrounding bright image gets smeared in) fixes that
   without needing much extra tint -- kept fairly light (45% opacity) so
   the navbar still reads as see-through glass rather than a solid bar,
   while staying dark enough for white text to stay legible. Unlike the
   nav-link color swap below, none of this is limited to the desktop
   breakpoint, since the logo (and hamburger icon) need the same contrast
   on mobile too. */
.navbar.navbar-on-photo {
  background-color: rgba(8, 8, 10, 0.45) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
@media screen and (min-width: 992px) {
  .navbar.navbar-on-photo .nav-link {
    color: var(--_colors-plates---white);
  }
  .navbar.navbar-on-photo .nav-link:hover,
  .navbar.navbar-on-photo .nav-link.w--current {
    border-bottom-color: var(--_colors-plates---white);
    color: var(--_colors-plates---white);
  }
}

/* BrewdMinds: the hamburger menu-button (.w-nav-button) only ever renders
   below the 992px breakpoint -- above it, .nav-menu shows inline and
   .w-nav-button stays display:none (see the .w-nav[data-collapse="medium"]
   rules earlier in this file) -- so it's the mobile/tablet counterpart to
   the desktop .nav-link color swap above, needed for the same reason.

   This used to be a Lottie JSON animation (images/hamburger-menu-icon.json)
   rendered into an inline <svg> at runtime -- replaced with two plain
   self-hosted Ionicon <img>s (menu-outline-dark.svg / close-outline-dark.svg,
   same convention as every other icon under assets/icons/) for a simpler,
   modern look with no animation-library dependency. This also fixes a
   real bug the Lottie version had: .menu-button/.w-nav-button never
   declared an explicit size anywhere across their breakpoint rules (see
   below), and the Lottie div's own box depended entirely on the
   animation library initializing correctly to give it intrinsic
   dimensions -- when it didn't, the button rendered at 0x0 and was
   invisible. Explicit width/height here removes that dependency entirely.

   .menu-button.w--open is toggled by Webflow's own vendored nav-menu
   JS on click (no custom JS needed) -- swap which icon shows via that
   class rather than adding a new interaction. Inverting colors over the
   photo hero works the same way it did for the Lottie svg, just
   targeting these <img>s directly since there's no inline <svg> to
   select anymore. */
@media screen and (max-width: 991px) {
  .menu-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    max-width: 44px;
    height: 44px;
  }
}

.hamburger-menu-icon,
.hamburger-close-icon {
  width: 24px;
  height: 24px;
}

.hamburger-close-icon {
  display: none;
}

.menu-button.w--open .hamburger-menu-icon {
  display: none;
}

.menu-button.w--open .hamburger-close-icon {
  display: block;
}

.navbar.navbar-on-photo .hamburger-menu-icon,
.navbar.navbar-on-photo .hamburger-close-icon {
  filter: invert(1);
}

/* BrewdMinds: mobile/tablet counterpart to the desktop services-accordion
   hover effect (js/app.js has the full explanation of why it needs its own
   implementation below 992px). Closed baseline -- dark arrow border, no
   arrow fill, description collapsed to nothing -- lifted from the closed
   state Webflow's own interaction leaves behind in index.html's inline
   <style> block; the .is-active look (bright white name, description
   revealed, arrow filled solid) is inferred from that same block's
   "background-color: rgba(255, 86, 34, 0)" closed value -- a fully
   transparent version of this exact orange, strongly implying the
   interaction's open state is that same orange at full opacity. */
@media screen and (max-width: 991px) {
  .services-single {
    cursor: pointer;
  }
  .services-description-single {
    max-height: 0;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease;
  }
  .services-arrow-icon-wrapper {
    background-color: rgba(255, 86, 34, 0);
    transition: background-color 0.3s ease, border-color 0.3s ease;
  }
  .services-single.is-active .services-name {
    color: var(--_colors-plates---white);
  }
  .services-single.is-active .services-description-single {
    max-height: 600px;
    opacity: 1;
  }
  .services-single.is-active .services-arrow-icon-wrapper {
    border-color: rgb(255, 86, 34);
    background-color: rgb(255, 86, 34);
  }
}

/* BrewdMinds: contact.html's photo used to sit beside the form in a
   two-column .contact-us-content flex layout, capping the form at
   max-width: 630px. The photo was removed, so the form is now the only
   child -- let it fill the full row instead of staying pinned to that
   old column width. */
.contact-us-form-wrapper {
  max-width: 100%;
}

/* BrewdMinds: .section.blog had its top padding zeroed out because it
   used to butt directly against .section.cta, which supplied its own
   top+bottom --section-gap padding as the only separation on both sides.
   That cta band was replaced by the website-cta .bmc widget on index.html,
   whose own vertical padding is a narrower, viewport-scaled clamp -- so
   restore the blog section's top padding to keep as much breathing room
   between it and its neighbor as every other section pair on the page. */
.section.blog {
  padding-top: var(--section-gap);
}

/* BrewdMinds: the About Us stat cards used to share the row with a photo
   in a two-column .about-us-content flex layout, capping .about-us-typography
   at max-width: 630px and leaving the four stat cards in a narrow 2-column
   grid. The photo was removed, so let the typography column fill the full
   row and spread the stat cards across it as a single 4-column row instead
   of a 2x2 block. Scoped to the desktop breakpoint where .about-us-content
   is still a side-by-side row (it already stacks to a full-width column
   below 992px, where the 2-column card grid still fits fine). */
@media screen and (min-width: 992px) {
  .about-us-typography {
    max-width: 100%;
  }

  .about-us-top-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

/* BrewdMinds: the "Explore Our Recent Work" ticker used to link to four
   fictional client case studies with invented results -- there's no real
   client work yet, so those were replaced with three real photography
   categories (food, lifestyle, jewellery), each linking to its own
   portfolio-<category>.html page (a title/info row + the same 3-column
   image grid as .portfolio-details-gallery below, just full of real
   photos). .portfolio-thumbnail-wrapper normally sizes itself from its
   <img>'s own aspect ratio (width: 100%, height auto), which suited the
   old fixed-ratio case-study thumbnails but not this shoot's mostly-
   portrait photos, so .portfolio-category-cover gives the tile a fixed
   frame and crops the cover photo to fill it. This section is pinned
   (.portfolio-sticky, position: sticky) while the page scrolls past it,
   so its own content never scrolls internally -- a square (1:1) cover
   made the image alone ~900px tall at the card's 900px width, which on
   any normal laptop viewport pushed the card's name/description below
   the sticky area entirely, unreachable by scrolling since further
   scroll just drives the horizontal shift instead. Capping the height in
   vh (not just px) means it keeps shrinking to leave room on shorter
   viewports too, instead of only helping at one fixed breakpoint. */
.portfolio-category-cover {
  width: 100%;
  height: min(420px, 40vh);
}

.portfolio-category-cover .portfolio-thumbnail {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.portfolio-category-cover.lifestyle-cover .portfolio-thumbnail {
  object-position: center 62%;
}

/* BrewdMinds: .section.testimonial had its bottom padding zeroed out
   because it used to butt directly against .section.cta, which supplied
   its own top+bottom --section-gap padding as the only separation on both
   sides (half the usual gap other section pairs get, since only one side
   was contributing). That cta band was replaced by the website-cta .bmc
   widget, whose own vertical padding is a narrower, viewport-scaled
   clamp -- so restore testimonial's bottom padding to the standard
   section gap, matching the spacing every other section pair on the page
   already gets. */
.section.testimonial {
  padding-bottom: var(--section-gap);
}

/* BrewdMinds: every .primary-button stacks two copies of its label
   (.primary-button-text-block + a .is-text-absolute copy on top, for a
   hover text-swap effect) that are meant to sit pixel-identical on top of
   each other -- normally invisible since both copies wrap the same way.
   Below ~400px the navbar's "Get In Touch" button had too little width for
   the unconstrained text to wrap onto one line consistently, so the two
   copies wrapped differently (one 2 lines, one 3) and rendered as visibly
   overlapping garbled text. Forcing both copies to a single line removes
   the mismatch; the width they then need is reclaimed on the navbar's own
   button specifically (not every .primary-button site-wide) by trimming
   its padding at the same breakpoints the hamburger/logo already shrink at,
   so the row still fits without the hamburger getting pushed off-screen. */
.primary-button-text-block {
  white-space: nowrap;
}

@media screen and (max-width: 479px) {
  .navbar-contact-wrapper .primary-button-inner {
    padding-left: 14px;
    padding-right: 14px;
  }
}

@media screen and (max-width: 375px) {
  .navbar-contact-wrapper .primary-button-inner {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 12px;
  }
}

/* BrewdMinds: pre-existing (unrelated to the button fix above) -- the
   navbar logo <img> is sized via an inline style="height:24px;width:auto"
   (needs !important to win over that inline style), which never shrinks,
   so at true 320px-wide viewports (iPhone SE etc.) it alone was already
   wide enough to push the fixed-width hamburger button off the right edge
   of the screen. Shrinking the logo slightly below 375px reclaims enough
   width to keep the whole row on-screen. */
@media screen and (max-width: 375px) {
  .navbar-logo-image {
    height: 18px !important;
  }
}

/* BrewdMinds: standard visually-hidden-but-accessible utility -- used to
   give the About Us stat-card counters (see the matching aria-hidden
   .summery-counter-wrap markup in index.html) a real accessible value,
   since their visible digits are decorative <span>s stacked purely for a
   clipped-reel visual effect. */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* BrewdMinds: skip-to-content link, first focusable element in <body> on
   every page, so keyboard/screen-reader users can bypass the full navbar
   (repeated identically on every page) instead of tabbing through it every
   single page load. Hidden the same way .sr-only hides content, but only
   until it receives focus, at which point it needs to be genuinely visible
   on top of everything else -- hence its own rule instead of reusing
   .sr-only outright. */
.skip-to-content {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: var(--_colors-plates---primary);
  color: var(--_colors-plates---white);
  padding: 12px 20px;
  font-weight: 600;
  text-decoration: none;
  /* transform (not a fixed negative top) so this is always fully
     off-screen regardless of its own rendered height -- a fixed
     top: -40px left an 8px sliver of this element's actual ~48px height
     visible at the very top of the page (looked like a stray black bar
     above the navbar logo), since padding/line-height made it taller
     than the offset assumed. */
  transform: translateY(-100%);
}

.skip-to-content:focus {
  transform: translateY(0%);
}

/* BrewdMinds: featured hero shot above the uncropped masonry grid on each
   portfolio-*.html detail page, reusing the same cover photo already
   chosen for that category's card on index.html -- gives the strongest
   shot from each shoot more presence than being just one more equally-
   sized tile in the grid below. Cropped (object-fit: cover) on purpose,
   unlike .portfolio-details-gallery-image below it, which deliberately
   shows every photo uncropped -- one hero getting a considered crop and
   the rest staying candid/uncropped are different design choices for
   different roles, not an inconsistency. */
.portfolio-details-featured {
  width: 100%;
  height: min(560px, 60vh);
  margin-top: 40px;
  overflow: hidden;
}
.portfolio-details-featured-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.portfolio-details-featured.lifestyle-featured .portfolio-details-featured-image {
  object-position: center 62%;
}
@media screen and (max-width: 767px) {
  .portfolio-details-featured {
    height: min(420px, 50vh);
    margin-top: 30px;
  }
}
@media screen and (max-width: 479px) {
  .portfolio-details-featured {
    height: min(320px, 45vh);
  }
}

/* BrewdMinds: .blog-image, .testimonial-card-author-image, and the bare
   .portfolio-thumbnail rule (generated, not touched in place -- see the
   "don't hand-restructure the generated part" rule above) each set only
   width: 100% with no height at all. That's fine as long as nothing ever
   sets a width/height *attribute* on the <img> itself, but once one does
   (as our own CLS-prevention width/height attributes do, matching each
   photo's real pixel size), the attribute's height becomes the element's
   actual rendered height with nothing to override it, while width is
   separately forced to 100% of the container by the rule above -- two
   unrelated numbers controlling the box, stretching/squashing the image
   whenever the container's rendered width doesn't happen to already
   match the attribute's width (exactly what happened to
   .portfolio-details-gallery-image, fixed above with an in-place
   height: auto since that one rule is hand-written). These three still
   rendered correctly by coincidence (blog/testimonial images' container
   width already happened to be close to their native size), but the gap
   is the same latent bug -- close it here too rather than leave it to
   break the next time a container size changes. */
.blog-image,
.testimonial-card-author-image,
.portfolio-thumbnail {
  height: auto;
}

/* BrewdMinds: the generated .nav-link rule sets transition: all .35s,
   meant for a smooth hover underline -- but "all" also covers the color
   swap app.js drives via the navbar-on-photo class toggle at the exact
   scroll position the fixed navbar clears the hero photo. Right at that
   boundary the background already snaps instantly (see .navbar-on-photo
   above), so a still-fading, still-lightish nav-link color for up to
   350ms after was landing on top of the now-light background it was
   supposed to be readable against -- a brief but real legibility dip
   right where the two states cross over. Scoping the transition to
   border-bottom-color only keeps the smooth hover underline (which
   doesn't need color to fade) while making the on-photo color swap
   instant, in sync with the background. */
.nav-link {
  transition: border-bottom-color 0.35s;
}

/* BrewdMinds: hide the navbar's "Get In Touch" button on mobile -- by
   request, to give the logo/hamburger more breathing room on small
   screens rather than keep squeezing the button's own padding/font-size
   down to fit (see the max-width: 479px/375px .primary-button-inner
   overrides above, now dead code below 767px since this hides the
   button first, but left in place for the 768-991px tablet range where
   the button still shows).

   Targets .glow-btn-wrapper specifically, NOT the whole
   .navbar-contact-wrapper -- .menu-button (the hamburger) is also a
   child of .navbar-contact-wrapper, not a sibling of it, so hiding the
   wrapper itself hid the hamburger along with the button and left
   mobile visitors with no way to open the nav menu at all. */
@media screen and (max-width: 767px) {
  .navbar-contact-wrapper .glow-btn-wrapper {
    display: none;
  }
}

/* BrewdMinds: shared "glow" button style, replacing .primary-button
   everywhere it's used (navbar "Get In Touch", hero "Get Started",
   working-process "Start Projects", blog "Browse All Articles") -- a
   rotating conic-gradient border plus a blurred glow layer behind it,
   and a radial glow overlay on hover. Adapted from a supplied reference
   (originally a fixed 220x64px/18px-font demo button) to this site's
   own button proportions instead of the demo's fixed box: padding-based
   sizing so it still fits the navbar and other compact contexts, and
   var(--_typography---paragraphs--buttons)/var(--_colors-plates---*) so
   it tracks the site's own responsive type scale and palette rather
   than hardcoded pixel/hex values that would drift out of sync with it.
   Structure (same for every instance):
     <div class="glow-btn-wrapper">
       <div class="glow-animations">
         <div class="glow-effect"></div>
         <div class="glow-mask-wrapper"><div class="glow-mask"></div></div>
       </div>
       <div class="border-mask"><div class="rotating-border"></div></div>
       <a href="..." class="glow-btn"><span>Label</span></a>
     </div>
   This replaces the old .primary-button's two-stacked-text-copies
   hover-swap effect entirely (see the now-removed white-space: nowrap
   fix for that pattern elsewhere in this file's history) -- a single
   <span> here, so there's no equivalent "both copies must wrap
   identically" fragility to maintain going forward. */
.glow-btn-wrapper {
  position: relative;
  display: inline-flex;
  border-radius: 999px;
}

.glow-btn {
  position: relative;
  z-index: 5;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 14px 32px;
  border-radius: 999px;
  text-decoration: none;
  color: var(--_colors-plates---white);
  background: var(--_colors-plates---primary);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  transition: 0.4s;
}

.glow-btn span {
  position: relative;
  z-index: 5;
  font-size: var(--_typography---paragraphs--buttons);
  font-weight: 500;
  white-space: nowrap;
}

.glow-btn::after {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  border-radius: 999px;
  opacity: 0;
  transition: 1s;
  background: radial-gradient(85% 120% at 50% 120%, rgba(255, 255, 255, 0.25), transparent);
}

.glow-btn:hover::after {
  opacity: 0.75;
}

.glow-animations {
  pointer-events: none;
  position: absolute;
  inset: 0;
  opacity: 1;
}

.glow-animations * {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.rotating-border,
.glow-effect,
.glow-mask {
  animation: glowBorderRotate 2.5s linear infinite;
  background: conic-gradient(
    from 0deg,
    rgba(255, 255, 255, 0.55) 0deg,
    rgba(255, 255, 255, 0) 60deg,
    rgba(255, 255, 255, 0) 310deg,
    rgba(255, 255, 255, 0.55) 360deg
  );
}

.border-mask {
  position: absolute;
  inset: -2px;
  border-radius: 999px;
  overflow: hidden;
  padding: 2px;
  pointer-events: none;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
}

.rotating-border {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 250%;
  height: 250%;
  transform: translate(-50%, -50%);
  animation: glowBorderRotateTranslate 2.5s linear infinite;
}

.glow-effect {
  filter: blur(35px);
  opacity: 0.6;
  transform: scale(1.3);
}

.glow-mask-wrapper {
  overflow: hidden;
  border-radius: 999px;
}

.glow-mask {
  opacity: 0.6;
}

@keyframes glowBorderRotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes glowBorderRotateTranslate {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* BrewdMinds: the contact form's submit button ("Send Message") gets the
   same glow-btn visual language applied directly to the <input> itself
   (background/border/rotating look via a pseudo-element) rather than
   the full glow-btn-wrapper markup swap the .primary-button links get --
   it has to stay a real <input type="submit"> for the existing
   Web3Forms handler in app.js (wireWeb3Form) to submit the form and
   toggle its .value text for the pending/success states, which an
   <a>+<span> can't do. Visually equivalent (dark fill, glow-on-hover),
   just without the rotating conic-gradient border layer, which would
   need extra wrapper elements a bare <input> doesn't have. */
.contact-us-form-submit-button {
  position: relative;
  background: var(--_colors-plates---primary) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  overflow: hidden;
  transition: 0.4s;
}

.contact-us-form-submit-button::after {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  border-radius: inherit;
  opacity: 0;
  transition: 1s;
  background: radial-gradient(85% 120% at 50% 120%, rgba(255, 255, 255, 0.25), transparent);
  pointer-events: none;
}

.contact-us-form-submit-button:hover::after {
  opacity: 0.75;
}

/* BrewdMinds: real client logos (images/clients/) replaced the old
   placeholder set (images/logos/company-logoN.svg) in the "Trusted
   Partners" ticker. Unlike those, the new files aren't guaranteed to
   ship their own width/height/consistent aspect ratio baked in, so
   .company-logo needs an explicit height with width left to auto
   (SVG's viewBox still gives the browser a correct intrinsic ratio to
   scale from) rather than relying on the source file's own size like
   the old set did. Sized up twice now (40px, then 60px) after still
   reading too small each time -- scaled down at the same 991/767/479
   breakpoints the rest of this section already uses, and the generated
   479px rule's `max-width: 85px` (sized for the old fixed-width logos)
   is cleared here so a wide logo's width isn't clipped independently
   of its height and skewed out of proportion.

   Each source file is used as-supplied (solid black fill, no color
   variants needed) and forced to a uniform muted grey via `filter:
   grayscale(1)` + reduced opacity, rather than requiring pre-colored
   "grey" exports -- this also means a future logo delivered in full
   brand color drops in and reads consistently with the rest of the
   strip without any extra editing.

   On hover: opacity eases to full and grayscale eases to 0 (a no-op
   visually on these two black-only SVGs, but it means a future
   full-color logo reveals its real brand color on hover rather than
   staying permanently grey), plus a slight scale-up so the hovered
   logo visibly "lifts" off the strip -- a colored glow (drop-shadow in
   the site's accent orange) was tried here first and didn't read well
   against this background, so this is a plainer, more neutral
   emphasis: full color/contrast plus a small lift and a soft, dark,
   short-radius shadow for depth, not a colored halo. Also serves to
   actually read a specific logo clearly while the ticker is paused
   (see .sponsors-ticker:hover below). */
.company-logo {
  height: 84px;
  width: auto;
  filter: grayscale(1);
  opacity: 0.55;
  transition: opacity 0.35s ease, filter 0.35s ease, transform 0.35s ease;
}

.company-logo:hover {
  opacity: 1;
  transform: scale(1.1);
  filter: grayscale(0) drop-shadow(0 6px 10px rgba(20, 20, 20, 0.18));
}

@media screen and (max-width: 991px) {
  .company-logo {
    height: 68px;
  }
}

@media screen and (max-width: 767px) {
  .company-logo {
    height: 56px;
  }
}

@media screen and (max-width: 479px) {
  .company-logo {
    height: 44px;
    max-width: none;
  }
}

/* BrewdMinds: chaiexpress.svg is a compact, near-square icon mark
   (viewBox 675x875) rather than a wide wordmark like reform.svg
   (viewBox 1371x575) -- matched to the same height as reform.svg, it
   renders at barely a third of the width and reads as noticeably
   smaller even though the height is identical. Sized up ~1.5x via an
   attribute selector on its own src rather than raising every logo's
   height (which would just oversize reform.svg instead), at the same
   breakpoints as the shared .company-logo rule above. */
.company-logo[src*="chaiexpress"] {
  height: 126px;
}

@media screen and (max-width: 991px) {
  .company-logo[src*="chaiexpress"] {
    height: 102px;
  }
}

@media screen and (max-width: 767px) {
  .company-logo[src*="chaiexpress"] {
    height: 84px;
  }
}

@media screen and (max-width: 479px) {
  .company-logo[src*="chaiexpress"] {
    height: 66px;
  }
}

/* BrewdMinds: berrybash.svg is the same kind of compact circular badge
   mark as chaiexpress.svg above (near-square viewBox, most of it filled
   by a thin outer ring rather than a bold wordmark), so it reads visibly
   smaller than reform.svg's wordmark at the shared default height too --
   boosted by the same amount, at the same breakpoints, for the same
   reason. */
.company-logo[src*="berrybash"] {
  height: 126px;
}

@media screen and (max-width: 991px) {
  .company-logo[src*="berrybash"] {
    height: 102px;
  }
}

@media screen and (max-width: 767px) {
  .company-logo[src*="berrybash"] {
    height: 84px;
  }
}

@media screen and (max-width: 479px) {
  .company-logo[src*="berrybash"] {
    height: 66px;
  }
}

/* BrewdMinds: .section.company-section's generated padding-top was 0,
   so the "Trusted Partners" pill sat flush against the hero's own
   bottom edge with no breathing room -- especially visible since the
   hero's background photo is darkest right at that edge (see the
   navbar-contrast note elsewhere in this file), making the light
   ticker section look glued on rather than a new section starting.
   padding-bottom is left alone: the ticker wrapper's own vertical
   padding plus #about-us's top padding already separate this section
   from the next one adequately. */
.section.company-section {
  padding-top: var(--section-gap-medium);
}

/* BrewdMinds: the sponsors ticker's 3x-duplicated .inner-ticker-wrapper
   markup is the standard seamless-CSS-marquee scaffold, but no
   animation was ever wired up for it (verified: no @keyframes/
   translateX/infinite rule existed anywhere for any ticker-named
   section pre-existing in this file) -- so enabling the section as-is
   just showed the same duplicated content statically, cropped by
   .sponsors-ticker's overflow:hidden. Animating .ticker itself, rather
   than each .inner-ticker-wrapper individually, keeps all 3 copies
   moving as one continuous strip; translating by -33.3333% (one
   wrapper's worth, since there are 3 equal copies) makes the loop seam
   invisible. Paused on hover so a logo can be read, and disabled under
   prefers-reduced-motion since this is decorative motion with no
   functional purpose. */
.ticker {
  animation: sponsorsTickerScroll 20s linear infinite;
}

/* BrewdMinds: fades each logo out as it nears the left/right edge of
   .sponsors-ticker (rather than having it scroll and cut off abruptly
   against .sponsors-ticker's overflow:hidden edge) -- a mask-image on
   the clipping container itself, not on .ticker or the logos, so it
   stays fixed in the viewport while the content scrolls underneath it. */
.sponsors-ticker {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 10%,
    #000 90%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 10%,
    #000 90%,
    transparent 100%
  );
}

.sponsors-ticker:hover .ticker {
  animation-play-state: paused;
}

@keyframes sponsorsTickerScroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-33.3333%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ticker {
    animation: none;
  }
}
