/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

:root,
html,
body {
  width: 100%;
  min-height: 100%;
}

html {
  font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial;
  color: #3D4647;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html,
body {
  background: #4C5859;
  font-size: 14px;
  line-height: 1.6em;
  -moz-font-kerning: normal;
  font-kerning: normal;
  width: 100%;
  overflow-x: hidden;
}

a {
  color: #4cb5ff;
  text-decoration: none;
  transition: all 200ms ease-in-out;
}

a:hover {
  color: rgb(65, 154, 217);
  transition: all 200ms ease-in-out;
}

.review {
  color: #FF099C;
}

.red {
  color: #ff6040;
}

/*Basic Box Styles*/

header {
  color: #fff;
  padding-top: 60px;
  position: relative;
  overflow: hidden;
  width: 100%;
  position: relative;
}

header .copy-container,
header .content-container {
  padding: 0;
  margin: 0 auto;
  z-index: 6;
  -ms-flex-item-align: center;
  align-self: center;
}

header .hero-title {
  font-size: 3.85rem;
  font-weight: 200;
  line-height: 1.2em;
  text-align: left;
}

header .hero-title a {
  color: #fff;
}

header h1 a:hover {
  color: #fff;
  text-decoration: none;
  opacity: .75;
}

header .logo {
  display: block;
  height: 3rem;
  margin: 0 auto;
  margin-bottom: 1rem;
}

header img {
  max-width: 100%;
}

header p {
  max-width: 800px;
}

nav + section.company-section {
  margin-top: 5.2rem;
}

/*/////////////////////
Basic Containers
/////////////////////*/

section {
  width: 100%;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
}

section.content-container {
  padding: 0;
}

section.panel {
  background: #fff;
  color: #3D4647;
}

section:last-of-type {
  padding-bottom: 80px;
}

section.panel.button-panel {
  text-align: center;
}

section.panel.button-panel .button,
section.panel.button-panel button {
  display: inline-block;
}

.body-width {
  width: 60rem;
}

.content-container {
  width: 60rem;
  position: relative;
  box-sizing: border-box;
  margin: 80px auto;
  margin-bottom: 0;
}

.copy-container {
  width: calc(60rem - 440px / 12 * 8 + (40px * 6.9));
  position: relative;
  margin: 80px auto;
  margin-bottom: 0;
}

.content-half {
  width: 50%;
  padding: 0px 20px 0px 0px;
  box-sizing: border-box;
}

.content-half:last-child {
  padding: 0px 0px 0px 20px;
}

.panel-summary {
  background: #fff;
  color: #3D4647;
}

.panel-summary > p {
  margin: 0 auto;
  padding: 0;
}

.page-wedge:after {
  background: #F5F7F7;
  bottom: -5.3vw;
  content: '';
  display: block;
  height: 10vw;
  position: absolute;
  transform: rotate(-5deg);
  width: 110%;
}

/*/////////////////////
Two-column layout (NEW)
/////////////////////*/

section.two-column {
  -ms-flex-align: stretch;
  align-items: stretch;
  background: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0;
}

section.two-column:before,
section.two-column:after {
  box-sizing: border-box;
  content: ' ';
  display: block;
  -ms-flex: 1;
  flex: 1;
}

section.two-column:before {
  background: #fff;
}

section.two-column:after {
  background: transparent;
}

.two-column-layout {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 auto;
}

.two-column-left {
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%;
  -ms-flex-positive: 0;
  flex-grow: 0;
  padding: 80px 40px 80px 0px;
}

.two-column-right {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  padding: 80px 0px 80px 40px;
}

.two-column-right .button {
  margin-top: 20px;
}

@media screen and (max-width: 1000px) {
  .two-column-layout {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
  }

  .two-column-left {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -ms-flex-positive: auto;
    flex-grow: auto;
    padding: 40px 0 40px 0;
  }

  .two-column-right {
    box-sizing: border-box;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -ms-flex-positive: auto;
    flex-grow: auto;
    padding: 40px;
    width: 100%;
  }

  section.two-column:before {
    display: none;
  }

  section.two-column:after {
    display: none;
  }
}

@media screen and (max-width: 800px) {
  .two-column-layout.body-width {
    padding: 0;
  }

  .two-column-left {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin: 0;
    padding: 20px;
  }

  .two-column-right {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    padding: 20px;
  }
}

/*/////////////////////
Two-column layout (OLD ... keep until docs is updated)
/////////////////////*/

section.twoCol {
  width: 100%;
  background: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  padding: 0;
}

.twoCol-left {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex: 4;
  flex: 4;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 80px 80px;
}

.twoCol-left .main-content {
  -ms-flex-item-align: end;
  align-self: flex-end;
  width: calc(60rem - 440px / 12 * 8 + (40px * 6.9));
}

.twoCol-right {
  -ms-flex: 2;
  flex: 2;
  padding: 80px 80px;
  background: #F5F7F7;
}

.twoCol-right .sidebar-content {
  width: calc(60rem - 440px / 12 * 4 + (40px * 2.9));
}

.twoCol-right .button {
  display: block;
  margin-top: 20px;
}

.twoCol-right p {
  margin: 8px 0 20px 0;
}

/*/////////////////////
MASTER / DETAIL VIEW (OLD ... keep until docs is updated)
/////////////////////*/

.master-detail {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
}

.master-detail .list-view,
.master-detail .detail-view {
  padding-top: 80px;
}

/*List View Specific*/

.master-detail .list-view {
  background: #F5F7F7;
  -ms-flex: 1;
  flex: 1;
  padding-left: 40px;
}

.master-detail .list-view ul {
  list-style-type: none;
  margin-top: 20px;
}

.master-detail .list-view li {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
}

.master-detail .list-view li a {
  border-top: 1px solid #e1e7e6;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  color: #4C5859;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.85rem;
  -ms-flex-pack: justify;
  justify-content: space-between;
  letter-spacing: .12em;
  line-height: 1em;
  padding: 16px;
  padding-right: 40px;
  text-transform: uppercase;
  width: 100%;
}

.master-detail .list-view li a:hover {
  text-decoration: underline;
}

.master-detail .list-view li.selected a,
.master-detail .list-view li.active a {
  background: rgba(0,0,0,.05);
  border-top: 1px solid transparent;
  text-decoration: underline;
}

.master-detail .list-view li.selected + li > a {
  border-top: 1px solid transparent;
}

.master-detail .list-view li h5 {
  margin: 0;
  color: #4c5859;
}

.master-detail .list-view li .version-date {
  text-align: right;
  color: #89a19d;
}

/*Detail View Specific*/

.master-detail .detail-view {
  -ms-flex: 3;
  flex: 3;
  background: #fff;
  padding: 80px;
}

.master-detail .list-view #selector-mobile {
  display: none;
}

.detail-view .toggle {
  animation: release-notes-crossfade 250ms ease-in-out;
  animation-fill-mode: forwards;
}

.detail-view .toggle.selected {
  display: block;
}

@keyframes release-notes-crossfade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media screen and (max-width: 800px) {
  .master-detail {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .master-detail .list-view {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .master-detail .list-view,
  .master-detail .detail-view {
    padding: 20px;
  }

  .master-detail .list-view select {
    width: 100%;
    -webkit-appearance: none;
    margin: 0 auto 0 auto;
    padding: 10px 20px;
    height: auto;
    border-radius: 0;
    border: 1px solid #E1E7E6;
    font-family: 'Source Sans Pro',sans-serif;
    font-size: 1rem;
    color: #4c5859;
    background: transparent;
    position: relative;
    -moz-appearance: none;
  }

  .master-detail .list-view select:focus {
    outline: 0;
    border-color: rgba(93,194,149,0.5);
  }

  .master-detail .list-view .toggle-selector-mobile-wrapper {
    position: relative;
  }

  .master-detail .list-view .toggle-selector-mobile-wrapper:after {
    content: '\232A';
    font-size: .85em;
    line-height: 1.4em;
    margin-left: .5em;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: rotate(90deg) translate(-40%,0%);
  }
}

/*/////////////////////
TABLES
/////////////////////*/

table {
  text-align: center;
  vertical-align: middle;
  border: none;
  margin: 2rem auto;
}

table th {
  border: none;
  background: transparent;
  padding: 0 .5rem 1rem .5rem;
  border-bottom: 1px solid #E1E7E6;
}

table th p {
  font-weight: 400;
}

table td {
  border: none;
  vertical-align: middle;
  width: 25%;
  padding: 1rem .5rem;
}

table td:first-child {
  text-align: left;
  padding-left: 1rem;
}

table tbody tr:nth-child(even) {
  background: rgba(225, 231, 230, 0.5);
}

body:not(.page-pricing) table tbody tr:nth-child(even) td {
  border-right: 2px solid #fff;
}

/*Small Screens*/

@media screen and (max-width: 800px) {
  body,
  html {
    position: relative;
    max-width: 100%;
    width: 100vw;
    font-size: 16px;
  }

  body * {
    box-sizing: border-box;
  }

  header .hero-title {
    font-size: 2.57rem;
    font-weight: 300;
  }

  header .content-container,
  header .copy-container {
    padding: 20px;
    margin: 0 auto;
  }

  section:last-of-type {
    padding-bottom: 0;
  }

  section.content-container {
    padding: 0;
  }

  .content-container,
  .copy-container,
  .body-width {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    padding: 40px 20px;
    padding-bottom: 0;
  }

  section:last-of-type .content-container:last-child,
  section:last-of-type .copy-container:last-child {
    padding-bottom: 40px;
  }

  .copy-container > .copy-container {
    padding: 0;
  }

  .content-container > * {
    padding: 0;
  }

  .content-half {
    position: static;
    display: block;
    box-sizing: border-box;
    width: 100%;
  }

  .content-half:last-child {
    padding: 0px;
  }

  h1,
  .markdown h1 {
    font-size: 3.85rem;
    line-height: 1.2em;
  }

  .leader {
    font-size: 1.28rem;
    font-weight: 400;
    margin-bottom: 1em;
  }

  .long-text {
    font-size: 1rem;
    line-height: 1.4em;
  }

  h2 {
    font-size: 1.28rem;
  }

  .table-wrap {
    overflow: scroll;
    width: 100%;
    position: relative;
  }

  table {
    width: 200%;
    overflow: scroll;
  }

  table td {
    width: 25%;
  }

  table p {
    display: none;
  }

  hr {
    margin: 40px 0;
  }

  hr.content-container,
  hr.copy-container {
    margin: 40px 0;
    padding: 0;
  }

  /* Two Column layout for landing pages etc. */

  section.twoCol {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .twoCol-left {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    padding: 40px 20px;
  }

  .twoCol-right {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    padding: 40px 20px;
  }

  #drift-widget-container {
    display: none !important;
  }
}

/*Medium Screens*/

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .content-container,
  .body-width {
    width: 780px;
  }
}

/*Default*/

@media screen and (min-width: 1001px) and (max-width: 1280px) {
  .content-container,
  .body-width {
    width: 960px;
  }
}

@media screen and (min-width: 1281px) and (max-width: 1600px) {
  .content-container,
  .body-width {
    width: 1140px;
  }
}

/*Bigger Screens*/

@media screen and (min-width: 1601px) {
  .content-container,
  .body-width {
    width: 1460px;
  }
}

@font-face {
  font-family: 'icomoon';
  src: url("/assets/fonts/icons.d15f28.eot?638fw5");
  src: url("/assets/fonts/icons.d15f28.eot?#iefix638fw5") format('embedded-opentype'),
		url("/assets/fonts/icons.f200ad.woff?638fw5") format('woff'),
		url("/assets/fonts/icons.3386f0.ttf?638fw5") format('truetype'),
		url("/assets/fonts/icons.7f5d09.svg?638fw5#icomoon") format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"],
[class*=" icon-"] {
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  -moz-font-feature-settings: normal;
  font-feature-settings: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow:before {
  content: "\e619";
}

.icon-careers-airbnb:before {
  content: "\e600";
}

.icon-careers-benefits:before {
  content: "\e601";
}

.icon-careers-freedom:before {
  content: "\e602";
}

.icon-careers-money:before {
  content: "\e603";
}

.icon-github:before {
  content: "\e604";
}

.icon-ns-horizontal:before {
  content: "\e605";
}

.icon-ns-monogram:before {
  content: "\e606";
}

.icon-ns-stacked:before {
  content: "\e607";
}

.icon-nship-packages:before {
  content: "\e608";
}

.icon-nship-timeline:before {
  content: "\e609";
}

.icon-nship-troubleshooting:before {
  content: "\e60a";
}

.icon-nship-usecase1:before {
  content: "\e60b";
}

.icon-nship-usecase2:before {
  content: "\e60c";
}

.icon-nship-usecase3:before {
  content: "\e60d";
}

.icon-problems-complexity:before {
  content: "\e60e";
}

.icon-problems-scale:before {
  content: "\e60f";
}

.icon-problems-speed:before {
  content: "\e610";
}

.icon-services-arch:before {
  content: "\e611";
}

.icon-services-review:before {
  content: "\e612";
}

.icon-services-training:before {
  content: "\e613";
}

.icon-solutions-efficiency:before {
  content: "\e614";
}

.icon-solutions-experts:before {
  content: "\e615";
}

.icon-solutions-products:before {
  content: "\e616";
}

.icon-support:before {
  content: "\e617";
  color: #ff6040;
}

.icon-rss:before {
  content: "\e61a";
}

.icon-twitter:before {
  content: "\e618";
}

.icon-googleplus:before {
  content: "\e61b";
}

.icon-facebook:before {
  content: "\e61c";
}

.icon-linkedin:before {
  content: "\e61d";
}

.icon-youtube:before {
  content: "\ea9d";
}

.icon-check:before {
  content: "\e620";
  color: #5ac878;
}

.icon-open-core:before {
  content: "\e61e";
}

.icon-nsight:before {
  content: "\e61f";
}

.icon-press:before {
  content: "\e621";
}

.hs-cta-wrapper {
  margin: 0;
  padding: 0;
  display: inline-block;
}

.hs-cta-wrapper > span > a {
  display: block;
  margin: 0 auto;
}

.legal.long-copy blockquote {
  padding-top: 0;
  padding-bottom: 0;
  margin: 3rem 0;
}

.content-container.legal {
  padding-bottom: 40px;
}

.content-container.legal > p {
  text-indent: 2rem;
}

.legal p.no-indent {
  text-indent: 0;
}

/*LICENSES*/

#license-header a.button {
  display: inline-block;
  margin-top: 1rem;
}

/*LEGAL PAGE*/

.legal-container {
  margin-left: -20px;
  margin-right: -20px;
  padding: 0 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
}

.legal-container svg {
  height: 50px;
  margin-right: 10px;
}

.legal-container .ns-legal svg {
  fill: #4C5859;
}

.long-copy .legal-container ul {
  margin: 30px 0 0 0;
  width: 100%;
}

.long-copy .legal-container li {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: start;
  align-items: flex-start;
  border-top: 1px solid #E1E7E6;
  padding: 30px 0;
  margin: 0;
}

.legal-container li a {
  border: 0;
  font-weight: 600;
}

.long-copy .legal-container ul li:before {
  display: none;
}

span#last-updated {
  font-size: 1rem;
  color: #89A19D;
  font-style: italic;
}

.legal-container h3 {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
}

.ns-platform-legal svg {
  fill: #4C5859;
}

@media screen and (max-width: 800px) {
  .legal-container {
    margin: 0;
    padding: 0;
    display: block;
  }

  .legal-container .legal-right,
  .legal-container .legal-left {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    box-sizing: border-box;
    padding: 0;
  }

  .legal-container .legal-right h3:first-child {
    margin-top: 0;
  }

  .legal-container .legal-left {
    margin-left: 0;
  }
}

/*/////////////////////
Basic Headings
/////////////////////*/

h1,
h2,
h3,
h4,
h5,
h6 {
  display: block;
  margin: 0;
  padding: 0;
  margin-bottom: .125em;
}

h1 {
  font-size: 3.85rem;
  font-weight: 200;
  letter-spacing: -.03em;
  line-height: 1.2em;
}

h1 a {
  color: #4C5859;
}

h1 a:hover {
  color: #4cb5ff;
}

h2 {
  font-size: 2.57rem;
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: -.01em;
}

h2.heavy + h2.light {
  margin-top: 20px;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: #4C5859;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
  color: #4C5859;
  text-decoration: underline;
}

h3 {
  font-size: 1.7rem;
  font-weight: 600;
  color: #4C5859;
  line-height: 1.2em;
}

h4,
h5,
h6 {
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.2em;
}

h4 {
  font-size: 1rem;
}

h5,
h6 {
  font-size: 0.85rem;
}

p + h1,
p + h2,
p + h3,
p + h4,
p + h5,
p + h6 {
  margin-top: 1em;
}

/*/////////////////////
Section Title
/////////////////////*/

h4.section-title {
  width: 100%;
  color: #3D4647;
  font-weight: 400;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  margin: 80px auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: left;
}

.section-title:after {
  content: '';
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
  height: 1px;
  background: #E1E7E6;
  -ms-flex-item-align: center;
  align-self: center;
}

.section-title:before {
  margin-right: 20px;
}

.section-title:after {
  margin-left: 20px;
}

.section-title:first-child {
  margin-top: 0;
}

h4.section-title.dark {
  color: #fff;
}

.section-title.dark:after {
  background: rgba(255,255,255,.15);
}

/*/////////////////////
Standard Text Styles
/////////////////////*/

p {
  line-height: 1.4em;
}

p:not(.title) + p {
  margin-top: 1em;
}

b {
  font-weight: 600;
}

.big.leader {
  font-size: 2.57rem;
  line-height: 1.3em;
}

.leader {
  font-size: 1.7rem;
  line-height: 1.4em;
  font-weight: 300;
  letter-spacing: -.02em;
  margin-top: 1em;
}

.long-text {
  font-size: 1.28rem;
}

.big {
  font-weight: 200;
  font-size: 5.7rem;
  line-height: 1.1em;
}

.subtle {
  font-weight: normal;
  color: #89A19D;
}

.light {
  font-weight: 300;
}

.heavy {
  font-weight: 600;
}

/*/////////////////////
Horizontal Rules
/////////////////////*/

.copy-container hr {
  margin: 2.8em 0;
  border-color: #E1E7E6;
}

hr {
  display: block;
  margin: 40px auto;
  padding: 0;
  border: 0px solid;
  border-top-width: 1px;
  border-color: #E1E7E6;
}

hr.third {
  width: 33%;
}

/*/////////////////////
Special Styles for Long text (blog, information pages, etc)
/////////////////////*/

.long-copy > :first-child {
  margin-top: 0;
}

.long-copy *:not(.section-title):not(hr):not(pre>code):not(img) {
  word-wrap: break-word;
}

/*Heading Overrides*/

.long-copy h1 + p {
  margin-top: 1em;
}

/* JUST FOR THE BLOG */

.single-post .long-copy h1 {
  font-size: 3.85rem;
  font-weight: 600;
}

/*.long-copy h2 + p { margin-top: 1rem; }*/

.long-copy h2 + h2.light {
  margin-top: 1rem;
}

.long-copy h1,
.long-copy h2,
.long-copy h3,
.long-copy h4,
.long-copy h5,
.long-copy h6 {
  line-height: 1.2em;
  margin: 3.75rem 0 0 0;
}

.long-copy a {
  border-bottom: 1px solid #E1E7E6;
  color: #4C5859;
  transition: color 250ms;
}

.long-copy a:hover {
  color: #4cb5ff;
}

/*General Styles*/

.long-copy p {
  margin-top: 2rem;
  max-width: 960px;
}

.long-copy p:not(.leader) {
  font-size: 1.28rem;
  line-height: 1.6em;
}

.long-copy p br {
  display: none;
}

.long-copy img {
  max-width: 100%;
  margin: 2rem auto 0 auto;
  border: 0;
}

/*Lists*/

.long-copy ul {
  list-style-type: none;
}

.long-copy ul,
.long-copy ol {
  font-size: 1.28rem;
  margin: 1.5em 0 1.5em 1.5em;
  padding: 0;
}

.long-copy ul ul,
.long-copy ul ol,
.long-copy ol ol,
.long-copy ol ul {
  margin-top: 0;
  margin-left: 1.5em;
}

.long-copy li {
  margin: 1rem 0;
  position: relative;
  line-height: 1.4em;
}

.long-copy ul li:before {
  background: rgba(76, 88, 89, 0.33);
  border-radius: 100%;
  color: rgba(76, 88, 89, 0.33);
  content: '';
  display: block;
  height: 5px;
  left: 0;
  position: absolute;
  top: 0;
  transform: translate(-1em, .6em);
  width: 5px;
}

.long-copy ul li ul li:before {
  background: transparent;
  content: '\21b3';
  font-size: .8em;
  font-weight: 700;
  transform: translate(-1.5em, .15em);
}

/*Code*/

code {
  font-family: 'Source Code Pro', 'Ubuntu Mono', monospace;
  weight: 400;
  font-size: 0.8em;
}

.long-copy p > code,
.long-copy li > code {
  border-radius: 2px;
  background: transparent;
  border: 1px solid #E1E7E6;
  color: rgb(77, 153, 140);
  padding: 0 4px 2px 4px;
  word-wrap: break-word;
  white-space: normal;
}

.long-copy a > code {
  border: 0;
  background: transparent;
}

h1 code,
h2 code,
h3 code,
h4 code,
h5 code,
h6 code {
  font-size: 1em;
  color: rgb(137, 161, 157);
  margin: 0 .25em;
}

.long-copy pre > code {
  border-radius: 2px;
  display: block;
  font-size: 1em;
  padding: 20px;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-x: auto;
}

.long-copy pre > code:not(.hljs) {
  background: #F5F7F7;
  border: 1px solid #E1E7E6;
}

/*Blockquote*/

.long-copy blockquote {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 2rem;
  margin: 3em 0;
  border-left: 2px solid #66ccbb;
}

.long-copy blockquote p,
.long-copy blockquote ul,
.long-copy blockquote ol {
  line-height: 1.4em;
}

.long-copy blockquote > ul,
.long-copy blockquote > ol {
  margin-left: 0.25rem;
}

.long-copy blockquote :first-child {
  margin-top: 0;
  padding-top: 0;
}

.long-copy blockquote :last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

/*TWEETS*/

.twitter-tweet {
  margin: 2rem 0 !important;
}

/*pre formatting*/

.long-copy pre {
  margin: 2rem auto 0 auto;
  white-space: pre-wrap;
}

/*Aside*/

.long-copy aside {
  width: 200px;
  font-size: 0.8em;
  position: absolute;
  left: 100%;
  margin-left: 3rem;
  line-height: 1.6em;
  color: #89A19D;
}

/*////////////////
MEDIA QUERIES
////////////////*/

@media screen and (max-width: 800px) {
  h1 {
    font-size: 2.57rem;
  }

  h2 {
    font-size: 1.7rem;
  }

  h3.section-title,
  h4.section-title {
    margin-bottom: 40px;
  }

  .big.leader {
    font-size: 1.7rem;
  }
}

@media screen and (max-width: 1260px) {
  .long-copy aside {
    margin-left: 2rem;
  }
}

@media screen and (max-width: 1200px) {
  .long-copy aside {
    margin-left: 3rem;
    width: 150px;
  }
}

@media screen and (max-width: 1130px) {
  .long-copy aside {
    position: relative;
    top: 0;
    left: 0;
    font-size: 1em;
    line-height: 1.6rem;
    width: auto;
    font-style: italic;
    margin: 1.5rem!important;
    font-size: 0.85em;
  }
}

/*CODE SYNTAX HIGHLIGHT OVERRIDES*/

.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  background: #353d3e;
}

.hljs {
  color: #E1E7E6;
}

.hljs-strong,
.hljs-emphasis {
  color: #fff;
}

.hljs-bullet,
.hljs-quote,
.hljs-link,
.hljs-number,
.hljs-regexp,
.hljs-literal {
  color: #75BBEA;
}

.hljs-code,
.hljs-selector-class {
  color: #5ac878;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-section,
.hljs-attribute,
.hljs-name,
.hljs-variable {
  color: rgb(255, 197, 81);
}

.hljs-params {
  color: #89A19D;
}

.hljs-string {
  color: #ADC480;
}

.hljs-subst,
.hljs-type,
.hljs-built_in,
.hljs-builtin-name,
.hljs-symbol,
.hljs-selector-id,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-template-tag,
.hljs-template-variable,
.hljs-addition {
  color: rgb(255, 128, 102);
}

.hljs-comment,
.hljs-deletion,
.hljs-meta {
  color: #89A19D;
}

/*Syntax Highlighting*/

/** Blue **/

.long-copy .k,
.long-copy .kd,
.long-copy .kr {
  color: #75BBEA;
}

/** Yellow **/

.long-copy .nt,
.long-copy .s,
.long-copy .nv,
.long-copy .s1,
.long-copy .s2 {
  color: #FFEC5C;
}

/** Red **/

.long-copy .lang-html .nt,
.long-copy .lang-html .na,
.long-copy .mf,
.long-copy .mi {
  color: #FF7063;
}

/** Grey **/

.long-copy .cm,
.long-copy .cp,
.long-copy .c1 {
  color: #89A19D;
  font-style: italic;
}

/** White **/

.long-copy .o,
.long-copy .p {
  color: #89A19D;
}

.long-copy .ge {
  font-style: italic;
}

:root {
  /**
   * Color definitions.
   */
  /**
   * Typography.
   */
  /**
   * Layout
   */
  /*(var(--layout-body-width) - (11 * var(--layout-padding-sides)) / 12)*/
  /**
   * Z Indices
   */
}

/**
   * Media Sizes
   */

/*BRAND GRID*/

.brand-grid {
  background: #F5F7F7;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}

.brand-grid .content-container {
  padding: 80px 0;
  margin: 0 auto;
}

.brand-grid h4 {
  margin: 0 0 40px 0;
}

.brand-grid img {
  width: 100%;
}

.brand-grid ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style-type: none;
}

.brand-grid-updated ul {
  -ms-flex-pack: center;
  justify-content: center;
}

.brand-grid li {
  box-sizing: border-box;
  -ms-flex-preferred-size: 16.6667%;
  flex-basis: 16.6667%;
  padding: 0 30px;
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .brand-grid li {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
  }
}

@media screen and (max-width: 800px) {
  .brand-grid .content-container {
    padding: 20px;
  }

  .brand-grid li {
    -ms-flex-preferred-size: 33.33%;
    flex-basis: 33.33%;
    padding: 0px 20px;
  }

  .brand-grid li#symantec,
  .brand-grid li#mastercard,
  .brand-grid li#newscorp {
    display: none;
  }
}

.container-card {
  display: none;
  /* Remove this line to show the cards */
  background-color: #ffffff;
  background-image: url("https://assets.nodesource.com/website/background+white.png");
  height: auto;
  background-size: cover;
  background-repeat: no-repeat;
}

.container-card > div:first-of-type {
  height: 100%;
  margin: 0px;
  background: linear-gradient(#ffffff, transparent, transparent);
  text-align: center;
  color: #2e3535;
  width: 100%;
}

.container-card > div h3 {
  position: relative;
}

.container-card > div h3::before {
  content: '';
  position: absolute;
  left: 20px;
  width: 47%;
  bottom: -41.5px;
  border-bottom: 2px solid #e1e7e6;
}

.container-card > div h3::after {
  content: '';
  position: absolute;
  right: 20px;
  width: 47%;
  bottom: -41.5px;
  border-bottom: 2px solid #e1e7e6;
}

.container-card > div svg {
  width: 30px;
  height: 33px;
  margin-top: 20px;
}

.container-card ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  margin: 20px;
}

.container-card .card {
  width: 20%;
  -ms-flex-positive: 0;
  flex-grow: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 20px;
  padding: 40px;
  border-radius: 5px;
  box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.1);
  border: solid 1px #89a19d;
  background-image: linear-gradient(130deg, #f5f7f7 0%, #e1e1e1 100%);
  margin: 20px 0px;
}

.container-card .card img {
  height: 40px;
}

.container-card .card p {
  text-align: left;
}

@media screen and (max-width: 800px) {
  .container-card > div h3::before {
    width: 37%;
  }

  .container-card > div h3::after {
    width: 37%;
  }

  .container-card .card {
    width: 100%;
  }
}

button,
.button,
.hs-button {
  background: #4C5859;
  border: 0;
  border-radius: 2px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: .12em;
  line-height: 1em;
  outline: 0;
  padding: .75em .85em;
  text-align: center;
  text-transform: uppercase;
}

button:hover,
.button:hover,
.hs-button:hover {
  background: rgb(57, 66, 67);
  color: #fff;
}

/* Color Options */

button.blue,
.button.blue {
  background: #4cb5ff;
  color: #fff;
}

button.blue:hover,
.button.blue:hover {
  background: rgb(65, 154, 217);
}

button.green,
.button.green {
  background: #5ac878;
  color: #fff;
}

button.green:hover,
.button.green:hover {
  background: rgb(77, 170, 102);
}

button.teal,
.button.teal {
  background: #66ccbb;
  color: #fff;
}

button.teal:hover,
.button.teal:hover {
  background: rgb(87, 173, 159);
}

button.rose,
.button.rose {
  background: #FA9FC5;
  color: #fff;
}

button.rose:hover,
.button.rose:hover {
  background: rgb(213, 135, 167);
}

button.secondary,
.button.secondary {
  background: transparent;
  border: 1px solid #4C5859;
  color: #4C5859;
  padding: .65em .85em;
}

button.secondary:hover,
.button.secondary:hover {
  color: #202525;
  border-color: #202525;
}

button.secondary:hover:not(.white),
.button.secondary:hover:not(.white) {
  box-shadow: #E1E7E6 0px 4px 8px;
}

button.secondary.white,
.button.secondary.white {
  border: 1px solid #fff;
  color: #fff;
}

button.secondary.white:hover,
.button.secondary.white:hover {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.75);
  color: rgba(255,255,255,1);
}

button.secondary.green,
.button.secondary.green {
  color: #5ac878;
  border-color: #5ac878;
}

button.secondary.green,
.button.secondary.green:hover {
  border-color: rgba(90, 200, 120, .75);
  background: transparent;
}

button.light,
.button.light {
  background: #E1E7E6;
  color: #4C5859;
}

button.light:hover,
.button.light:hover {
  background: rgb(214, 219, 219);
}

button.black,
.button.black {
  background: rgba(0,0,0,.65);
  color: #fff;
}

button.black:hover,
.button.black:hover {
  background: #4cb5ff;
}

/* Learn More Link */

button.more,
.button.more {
  -ms-flex-item-align: start;
  align-self: flex-start;
  background: transparent;
  color: #4cb5ff;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-direction: row;
  flex-direction: row;
  height: .85em;
  line-height: .85em;
  padding: 0;
}

button.more:hover,
.button.more:hover {
  filter: brightness(.85);
}

button.more:after,
.button.more:after,
button.cta:after,
.button.cta:after {
  content: '\232A';
  display: inline-block;
  font-size: .85em;
  line-height: 100%;
  margin-left: .5em;
  width: .5em;
}

button.more.small:after,
.button.more.small:after {
  line-height: 1.3em;
}

/* Small Button Class added to any button for smaller font size*/

button.small,
.button.small {
  font-size: 0.85rem;
}

/* Big Button Class added to any button for bigger font size*/

button.big,
.button.big {
  font-size: 1.28rem;
}

/* Makes a button full width */

button.block,
.button.block {
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/* Disabled Button */

button.disabled,
button:disabled,
.button.disabled,
.button:disabled,
.hs-button.disabled,
.hs-button:disabled {
  background: #89A19D;
  color: #4C5859;
}

/* Hubspot Buttons */

.hs-button {
  background: rgba(0,0,0,.15);
}

.hs-button:hover {
  background: rgba(0, 0, 0, 0.3);
}

.hs-button.primary {
  background: #4cb5ff;
  color: #fff;
}

.hs-button.primary:hover {
  background: rgb(65, 154, 217);
}

.hs-button.primary.green {
  background: #5ac878;
  color: #fff;
}

.hs-button.primary.green:hover {
  background: rgb(77, 170, 102);
}

/* Datasheet CTA Button */

.datasheetCTA.button {
  -ms-flex-align: center;
  align-items: center;
  background: transparent;
  border: 1px solid currentColor;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 40px;
  margin-bottom: 2px;
  transition-duration: 100ms;
}

.datasheetCTA.button:hover {
  background: transparent;
  filter: brightness(75%);
}

.datasheetCTA.button:active {
  transform: translate(2px,2px);
}

.datasheetCTA svg {
  fill: currentColor;
  height: 24px;
  margin-right: 16px;
  width: auto;
}

.datasheetCTA.blue {
  color: #4cb5ff;
}

.datasheetCTA.teal {
  color: #66ccbb;
}

.datasheetCTA.green {
  color: #5ac878;
}

.datasheetCTA.rose {
  color: #FA9FC5;
}

.datasheetCTA.grass {
  color: #ADC480;
}

@media screen and (max-width: 800px) {
  button,
  .button,
  .hs-button {
    border-radius: 2px;
    -webkit-appearance: none;
    width: 100%;
  }
}

.chevron {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

.chevron svg {
  display: block;
  height: 100%;
  width: 100%;
}

.chevron .filler {
  background: #F5F7F7;
  display: block;
  height: 240px;
}

@media screen and (max-width: 800px) {
  .chevron .filler {
    height: 100px;
  }
}

/* CONTENT LIST AND GRID */

/* Use these for static marketing content lists */

/* Universal Styles */

ul.content-list,
ul.content-grid {
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  position: relative;
  text-align: left;
  padding: 0;
  margin: 0;
}

ul.content-list > li,
ul.content-grid > li {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

ul.content-list > li a.button.more,
ul.content-grid > li a.button.more {
  margin-top: 10px;
}

ul.content-list .title,
ul.content-grid .title {
  color: #4C5859;
  display: block;
  font-size: 1.28rem;
  font-weight: 600;
  line-height: 1.2em;
}

ul.content-list a.title:hover,
ul.content-grid a.title:hover {
  text-decoration: underline;
}

/* List Specific */

ul.content-list {
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 40px;
}

ul.content-list > li {
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: row;
  flex-direction: row;
}

ul.content-list > li:not(:last-child) {
  margin-bottom: 40px;
}

ul.content-list img,
ul.content-list svg {
  display: block;
  width: 80px;
  height: auto;
  margin-right: 20px;
}

ul.content-list .imageContainer {
  display: block;
  margin-right: 20px;
}

ul.content-list .imageContainer img {
  margin: 0;
}

ul.content-list .content-copy {
  -ms-flex: 1;
  flex: 1;
  line-height: 0;
}

ul.content-list .secondary.button {
  margin-left: 20px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-item-align: center;
  align-self: center;
}

/* Grid Specific */

ul.content-grid {
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 80px -20px;
}

ul.content-grid:last-child {
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 80px -20px 80px -20px;
}

ul.content-grid > li {
  box-sizing: border-box;
  -ms-flex: 6;
  flex: 6;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-preferred-size: 33.3%;
  flex-basis: 33.3%;
  -ms-flex-positive: 0;
  flex-grow: 0;
  padding: 0px 20px;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

ul.content-grid .content-copy {
  -ms-flex-positive: 1;
  flex-grow: 1;
}

ul.content-grid .imageContainer {
  margin-bottom: 20px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
}

ul.content-grid img,
ul.content-grid svg {
  display: block;
  width: 100px;
  margin-bottom: 20px;
}

ul.content-grid .button {
  -ms-flex-item-align: end;
  align-self: flex-end;
  box-sizing: border-box;
  margin-top: 20px;
  width: 100%;
}

/* Numbered Modifier - adds numbers to each LI */

/* Checkmark Modifier - adds a checkmark to each LI */

ul.numbered {
  counter-reset: itemNum;
}

ul.content-list.numbered > li:before,
ul.content-grid.numbered > li .title:before {
  counter-increment: itemNum;
  content: counter(itemNum);
}

ul.content-list.numbered > li:before,
ul.content-grid.numbered > li .title:before,
ul.content-list.checklist > li:before,
ul.content-grid.checklist > li .title:before,
li.check:before {
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-item-align: center;
  align-self: center;
  border: 1px solid #66ccbb;
  border-radius: 99px;
  box-sizing: border-box;
  color: #66ccbb;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 400;
  height: 30px;
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: 10px;
  width: 30px;
}

ul.content-list.numbered > li:before,
ul.content-list.numbered > li,
ul.content-list.checklist > li:before,
ul.content-list.checklist > li {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

ul.content-grid.numbered > li .title,
ul.content-grid.checklist > li .title {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  margin-bottom: .5em;
}

ul.content-list.numbered > li:not(:last-child),
ul.content-list.checklist > li:not(:last-child) {
  margin-bottom: 20px;
}

ul.content-grid.numbered > li .title:before,
ul.content-grid.checklist > li .title:before,
li.check:before {
  margin-right: 10px;
}

ul.content-list.checklist > li:before,
ul.content-grid.checklist > li .title:before,
li.check:before {
  content: "\2713";
  padding-top: .1em;
}

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

li.check {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  margin-top: 1em;
}

/* Divided List - adds dividers (LIST ONLY ... doesn't work on grid) */

ul.content-list.divided > li {
  margin: 0;
  padding-bottom: 40px;
}

ul.content-list.divided > li:not(:first-child) {
  border-top: 1px solid #E1E7E6;
  padding-top: 40px;
}

ul.content-grid.divided > li:before {
  content: "Ooops don't use the divided class on a grid";
}

/* Centered - centers content (GRID ONLY ... doesn't work on list) */

ul.content-grid.centered > li {
  text-align: center;
  -ms-flex-align: center;
  align-items: center;
}

ul.content-grid.centered img {
  -ms-flex-item-align: center;
  align-self: center;
}

ul.content-grid.centered .button {
  -ms-flex-pack: center;
  justify-content: center;
}

/* Sidebar Content List */

ul.content-list.sidebar > li {
  -ms-flex-align: center;
  align-items: center;
}

ul.content-list.sidebar .title {
  font-size: 1rem;
  margin-bottom: 0;
}

/* Media Queries */

@media screen and (max-width: 800px) {
  ul.content-grid > li {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-bottom: 40px;
    padding: 0;
    width: 100%;
  }

  ul.content-grid:last-child {
    margin: 20px 0;
  }

  ul.content-grid > li img {
    margin-bottom: 1em;
    width: 100px;
  }

  ul.content-grid > li:last-child {
    margin-bottom: 0;
  }

  ul.content-list > li .title {
    font-size: 1.28rem;
  }

  ul.content-list > li img,
  ul.content-list > li .imageContainer {
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 120px;
    height: auto;
    margin-right: 20px;
  }

  ul.content-list .content-copy {
    -ms-flex: 1;
    flex: 1;
  }

  ul.content-list .secondary.button {
    margin-left: 0;
    width: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-top: 10px;
  }

  ul.content-list.divided > li {
    padding-bottom: 20px;
  }

  ul.content-list.divided > li:not(:first-child) {
    padding-top: 20px;
  }
}

@media screen and (min-width: 1281px) {
  ul.content-list.splitter {
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  ul.content-list.splitter > li,
  ul.content-list.splitter > li:not(:first-child) {
    border-top: 0;
    box-sizing: border-box;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    margin-bottom: 40px;
    padding: 0 40px 0 0;
  }

  ul.content-list.splitter > li:not(:first-child):nth-child(even) {
    border-left: 1px solid #E1E7E6;
    padding: 0 0 0 40px;
  }

  /*    ul.content-list.checklist, ul.content-list.divided {
    flex-direction: row;
    flex-wrap: wrap;
  }

  ul.content-list.divided > li, ul.content-list.divided > li:not(:first-child), ul.content-list.checklist > li {
    border-top: 0;
    box-sizing: border-box;
    flex-basis: 50%;
    margin-bottom: 40px;
    padding: 0 40px 0 0;
  }

  ul.content-list.divided > li:not(:first-child):nth-child(even), ul.content-list.checklist > li:nth-child(even) {
    border-left: 1px solid var(--color-light-2);
    padding: 0 0 0 40px;
  }*/
}

/*//////////
OPTION LINKS
//////////*/

.option-links {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  margin: 40px -20px;
}

.option-links:last-child {
  margin-bottom: 0;
}

.option-links a {
  -ms-flex-align: center;
  align-items: center;
  background: #353d3e;
  border-top: 2px solid #5ac878;
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 33.333%;
  flex-basis: 33.333%;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 1.7rem;
  font-weight: 300;
  margin: 0px 20px;
  padding: 40px 20px 10px 20px;
  text-align: center;
  transition: background 250ms;
}

.option-links a:hover {
  background: #3d4647;
}

.option-links a img {
  max-width: 100px;
  height: auto;
  margin-bottom: 20px;
}

.option-links a .button.more {
  background: transparent;
  border-top: 1px solid #2e3535;
  color: #5ac878;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 1em;
  margin-top: 20px;
  padding: 10px 0 0 0;
  width: 100%;
}

@media screen and (max-width: 800px) {
  .option-links {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .option-links a {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 20px;
  }

  .option-links a img {
    max-width: 80px;
  }

  .option-links a .button.more {
    margin-top: 20px;
  }
}

.toggle.active {
  display: block;
  animation: toggle-animation 750ms;
  animation-fill-mode: forwards;
}

.toggle {
  display: none;
}

.toggle-selector-mobile-wrapper {
  display: none;
}

@keyframes toggle-animation {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media screen and (max-width: 800px) {
  .toggle-selector-mobile-wrapper {
    display: block;
  }

  .toggle-wrapper {
    display: none;
  }
}

body.email-form-visible {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.email-form {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 999999;
  background: #fff;
  border-radius: 4px;
  color: #4C5859;
  width: 100%;
  max-width: 32rem;
  height: auto;
  max-height: 90vh;
  overflow: auto;
}

.email-form-background {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #2E3535;
  z-index: 999998;
}

.email-form h2 {
  line-height: 1em;
  padding: 1.2rem 2rem;
  display: block;
  width: 100%;
  box-sizing: border-box;
  border-bottom: 1px solid #89A19D;
}

.email-form p {
  font-size: 1rem;
  line-height: 1.6em;
  margin: 1rem 0;
  margin-bottom: 0rem;
}

.email-form p:first-of-type {
  margin-top: 0;
}

.email-form select,
.email-form textarea,
.email-form input[type="email"],
.email-form input[type="url"],
.email-form input[type="text"] {
  border: 1px solid rgb(196, 208, 206);
  background: rgb(249, 250, 250);
  border-radius: 3px;
  font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #4C5859;
  padding: 0.7rem 0.8rem;
  display: block;
  width: 100%;
  margin-top: 1rem;
  font-size: 1rem;
}

.email-form .two-column {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.email-form .two-column input {
  width: 48.5%;
}

.email-form select {
  height: 2.5rem;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 2.5rem;
  text-indent: 0.3rem;
  padding-left: 0;
}

.email-form textarea:focus,
.email-form select:focus,
.email-form input[type="email"]:focus,
.email-form input[type="url"]:focus,
.email-form input[type="text"]:focus {
  border-color: #89A19D;
  outline: 0;
}

.email-form-topics {
  font-size: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial;
  /* Chrome, Safari, Opera */
  -moz-column-count: 2;
  /* Firefox */
  column-count: 2;
  font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial;
  color: #4C5859;
}

.email-form label[for="topic"] {
  font-size: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial;
  margin-top: 1rem;
}

.email-form textarea {
  font-size: 1rem;
  min-height: 5rem;
  margin-bottom: 1rem;
  max-width: 100%;
}

.email-form textarea::-webkit-input-placeholder,
.email-form input::-webkit-input-placeholder {
  font-style: italic;
  color: rgb(184, 199, 196);
}

.email-form input::-moz-placeholder,
.email-form textarea::-moz-placeholder {
  font-style: italic;
  color: rgb(172, 189, 186);
}

.email-form input:-moz-placeholder,
.email-form textarea:-moz-placeholder {
  /* Older versions of Firefox */
  font-style: italic;
  color: rgb(172, 189, 186);
}

.email-form input:-ms-input-placeholder,
.email-form textarea:-ms-input-placeholder {
  font-style: italic;
  color: rgb(172, 189, 186);
}

.email-form label {
  display: block;
  margin-top: 0rem;
  margin-bottom: 1rem;
}

.email-form input[type="reset"],
.email-form input[type="submit"] {
  float: right;
  margin-left: 0.5rem;
}

.email-form-main,
.email-form-complete {
  padding: 2rem;
}

.email-form-complete {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 75%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.email-form-pending .email-form input[type="submit"] {
  background-image: url("/assets/load-rings.218a40.svg");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  color: rgba(255,255,255,0);
}

.email-form-close {
  color: #89A19D;
  position: absolute;
  top: 1.75rem;
  right: 2rem;
  font-size: 1.5rem;
  cursor: pointer;
  height: 0.5em;
  line-height: 0.5em;
  font-weight: 600;
}

.email-form .email-form-error {
  color: #FF5445;
  margin-top: -1rem;
  display: none;
}

/**
 * Transitions
 */

.email-form {
  transition: visibility 0.35s, transform 0.35s cubic-bezier(0.600, -0.280, 0.735, 0.045), opacity 0.35s;
  transform: translate(-50%, -100%) rotateY(120deg);
  transform-origin: 0% 0%;
  visibility: hidden;
  opacity: 0;
}

.email-form-visible .email-form {
  visibility: visible;
  transition: visibility 0s, transform 0.25s cubic-bezier(0.175, 0.885, 0.320, 1.275), opacity 0.5s;
  transition-delay: 0.25s;
  transform: translate(-50%, -50%) rotateY(0);
  opacity: 1;
}

.email-form-background {
  transition: visibility 0.25s, opacity 0.25s;
  visibility: hidden;
  opacity: 0;
}

.email-form-visible .email-form-background {
  visibility: visible;
  transition: visibility 0s, opacity 0.25s;
  opacity: 0.5;
}

.email-form-main {
  opacity: 1;
  transition: opacity 0.25s;
}

.email-form-complete {
  opacity: 0;
  transition: opacity 0.25s;
  visibility: hidden;
}

.email-form input[type="reset"],
.email-form input[type="submit"] {
  transition: all 0.25s;
}

.email-form-success .email-form-main {
  opacity: 0;
}

.email-form-success .email-form-complete {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 800px) {
  .email-form-background {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: #2E3535;
    z-index: 999998;
  }

  .email-form {
    transform: translate(-100%, 0);
    top: 0;
    left: 0;
    border-radius: 0;
    max-width: none;
    max-height: 100vh;
  }

  .email-form-visible .email-form {
    height: 100%;
    overflow-y: auto;
    transform: translate(0, 0);
  }

  .email-form select,
  .email-form textarea,
  .email-form input[type="email"],
  .email-form input[type="url"],
  .email-form input[type="text"] {
    margin-top: 0.5rem;
  }

  .email-form p {
    font-size: 1rem;
    margin-bottom: 1rem;
  }

  .email-form input.button {
    margin-top: 0.5rem;
  }
}

/*FLIPPING STUFF*/

.flipcard-container {
  perspective: 2000;
}

.flipcard {
  background: transparent;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
  width: 50%;
  height: 500px;
  max-width: 1240px;
  min-width: 620px;
  transition: 500ms;
  transform-style: preserve-3d;
  transform-origin: 100% 50%;
  overflow: visible;
}

.flipcard.flipped {
  transform: rotateX(-180deg);
}

.flipcard-container .front,
.flipcard-container .back {
  width: 100%;
  height: 100%;
  max-width: 1240px;
  min-width: 620px;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  backface-visibility: hidden;
  z-index: 3;
}

.flipcard-container .front {
  z-index: 10;
  transform: rotateX(0deg);
}

.flipcard-container .back {
  transform: rotateX(180deg);
}

.main-cta-initial {
  background: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 800px) {
  .flipcard {
    height: auto;
    width: 200vw;
    min-width: 200vw;
    max-width: 200vw;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .flipcard.flipped {
    transform: translate(-100%, 0);
  }

  .flipcard-container .front,
  .flipcard-container .back {
    width: 100vw;
    height: auto;
    max-width: 100vw;
    min-width: 100vw;
    position: relative;
    transform: none;
  }

  #main-cta {
    width: 100%;
    min-width: 100%;
  }
}

footer.main-footer-wrap {
  background: #202525;
  position: relative;
  padding: 80px 0;
}

footer.landing-page {
  background: #4c5859;
  color: #89a19d;
}

.main-footer {
  color: #89A19D;
  margin: 0 auto;
  position: relative;
  z-index: 3;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  line-height: 1.4em;
  -ms-flex-pack: center;
  justify-content: center;
}

.main-footer > div {
  vertical-align: top;
  position: relative;
}

.main-footer #footer-links {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main-footer > div:last-child {
  padding-right: 0;
}

.main-footer a {
  color: #fff;
}

.main-footer a:hover {
  text-decoration: underline;
}

.main-footer #footer-logo {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 12rem;
}

.main-footer #landing-footer-logo {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.main-footer.content-container.landing-page {
  -ms-flex-pack: center;
  justify-content: center;
}

.main-footer #footer-logo a,
#landing-footer-logo a {
  display: block;
}

.main-footer #footer-logo svg,
#landing-footer-logo svg {
  fill: #fff;
  width: 4rem;
}

.main-footer #landing-footer-logo svg {
  transform: scale(2.5);
  fill: #89a19d;
}

/*Social Links Under Logo*/

.social-links {
  display: -ms-flexbox;
  display: flex;
  flex-width: 100%;
  margin-top: 10px;
}

.social-links a {
  display: inline;
  line-height: 1em;
  margin-right: 10px;
}

.social-links a {
  color: rgba(137, 161, 157, 0.75);
}

.social-links a:hover {
  color: rgb(137, 161, 157);
  text-decoration: none;
}

.main-footer-fine-print {
  color: #89A19D;
  display: block;
  font-size: 0.85rem;
  margin-top: 5px;
  text-align: left;
  flex-width: 100%;
}

.main-footer ul {
  list-style-type: none;
  line-height: 1rem;
  margin-left: 40px;
  width: 10rem;
}

.main-footer ul:first-child {
  margin-left: 0;
}

.main-footer-more {
  -ms-flex-item-align: start;
  align-self: flex-start;
}

.main-footer-links li {
  margin-bottom: .5rem;
}

.main-footer-links li:first-child {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 1rem;
}

/*Inverted Footer*/

footer.main-footer-wrap.dark {
  background: #fff;
}

.dark .main-footer,
.dark .main-footer a {
  color: #4C5859;
}

.dark .main-footer #footer-logo svg {
  fill: #4C5859;
}

.dark .main-footer-links li:first-child {
  color: #89A19D;
}

.dark .main-footer a:hover {
  text-decoration: underline;
}

.dark .main-footer .social-links a:hover {
  color: rgb(102, 204, 187);
  text-decoration: none;
}

/*Media Queries*/

@media screen and (max-width: 1000px) {
  footer.main-footer-wrap {
    padding: 30px;
  }

  footer.main-footer-wrap .main-footer {
    padding: 0;
  }

  .main-footer > div {
    width: 100%;
  }

  .main-footer #footer-logo {
    margin-bottom: 1rem;
  }

  .main-footer-meta {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0;
  }

  #footer-links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  ul.main-footer-links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    line-height: 1em;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 0 20px 0;
  }

  ul.main-footer-links:last-child {
    margin-bottom: 0;
  }

  .main-footer-links li:first-child {
    width: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: .3rem;
  }

  .main-footer-links li {
    float: none;
    margin-bottom: .5rem;
    margin-right: .65rem;
  }

  .social-links a {
    line-height: 1em;
  }
}

.form-content {
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.form-content select,
.form-content textarea,
.form-content input[type="email"],
.form-content input[type="url"],
.form-content input[type="text"] {
  background: rgba(0,0,0,.25);
  border: 1px solid transparent;
  border-radius: 2px;
  box-sizing: border-box;
  color: #fff;
  width: 100%;
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 1rem;
  padding: .5em .75em;
}

.form-content select:hover,
.form-content textarea:hover,
.form-content input[type="email"]:hover,
.form-content input[type="url"]:hover,
.form-content input[type="text"]:hover {
  border: 1px solid transparent;
  background: rgba(0,0,0,.35);
}

.form-content select:focus,
.form-content textarea:focus,
.form-content input[type="email"]:focus,
.form-content input[type="url"]:focus,
.form-content input[type="text"]:focus {
  border: 1px solid rgba(76, 88, 89, 0.25);
  background: rgba(0,0,0,.5);
  outline: 0;
}

.form-content textarea::-webkit-input-placeholder,
.form-content input::-webkit-input-placeholder {
  font-style: italic;
  color: rgba(255,255,255,.5);
}

.form-content input:-moz-placeholder,
.form-content textarea:-moz-placeholder {
  /* Older versions of Firefox */
  font-style: italic;
  color: rgba(255,255,255,.5);
}

.form-content input:-ms-input-placeholder,
.form-content textarea:-ms-input-placeholder {
  font-style: italic;
  color: rgba(255,255,255,.5);
}

.form-content button,
.form-content input[type="submit"] {
  border: 0;
  display: block;
  margin-top: 1rem;
  float: none;
  margin-left: 0;
  margin-right: 0;
}

.form-content .primary {
  background-color: rgba(255,255,255,.9);
  color: #5ac878;
}

.form-content .primary:hover {
  background-color: rgba(255,255,255,1);
  color: #5ac878;
}

/*Main Navigation*/

.nav-wrapper {
  position: relative;
  background: #202525;
}

.nav-announcement-bar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 30px;
  font-size: 14px;
  color: #fff;
  background: rgb(90, 200, 120);
}

.nav-announcement-bar a {
  color: #fff;
  text-decoration: underline;
}

.body-width .nav-icons {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
}

.nav-wrapper a.icon {
  color: #ffffff;
  font-size: 125%;
  line-height: 150%;
  margin-right: 25px;
}

.nav-wrapper a.icon svg path {
  fill: #ffffff;
}

.main-navigation {
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 16px 0;
  color: #fff;
  transform: translate(0,0);
  transition: all 250ms;
  width: 100%;
  z-index: 9;
}

.main-navigation .body-width,
.nav-wrapper .body-width {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 auto;
}

.main-navigation.goingUp {
  animation: navSlide 100ms;
  background: rgb(46, 53, 53);
  margin-top: 0px;
  position: fixed;
  transform: translate(0,0);
  transition: transform 250ms;
}

@keyframes navSlide {
  0% {
    transform: translate(0,-100%);
  }

  100% {
    transform: translate(0, 0);
  }
}

.main-navigation a.logo {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
  align-content: center;
  overflow: hidden;
  transition: none;
  -ms-flex-align: center;
  align-items: center;
}

.main-navigation a.logo svg:first-child {
  width: 32px;
  height: 32px;
  margin-right: 11px;
  fill: #89a19d;
}

.main-navigation a.logo svg:last-child {
  width: 160px;
  height: 27px;
  fill: #fff;
}

.main-navigation ul.primary-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-align: center;
  align-items: center;
}

.main-navigation ul.primary-nav > li:not(:first-child) {
  margin-left: 40px;
}

.main-navigation a {
  text-decoration: none;
  color: #fff;
}

.main-navigation .primary-nav {
  font-size: 17px;
  font-weight: 400;
}

.main-navigation .primary-nav li > a {
  opacity: 1;
  position: relative;
}

.main-navigation .primary-nav > li > a:after {
  color: rgba(137, 161, 157, 0.5);
  content: '\232A';
  display: block;
  height: 1em;
  left: 50%;
  line-height: 1em;
  position: absolute;
  transform: rotate(90deg) translate(0%, 50%);
  width: 1em;
}

/* subnav */

.main-navigation li.subnav {
  position: relative;
}

.main-navigation li.subnav ul {
  background: transparent;
  display: none;
  position: absolute;
  filter: drop-shadow(0px 10px 6px rgba(0,0,0,.15)) drop-shadow(0px 2px 2px rgba(0,0,0,.10));
  left: 50%;
  padding: 0;
  padding-top: 16px;
  width: auto;
  transform: translate(-50%, -8px) rotateX(0deg);
  transform-origin: 0 0;
}

li.subnav ul:before {
  border: solid transparent;
  border-color: transparent;
  border-bottom-color: #ffffff;
  border-width: .5rem;
  content: " ";
  height: 0;
  left: 50%;
  position: absolute;
  pointer-events: none;
  top: 16px;
  transform: translate(-50%, -100%);
  width: 0;
}

.main-navigation li.subnav ul li {
  padding: 0;
  background: #fff;
  min-width: 100px;
}

.main-navigation li.subnav ul li:first-child {
  border-radius: 2px 2px 0px 0px;
}

.main-navigation li.subnav ul li:last-child {
  border-radius: 0 0 2px 2px;
}

.main-navigation li.subnav ul li:not(.big-link) a {
  border-radius: 2px;
  box-sizing: border-box;
  color: #4C5859;
  display: block;
  font-size: 14px;
  font-weight: 600;
  padding: 10px;
  width: 100%;
  white-space: nowrap;
  transition: all 200ms ease-in-out;
}

.main-navigation li.subnav ul li:not(.big-link) a#nav-pricing {
  padding-left: 20px;
}

.main-navigation li.subnav ul li:not(.big-link) a svg {
  height: 20px;
  margin-right: 5px;
  padding-bottom: 3px;
  vertical-align: middle;
}

.main-navigation li.subnav ul:hover li:not(.big-link) a {
  opacity: .75;
}

.main-navigation li.subnav ul li:not(.big-link) a:hover {
  background: #F5F7F7;
  opacity: 1;
}

.main-navigation li.subnav ul li.big-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  min-width: 20rem;
}

.main-navigation li.subnav ul li.big-link:hover {
  background: #F5F7F7;
}

.main-navigation li.subnav ul li.big-link:not(:first-of-type) {
  border-top: 1px solid #E1E7E6;
}

.main-navigation .primary-nav li.subnav > ul li.big-link svg {
  height: 32px;
  margin: 0px 0 0 0px;
}

.main-navigation .primary-nav li.subnav > ul li.big-link .subnav-description {
  -ms-flex: 1;
  flex: 1;
  margin-left: 8px;
}

.main-navigation .primary-nav li.subnav > ul li.big-link a {
  display: -ms-flexbox;
  display: flex;
  padding: 20px;
}

.main-navigation .primary-nav li.subnav > ul li.big-link .subnav-description > span {
  color: #4C5859;
  display: block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1em;
  margin: 0;
}

.main-navigation .primary-nav li.subnav > ul li.big-link .subnav-description p {
  color: #4C5859;
  font-size: 0.85rem;
  margin: 2px 0 0 0;
}

.main-navigation .primary-nav li.subnav > ul li.big-link .subnav-links a {
  color: #4C5859;
  display: inline;
  font-size: 0.85rem;
  margin-right: .5em;
  text-decoration: underline;
}

.main-navigation li.subnav ul li:not(.big-link) a {
  text-align: center;
}

.main-navigation .primary-nav li.subnav > ul li.big-link .subnav-description > a#nav-pricing {
  margin-top: 8px;
}

.main-navigation .primary-nav li.subnav > ul li.big-link .subnav-links a:hover {
  color: #4cb5ff;
}

.main-navigation .primary-nav li.subnav > ul li > a {
  color: #4C5859;
  font-size: 14px;
}

.main-navigation li.subnav ul li.inset-link a {
  background: #F5F7F7;
  box-sizing: border-box;
  font-size: 14px;
  padding-left: 56px;
}

.main-navigation li.subnav ul li.inset-link a:hover {
  background: #E1E7E6;
}

.main-navigation li.subnav ul li.small-links {
  background: #F5F7F7;
  border-top: 1px solid #E1E7E6;
}

.main-navigation li.subnav ul li.small-links a:hover {
  text-decoration: underline;
}

.main-navigation li.subnav ul li.small-links div {
  display: inline-block;
}

.main-navigation li.subnav ul li.small-links div a:hover {
  color: #202525;
}

/*.main-navigation li.subnav ul li a {
  align-items: center;
  color: var(--color-base);
  display: flex;
  justify-content: center;
  opacity: 1;
  padding: 10px 0;
  width: 100%;
  text-align: center;
}*/

/*.main-navigation li.subnav ul li:first-child a {
  padding-top: 10px;
}

.main-navigation li.subnav ul li:last-child a {
  border-bottom: 0;
}*/

/*.main-navigation li.subnav ul li:hover a{
  color: var(--color-dark-2);
}

.main-navigation li.subnav ul li a svg {
  height: 1.5rem;
  margin-right: 10px;
}

.main-navigation li.subnav ul:hover li a {
  opacity: .5;
}

.main-navigation li.subnav ul li:hover a {
  opacity: 1;
}*/

.main-navigation li.subnav:hover ul,
.main-navigation li.subnav ul:hover {
  display: block;
  opacity: 1;
  transition: opacity 500ms;
  animation: subnav-animation 250ms ease-in-out 1;
}

@keyframes subnav-animation {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/*Contact Button*/

.main-navigation .buttons-cta {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.main-navigation .cta-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  font-size: 17px;
  -ms-flex-align: center;
  align-items: center;
  padding-right: 20px;
  border-right: 1px solid #ffffff;
  margin-right: 20px;
}

.main-navigation .cta-area a.button {
  border-radius: 2px;
  color: #fff;
  display: block;
  font-size: 17px;
  font-weight: 600;
  padding: 12px 20px;
  letter-spacing: 0;
  line-height: 1em;
  margin-right: 10px;
  text-transform: none;
}

/*Hover States*/

.main-navigation .primary-nav:hover > li > a {
  opacity: .5;
}

.main-navigation .primary-nav > li:hover > a {
  opacity: 1;
}

.main-navigation .primary-nav > li:hover > a:after {
  display: none;
}

/*Inverted Navigation*/

.dark.main-navigation .cta-area {
  border-right: 1px solid #89a19d;
}

.dark.main-navigation a.logo svg {
  fill: #202525;
}

.dark.main-navigation a.logo svg:first-child {
  fill: #89a19d;
}

.dark.main-navigation a {
  color: #3D4647;
}

.dark.main-navigation a.icon {
  color: #89A19D;
}

.dark.main-navigation a.icon svg path {
  fill: #89A19D;
}

.dark.main-navigation .primary-nav a {
  color: #202525;
}

.dark.main-navigation.goingUp .cta-area {
  border-right: 1px solid #ffffff;
}

.dark.main-navigation.goingUp a.logo svg {
  fill: #fff;
}

.dark.main-navigation.goingUp a {
  color: #fff;
}

.dark.main-navigation.goingUp a.icon svg path {
  fill: #fff;
}

.dark.main-navigation.goingUp .primary-nav a {
  color: #fff;
}

.dark.main-navigation.goingUp .primary-nav ul li a {
  color: #4C5859;
}

.dark.main-navigation.goingUp .primary-nav ul li a {
  color: #4C5859;
}

.dark.main-navigation .cta-area a.button {
  background-color: #5ac878;
}

/*Mobile*/

.mobile-navigation {
  display: none;
}

@media screen and (max-width: 800px) {
  body.menu-open,
  html.menu-open {
    overflow: hidden;
  }

  .main-navigation {
    display: none;
  }

  .mobile-navigation {
    -ms-flex-align: center;
    align-items: center;
    background: #202525;
    box-sizing: border-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 44px;
    padding: 0 20px;
    position: absolute;
    transform: translate(0,0);
    width: 100%;
    z-index: 9;
  }

  .mobile-navigation.scrolled {
    background: rgba(46, 53, 53, 0.95);
    position: fixed;
    transform: translate(0,-100%);
    transition: transform 250ms;
    top: 0;
    left: 0;
    right: 0;
  }

  .mobile-navigation.scrolling {
    transform: translate(0,0);
    transition: transform 250ms;
  }

  .mobile-navigation a.logo {
    display: block;
    height: 1rem;
    z-index: 7;
  }

  .mobile-navigation a.logo svg {
    width: auto;
    height: 1rem;
    fill: #fff;
  }

  .mobile-navigation a.nav-toggle {
    width: 24px;
    height: 24px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 7;
  }

  .mobile-navigation a.nav-toggle .nav-icon {
    margin-bottom: 4px;
  }

  a.nav-toggle *[class^="nav-icon-"] {
    cursor: pointer;
    border-radius: 999px;
    height: 2px;
    width: 24px;
    margin: 4px auto 0 auto;
    background: white;
    display: block;
    content: '';
    transition: transform 100ms ease-in-out;
    transform-origin: 25% 25%;
  }

  a.nav-toggle *[class^="nav-icon-"]:first-child {
    margin-top: 0;
  }

  a.nav-toggle.active .nav-icon-2 {
    background: transparent;
  }

  a.nav-toggle.active .nav-icon-1 {
    transform: rotate(45deg);
    margin: 0 auto;
  }

  a.nav-toggle.active .nav-icon-3 {
    transform: rotate(-45deg);
    margin: 0 auto;
  }

  .mobile-menu {
    display: block;
    position: fixed;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    transform: translate( -100%, 0);
    opacity: 0;
    z-index: 6;
    background-color: #2E3535;
    padding: 0;
    visibility: hidden;
    transition: transform 200ms ease-in-out, opacity 200ms ease-in-out, visibility 0ms 200ms;
    box-sizing: border-box;
  }

  .mobile-menu.open {
    display: -ms-flexbox;
    display: flex;
    transform: none;
    opacity: 1;
    visibility: visible;
    transition: transform 100ms ease-in-out, opacity 100ms ease-in-out, visibility 0ms;
  }

  .mobile-menu div {
    width: 100%;
  }

  .mobile-menu ul li a {
    display: -ms-flexbox;
    display: flex;
    color: #fff;
    font-size: 1.7rem;
    font-weight: 300;
    line-height: 32px;
    width: 100%;
  }

  .mobile-menu ul li a svg {
    height: 32px;
    margin-right: 10px;
  }

  .mobile-menu .top {
    background: #2E3535;
    box-sizing: border-box;
    display: -ms-flexbox;
    display: flex;
    height: 60vh;
    padding: 40px 20px;
  }

  .mobile-menu ul.mobile-menu-primary {
    -ms-flex-item-align: end;
    align-self: flex-end;
  }

  .mobile-menu ul.mobile-menu-primary li:not(:last-child) {
    margin-bottom: 24px;
  }

  .mobile-menu .bottom {
    background: #202525;
    box-sizing: border-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 40vh;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 40px 20px 20px 20px;
    width: 100%;
  }

  .mobile-menu ul.mobile-menu-secondary {
    -ms-flex-item-align: start;
    align-self: flex-start;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .mobile-menu ul.mobile-menu-secondary li {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
  }

  .mobile-menu ul.mobile-menu-secondary li a {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4rem;
    margin: 0 0 20px 0;
  }

  .mobile-menu ul.mobile-menu-secondary li a:before {
    content: '>';
    color: #4cb5ff;
    font-family: 'Source Code Pro', 'Ubuntu Mono', monospace;
    font-size: 1rem;
    line-height: 1.4rem;
    margin-right: 8px;
  }

  #mobile-lamda-link svg * {
    fill: #ffb726;
  }

  #mobile-pricing-link svg * {
    fill: #89A19D;
  }

  .mobile-menu a.button {
    -ms-flex-item-align: end;
    align-self: flex-end;
    display: block;
    width: 100%;
  }
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .main-navigation a.logo {
    -ms-flex-align: center;
    align-items: center;
  }

  .main-navigation ul.primary-nav > li:not(:first-child) {
    margin-left: 15px;
  }

  .main-navigation .cta-area {
    margin-right: 10px;
    padding-right: 10px;
    font-size: 15px;
  }

  .main-navigation .cta-area a.button {
    font-size: 15px;
  }

  .main-navigation .buttons-cta {
    -ms-flex-align: center;
    align-items: center;
  }

  .nav-wrapper a.icon {
    margin-right: 10px;
  }

  .home-runtime-oss .button-container {
    gap: 80px !important;
  }
}

/* CTA at the bottom */

section.newsletter-cta {
  background: #89A19D;
  color: #fff;
  text-align: center;
}

section.newsletter-cta:last-of-type {
  padding-bottom: 0;
}

section.newsletter-cta .form-content {
  padding: 30px;
  max-width: 800px;
  margin: 0 auto;
}

section.newsletter-cta span.mktoButtonWrap {
  margin: 0 !important;
}

section.newsletter-cta .form-content h1 {
  margin: 0;
  color: #fff;
  font-size: 2.57rem;
  font-weight: 600;
}

section.newsletter-cta .mktoForm {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100% !important;
}

section.newsletter-cta .mktoForm .mktoCheckboxList {
  width: 100% !important;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 20px;
}

section.newsletter-cta .mktoForm .mktoCheckboxList label {
  font-family: "Source Sans Pro", sans-serif;
  font-size: 1.28rem;
  margin: 0 0 0 10px;
  width: auto;
}

section.newsletter-cta .mktoForm input[type=email] {
  padding: 2px 3px;
  color: #ffffff;
  background-color: rgba(0,0,0,.25);
  background: rgba(0,0,0,.25);
  border: 0px solid #e1e7e6;
  box-shadow: none !important;
  padding: 9px 10px 10px 10px !important;
  margin: 20px 0 10px 0;
  font-size: 16px;
  line-height: 19px;
  width: 100% !important;
  height: 42px;
  border-radius: 2px;
  font-family: 'Source Sans Pro',sans-serif;
}

section.newsletter-cta .mktoForm .mktoFormCol {
  float: none;
  margin-bottom: 0 !important;
}

section.newsletter-cta .mktoForm .mktoFormRow {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  margin: 0;
  max-width: 800px;
  width: 100%;
}

section.newsletter-cta .mktoForm .mktoFieldWrap {
  float: none;
}

section.newsletter-cta .mktoForm .mktoButton {
  color: #ffffff;
  border: 0px !important;
  padding: 0.4em 1em;
  font-size: 14px !important;
  background-color: rgba(0,0,0,.85) !important;
  border-radius: 2px;
  line-height: 1.5em;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
  height: 42px !important;
  font-family: 'Source Sans Pro',sans-serif !important;
  background-image: linear-gradient(to bottom, #3d4647, #3d4647) !important;
  width: 100%;
}

section.newsletter-cta .mktoButtonRow {
  width: 100%;
}

section.newsletter-cta .submitted-message {
  background: rgba(0,0,0,.15);
  padding: 8px 12px;
  line-height: 1.4em;
  margin-top: 20px;
}

@media screen and (max-width: 800px) {
  section.newsletter-cta .form-content h1 {
    font-size: 1.7rem;
  }

  section.newsletter-cta .mktoForm .mktoCheckboxList label {
    font-size: 1rem;
  }
}

/*
BLOG PRODUCT AD
*/

section.product-bottom-cta {
  background: linear-gradient(60deg, #F5F7F7, transparent), url("/assets/facets_light.a8d193.jpg");
  background-size: auto, 50%;
  padding-bottom: 0px;
}

section.product-bottom-cta.dark {
  background: url("/assets/facets_base.e1f14b.jpg");
  background-size: 100%;
  color: #fff;
}

section.product-bottom-cta img {
  display: block;
  margin: 0 auto;
  width: 100%;
}

section.product-bottom-cta .product-cta-content .content-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
  align-items: flex-end;
}

section.product-bottom-cta .product-cta-content .product-cta-content-left,
section.product-bottom-cta .product-cta-content .product-cta-content-right {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}

section.product-bottom-cta .product-cta-content .product-cta-content-left {
  margin-right: 50px;
}

section.product-bottom-cta .product-cta-content .product-cta-content-right {
  margin-bottom: 60px;
}

section.product-bottom-cta .product-cta-content p {
  margin-bottom: 20px;
}

section.product-bottom-cta .product-cta-content .product-cta-content-right span svg {
  margin-right: 15px;
  width: 200px;
  max-width: 200px;
}

section.product-bottom-cta .product-cta-content .product-cta-content-right span {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  font-weight: 300;
  font-size: 36px;
  margin-bottom: 30px;
}

section.product-bottom-cta .product-cta-content .product-cta-content-right p {
  font-size: 1.25em;
  max-width: 60ch;
}

section.product-bottom-cta .product-cta-content .product-cta-content-right .button {
  margin-top: 20px;
}

@media screen and (max-width: 1000px) {
  section.product-bottom-cta img {
    width: 80%;
    margin-top: 20px;
  }

  section.product-bottom-cta .product-cta-content .content-container {
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin: 0 auto;
    padding: 20px 20px 0 20px;
  }

  section.product-bottom-cta .product-cta-content .product-cta-content-left {
    margin: 0;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }

  section.product-bottom-cta .product-cta-content .product-cta-content-right {
    margin: 0;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    width: 100%;
    text-align: center;
  }

  section.product-bottom-cta .product-cta-content .product-cta-content-right  .nsolid-logo {
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 30px;
    text-align: left;
    line-height: 1.2em;
  }

  section.product-bottom-cta .product-cta-content .product-cta-content-right  p {
    margin: 10px auto;
  }
}

.share-bug {
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(76, 88, 89, 0.75);
  padding: .75rem 1rem;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  -ms-flex-direction: row;
  flex-direction: row;
  transition: all 250ms;
  z-index: 6;
  border-radius: 4px;
  -ms-flex-align: center;
  align-items: center;
}

.share-bug h4 {
  color: #fff;
}

.share-bug a {
  padding-left: 1rem;
  color: #fff;
}

.share-bug a:before {
  font-size: .75rem;
  border: 2px solid #66ccbb;
  border-radius: 100%;
  padding: .5em;
  display: block;
}

.bug-parent {
  position: relative;
}

.bug-parent:hover .share-bug {
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
  transition: all 250ms;
}

.share-bug a:hover {
  color: #66ccbb;
}

@media screen and (max-width: 800px) {
  .share-bug {
    width: 100%;
    left: 0;
    right: 0;
    bottom: 0;
  }
}

header.standard {
  background-image: url("assets/facets_base.c5f8e4.svg"),
                    linear-gradient(180deg, #F5F7F7 25%, #fff 100%);
  background-blend-mode: overlay, overlay;
  background-repeat: no-repeat, no-repeat;
  background-size: cover, auto;
  color: #4C5859;
  overflow: visible;
  padding: 160px 0 80px 0;
}

header.standard + section,
header.standard + section > .content-container:first-child {
  margin-top: 0;
  padding-top: 0;
}

header.standard + section .two-column-left,
header.standard + section .two-column-right {
  margin-top: 0;
  padding-top: 0;
}

@media screen and (max-width: 800px) {
  header.standard {
    padding-top: 80px;
    padding-bottom: 0px;
    background-image: url("assets/facets_base.c5f8e4.svg"),
                      linear-gradient(180deg, #F5F7F7 0%, #fff 100%);
    background-blend-mode: overlay, overlay;
    background-repeat: no-repeat, no-repeat;
    background-size: cover, auto;
  }
}

.viewport {
  position: relative;
  background: rgba(76, 181, 255, 0.4);
  z-index: 2;
  height: 600px;
  height: 90vh;
  padding: 5rem 2.5rem;
  box-sizing: border-box;
}

html.page-error,
body.page-error {
  background: #2E3535;
  height: 100%;
  color: #fff;
}

section#content-error,
section#content-error .content-container {
  position: relative;
  z-index: 2;
}

body.page-error .background-image {
  background: url("/assets/404-bg.ee48e0.jpg") center center no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  animation: blurIn;
  animation-duration: 1000ms;
  animation-delay: 5000ms;
  animation-iteration-count: 1;
  animation-fill-mode: backwards;
}

section#content-error .content-container {
  padding: 0;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes blurIn {
  from {
    filter: blur(75px);
    opacity: .25;
  }

  to {
    filter: blur(0px);
    opacity: 1;
  }
}

section#content-error .copy,
section#content-error .navigation {
  width: 50%;
}

section#content-error h1 {
  font-size: 3.85rem;
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: -.01em;
}

section#content-error p.explanation {
  font-size: 2.57rem;
  line-height: 1.2em;
  margin-top: .25em;
  font-weight: 200;
  letter-spacing: -.01em;
}

section#content-error p.explanation,
section#content-error .navigation {
  animation: fadeIn;
  animation-duration: 1000ms;
  animation-iteration-count: 1;
  animation-fill-mode: backwards;
}

section#content-error p.explanation#exp1 {
  animation-delay: 500ms;
}

section#content-error p.explanation#exp2 {
  animation-delay: 2500ms;
}

section#content-error p.explanation#exp3 {
  animation-delay: 5000ms;
  font-weight: 600;
}

section#content-error .navigation {
  animation-delay: 6000ms;
  margin-top: 3rem;
}

section#content-error .navigation .logo {
  color: #fff;
}

section#content-error .navigation .logo img {
  width: 240px;
  height: auto;
}

section#content-error .navigation ul {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.25);
  list-style: none;
  width: 50%;
}

section#content-error .navigation li a {
  font-size: 1.7rem;
  display: block;
  padding: .5em 0;
  color: #fff;
  cursor: pointer;
}

section#content-error .navigation li a:hover {
  color: #4cb5ff;
}

@media screen and (max-width: 800px) {
  body.page-404 .background-image {
    background-position: center 80%;
  }

  section#content-error {
    padding: 20px;
  }

  section#content-error .copy,
  section#content-error .navigation,
  section#content-error .navigation ul {
    width: 100%;
  }

  section#content-error .copy h1 {
    font-size: 3rem;
  }

  section#content-error .navigation .logo {
    font-size: 1.75rem;
  }

  section#content-error .copy p.explanation {
    font-size: 1.7rem;
    margin-top: .5em;
  }

  section#content-error .navigation li a {
    display: block;
    padding: .5em 0;
    color: #fff;
    cursor: pointer;
  }
}

/**
* Blog Header
**/

#blog-header {
  background: url("assets/blog-bg.0dc2e3.jpg") center bottom no-repeat;
  background-size: cover;
  box-sizing: border-box;
  padding: 100px 40px 40px 40px;
}

#blog-header .content-container {
  -ms-flex-line-pack: center;
  align-content: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#blog-header h1 {
  display: inline-block;
  line-height: 1em;
  margin: 0;
}

#blog-header a#rss-link {
  margin-left: 1rem;
  transform: translate(0,.2em);
}

#blog-header a#rss-link svg {
  fill: #66ccbb;
  height: 24px;
}

#blog-header a#rss-link:hover {
  color: #fff;
  transition: all 200ms ease-in-out;
}

#blog-header a#rss-link:hover .icon-rss:before {
  color: #fff;
  transition: all 200ms ease-in-out;
}

@media screen and (max-width: 800px) {
  #blog-header h1 {
    font-size: 1.7rem;
  }

  #blog-header a#rss-link svg {
    height: 16px;
  }
}

/*HEADER SEARCH BOX*/

#search-box {
  background: transparent;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  height: 40px;
  position: relative;
}

#search-box input {
  background: #202525;
  border: none;
  border-radius: 2rem;
  color: #fff;
  font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial;
  font-size: 1rem;
  padding: 0 16px 0 36px;
  -webkit-appearance: textfield;
}

#search-box input::-webkit-input-placeholder {
  color: #4C5859;
  font-style: italic;
}

#search-box input:-moz-placeholder {
  /* Firefox 18- */
  color: #4C5859;
  font-style: italic;
}

#search-box input::-moz-placeholder {
  /* Firefox 19+ */
  color: #4C5859;
  font-style: italic;
}

#search-box input:-ms-input-placeholder {
  color: #4C5859;
  font-style: italic;
}

#search-box a#search-link {
  height: 20px;
  width: 20px;
  left: 10px;
  position: absolute;
  top: 50%;
  transform: translate(0,-50%);
}

#search-box a#search-link:hover {
  color: #fff;
  transition: all 200ms ease-in-out;
}

#search-box a svg {
  fill: #4C5859;
  width: 20px;
  height: 20px;
  transition: all 200ms ease-in-out;
}

#search-box input[type="search"]:focus {
  outline: 0;
}

@media screen and (max-width: 800px) {
  #blog-header {
    background: url("assets/blog-bg.0dc2e3.jpg") center bottom no-repeat;
    background-size: cover;
    box-sizing: border-box;
    padding: 60px 0 0 0;
  }

  #search-box {
    margin-top: 20px;
  }

  #search-box,
  #search-box input {
    width: 100%;
  }
}

/*
/*BASIC STYLES
/*/

section.blog {
  background: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  padding: 0px;
  width: 100%;
}

.blog .two-column-left {
  -ms-flex-preferred-size: 80%;
  flex-basis: 80%;
  -ms-flex-positive: 0;
  flex-grow: 0;
  margin: 0;
  max-width: 80%;
  /*  padding: 80px 40px 80px 0px;
*/
}

.blog .two-column-right {
  background: #F5F7F7;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  /*  padding: 80px 0px 80px 40px;
*/
}

.blog.two-column:after {
  background: #F5F7F7;
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .blog .two-column-layout {
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .blog .two-column-left {
    box-sizing: border-box;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -ms-flex-positive: auto;
    flex-grow: auto;
    padding: 80px 0 0 0;
  }

  .blog .two-column-right {
    box-sizing: border-box;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -ms-flex-positive: auto;
    flex-grow: auto;
    margin-bottom: 40px;
    padding: 40px 40px 40px 40px;
    width: 100%;
  }
}

.blog .two-column-left .breadcrumbs {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  margin-bottom: 40px;
}

h4.category {
  display: inline-block;
}

h4.category a {
  border-bottom: 1px solid #E1E7E6;
}

h4.category a:hover {
  border-bottom: 1px solid #4C5859;
  text-decoration: none;
}

h4.category:not(:first-child) {
  margin-left: 10px;
}

h4.category:not(:first-child):before {
  content: '/';
  color: #89A19D;
  display: inline-block;
  margin-right: 10px;
}

/*NEW BLOG LIST STYLES*/

.post-list {
  -ms-flex-align: baseline;
  align-items: baseline;
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -40px 0 -40px;
}

article.post-list-item {
  box-sizing: border-box;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%;
  padding: 0 40px 40px 40px;
}

.post-header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 20px;
  overflow: hidden;
}

.post-header > a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

.post-header img {
  height: auto;
  width: 100%;
}

.post-preview .more {
  line-height: 0.85rem;
}

.post-meta {
  font-size: 0.85rem;
  margin: 16px 0;
}

.post-meta a {
  border-bottom: 1px solid #E1E7E6;
  color: #4C5859;
  font-weight: 600;
}

.post-meta a:hover {
  text-decoration: none;
  border-color: #4C5859;
}

.post-meta-tags {
  margin-bottom: 20px;
}

.post-meta-tags ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  font-size: 14px;
  line-height: 1.2em;
  list-style: none;
}

.post-meta-tags li {
  background-color: #F5F7F7;
  margin: 0 5px;
  padding: 5px 10px;
  transition: all 250ms;
}

.post-meta-tags li:first-child {
  margin-left: 0;
}

.post-meta-tags li:hover {
  background: rgb(233, 235, 235);
}

.post-meta-tags li a {
  color: #828A8B;
}

@media screen and (max-width: 800px) {
  .post-header img {
    max-width: 100%;
  }

  article.post-list-item {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    padding: 20px 0;
    border: 0;
  }

  article.post-list-item:first-of-type {
    padding-top: 0;
  }

  .blog .two-column-left {
    max-width: 100%;
  }

  .blog .two-column-left .breadcrumbs {
    margin-bottom: 20px;
  }

  .blog .two-column-right {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    width: 100%;
  }
}

@media screen and (min-width: 501px) and (max-width: 800px) {
  article.post-list-item {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
    padding: 20px 10px;
    border: 0;
  }

  article.post-list-item img {
    max-width: 100%;
  }
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .post-list-item:last-of-type {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 1000px) {

}

@media screen and (min-width: 1601px) {

}

@media screen and (min-width: 801px) and (max-width: 1600px) {
  article.post-list-item:nth-child(odd) {
    border-right: 1px solid #E1E7E6;
  }
}

@media screen and (min-width: 1601px) {
  article.post-list-item {
    -ms-flex-preferred-size: 33.3333%;
    flex-basis: 33.3333%;
    max-width: 33.3333%;
    border-right: 1px solid #E1E7E6;
  }

  article.post-list-item:nth-child(3n) {
    border-right: 0;
  }
}

/*
VIDEO EMBED
*/

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin: 30px 10px;
}

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

/*
PAGINATION
*/

nav.pagination {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-top: 1px solid #E1E7E6;
  padding: 20px 0;
}

nav.pagination a {
  border: 1px solid;
  border-radius: 2px;
  display: block;
  font-size: 0.85rem;
  font-weight: 400;
  line-height: 1em;
  padding: 10px 20px;
}

nav.pagination a:not(.active) {
  color: #E1E7E6;
  border-color: currentColor;
}

nav.pagination a.active {
  color: #4cb5ff;
  border-color: currentColor;
}

nav.pagination a.active:hover {
  border: 1px solid rgb(65, 154, 217);
  color: rgb(65, 154, 217);
}

/**
   * Sidebar
   */

.sidebar {
  /*  background: var(--color-light-3);*/
  /*  padding: 80px 80px 80px 40px;*/
  /*  flex-basis: 30%;*/
}

.sidebar ul {
  list-style-type: none;
  margin: 1em 0 0 0;
  padding: 0;
}

.featured-posts li {
  margin-top: 20px;
}

.featured-posts li > a {
  display: block;
  font-weight: 600;
  line-height: 1.2em;
}

.featured-posts .post-meta {
  margin-top: .5em;
}

.sidebar li > a {
  color: #3D4647;
}

.sidebar li > a:hover {
  text-decoration: underline;
}

.sidebar .categories li {
  margin-top: .5em;
}

.sidebar .categories li a {
  font-weight: 600;
}

.sidebar > div:not(:first-child) {
  padding: 40px 0 0 0;
  margin-top: 40px;
  border-top: 1px solid #E1E7E6;
}

.cta img {
  height: 100%;
  width: 100%;
}

a.blog-cta {
  transition: all 200ms ease-in-out;
}

.blog-cta,
.blog-cta:first-child {
  background: transparent;
  border-radius: 4px;
  box-sizing: border-box;
  color: #4C5859;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 1.28rem;
  font-weight: 600;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 20px;
  margin: 60px auto;
  height: auto;
  width: 100%;
}

.blog-cta span {
  border-bottom: 1px solid rgba(255,255,255,.25);
  letter-spacing: 0;
  text-transform: none;
  width: 100%;
  text-align: left;
  padding: 5px 0 15px 0;
  margin-bottom: 10px;
}

.blog-cta.nsolid {
  border: 2px solid #4C5859;
}

.blog-cta.certified-modules {
  border: 2px solid #66ccbb;
}

.blog-cta b {
  margin-right: 5px;
}

.blog-cta .button {
  background: #4C5859;
  color: #fff;
  display: inline-block;
  font-weight: 600;
  line-height: 1em;
  margin: 20px 0 0 0;
  text-align: center;
  border: 0;
  padding: 10px 20px 10px 20px;
  border-radius: 4px;
}

.blog-cta .button:hover {
  color: #fff;
}

.blog-cta .button.more {
  height: 100%;
}

@media screen and (max-width: 1000px) {
  .blog-cta .button {
    width: 100%;
  }
}

@media screen and (min-width: 1601px) {
  .blog-cta .button {
    margin: 0;
  }
}

/*
PREV/NEXT ARTICLE
*/

section.features {
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  padding: 0;
}

section.features .featureButton {
  display: block;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  position: relative;
}

section.features #prev-post + #next-post {
  border-left: 1px solid #2E3535;
}

section.features small {
  color: #89A19D;
  display: block;
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: .12em;
  line-height: 1em;
  margin-bottom: .5em;
  text-transform: uppercase;
}

section.features .featureButton a {
  background: #4C5859;
  box-sizing: border-box;
  color: #fff;
  display: block;
  font-size: 1.28rem;
  font-weight: 400;
  height: 100%;
  line-height: .8em;
  padding: 20px 40px;
  position: relative;
  width: 100%;
}

section.features .featureButton a span {
  line-height: 1.2em;
}

section.features .featureButton a:hover {
  background: #3D4647;
}

section.features .featureButton a:active {
  background: #353d3e;
}

section.features #prev-post a:before,
section.features #next-post a:before {
  color: rgba(0,0,0,.5);
  content: '\232A';
  position: absolute;
  top: 50%;
}

section.features #prev-post a:before {
  left: 20px;
  transform: translate(-100%, -50%) rotateY(180deg);
}

section.features #next-post a:before {
  right: 20px;
  transform: translate(100%, -50%);
}

section.features .featureButton {
  color: #89A19D;
}

section.features .featureButton#end,
section.features .featureButton#beginning {
  padding: 30px;
}

section.features #beginning {
  border-right: 1px solid #2E3535;
}

section.features #end {
  border-left: 1px solid #2E3535;
}

/*
 * Single Post View
 */

.single-post {
  /*  flex-grow: 0;
  width: 70%;
  max-width: 1000px;*/
  margin: 0px auto;
}

.single-post .long-copy {
  position: relative;
}

.single-post h1.blog-post-title {
  font-size: 3.85rem;
}

.single-post .post-meta {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 1rem;
  margin-bottom: 30px;
  margin-top: 20px;
}

.single-post .post-meta p {
  margin-top: 0;
}

.single-post .post-meta-author {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  margin-right: 5px;
}

.single-post .post-meta img {
  border-radius: 100%;
  width: 2em;
  height: 2em;
  margin: 0 5px 0 10px;
}

.post-meta-social a {
  border: none;
  display: inline-block;
  font-size: 1rem;
  margin-left: 10px;
  text-decoration: none;
}

.post-meta-social a:hover {
  color: #2E3535;
}

@media screen and (max-width: 800px) {
  .post-list {
    margin: 0;
  }
}

/*SOCIAL WIDGET*/

section.blog .social-links {
  display: block;
}

section.blog legend {
  color: #89A19D;
  text-transform: uppercase;
  font-size: 0.85rem;
  padding: 0px 5px;
  letter-spacing: 2px;
}

section.blog a.social-button {
  -ms-flex-align: center;
  align-items: center;
  border-radius: 2px;
  box-sizing: border-box;
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  font-size: .85rem;
  height: 1.75rem;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto 5px;
  padding: .25rem;
  width: 1.75rem;
}

section.blog a.social-button.twitter {
  background: #1da1f2;
}

section.blog a.social-button.linkedin {
  background: #0077b5;
}

section.blog a.social-button.facebook {
  background: #3b5998;
}

section.blog a.social-button.googleplus {
  background: #dd4b39;
}

@media screen and (min-width: 801px) {
  section.blog .social-share {
    left: -10px;
    position: absolute;
    padding: 0;
    top: 0;
    transform: translate(-100%, 0);
  }

  section.blog .social-share.scroll {
    left: 16px;
    position: fixed;
    top: 100px;
    transform: none;
  }
}

/*Small Screen*/

@media screen and (max-width: 800px) {
  section.blog .social-share {
    bottom: 0;
    left: 0;
    margin: 0;
    position: fixed;
    padding: 0;
    transition: transform 250ms;
    transform: translate(0,100%);
    width: 100%;
  }

  section.blog .social-share.scrolled {
    transition: transform 250ms;
    transform: translate(0,0);
  }

  section.blog legend {
    display: none;
  }

  section.blog .social-links {
    display: -ms-flexbox;
    display: flex;
  }

  section.blog a.social-button {
    border-radius: 0;
    height: 2.5rem;
    margin: 0;
    width: 100%;
  }

  section.features .featureButton a {
    font-size: 1rem;
    font-weight: 400;
    padding: 16px;
  }

  section.features .featureButton a:before {
    top: 25%;
  }

  section.features #prev-post a:before {
    left: 10px;
    transform: translate(-100%, -50%) rotateY(180deg);
  }

  section.features #next-post a:before {
    right: 10px;
    transform: translate(100%, -50%);
  }

  .single-post .blog-meta {
    margin: 20px 0 30px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .featured-posts img {
    display: none;
  }
}

/*Small and Medium Screens*/

@media screen and (max-width: 1000px) {
  .blog-list-post .feature-img {
    display: none;
  }

  .blog-list-post .blog-post {
    margin: 0;
  }

  .blog-meta {
    font-size: 0.85rem;
  }
}

/*
/* Author Pages
*/

.authorData {
  border: 1px solid #E1E7E6;
  border-radius: 2px;
  margin-bottom: 40px;
  padding: 30px;
}

.authorData .authorMeta {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  margin-bottom: 20px;
}

.authorData .authorMeta:last-child {
  margin-bottom: 0;
}

.authorData .authorMeta img {
  border-radius: 32px;
  height: 64px;
  width: 64px;
}

.authorData .authorMeta div {
  margin-left: 20px;
}

.authorData .authorMeta p.name {
  font-size: 1.7rem;
  font-weight: 600;
}

.authorData .authorMeta div a {
  color: #4C5859;
  display: inline-block;
  font-size: 1.25rem;
  height: 1em;
  line-height: 1em;
  margin-right: 10px;
  margin-top: 5px;
  width: 1em;
}

.authorData .authorMeta div a:hover {
  color: #2E3535;
}

table.autocannon {
  margin: 1em 0;
  border: 1px solid #363d3e;
  border-collapse: true;
  font-family: 'Source Code Pro','Ubuntu Mono', monospace;
}

table.autocannon tbody tr:nth-child(even) {
  background: initial;
}

table.autocannon tbody tr:nth-child(even) td {
  border-right: initial !important;
}

table.autocannon td {
  border: 1px solid #363d3e;
  vertical-align: middle;
  width: initial;
  padding: 0.5rem 0.5rem;
}

body.page-landing-page {
  background: #fff;
}

.landing-hero {
  color: #fff;
  background: #f5f7f7;
}

.landing-hero.template-3 {
  height: 260px;
  text-align: center;
}

.landing-hero div.content-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column;
  flex-flow: column;
  -ms-flex-align: end;
  align-items: flex-end;
  text-align: right;
  margin-top: 80px;
}

.landing-hero div.content-container.template-2 {
  -ms-flex-align: center;
  align-items: center;
  text-align: unset;
}

.landing-hero div.content-container.template-3 {
  height: 100%;
  background: linear-gradient(transparent, transparent, #fff);
  -ms-flex-align: center;
  align-items: center;
  text-align: unset;
  color: #2e3535;
  margin-bottom: 0px;
  padding-bottom: 40px;
}

.landing-hero div.content-container.template-3 div {
  display: none;
}

.content-body,
.content-form {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.content-body div.body {
  padding: 65px 0px 40px;
  width: 60%;
}

.body img {
  width: 100%;
  margin: 20px 0px;
}

.body h3 {
  font-size: 24px;
  margin-bottom: 25px;
  font-weight: 300 !important;
}

ul.content-grid {
  margin: 80px -20px !important;
}

.body ul {
  margin: 20px;
  font-size: 16px;
}

.body h2 {
  margin-bottom: 25px;
  font-weight: 300 !important;
}

body span.check::before {
  content: "\2713";
  padding-top: .1em;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-item-align: center;
  align-self: center;
  border: 1px solid #66ccbb;
  border-radius: 99px;
  box-sizing: border-box;
  color: #66ccbb;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 400;
  height: 30px;
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: 10px;
  width: 30px;
}

.content-form div.form {
  width: 43%;
  padding: 40px 10px;
}

.content-body div.body p {
  font-size: 16px;
}

.landing-hero div.hero-ns-logo {
  max-width: 280px;
  width: 280px;
  padding-bottom: 30px;
}

.landing-hero div svg {
  fill: #fff;
}

header.landing-hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 40px 0 40px 0;
}

header.landing-hero h1 {
  font-weight: 600;
  font-size: 54px;
}

header.landing-hero h2 {
  font-weight: 400;
  font-size: 36px;
}

header div.content-container {
  -ms-flex-item-align: center;
  align-self: center;
  margin-bottom: 40px;
}

.landing-flex-container {
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  -ms-flex-direction: row;
  flex-direction: row;
  max-width: 960px;
}

.landing-flex-container.template-3 {
  max-width: 80%;
  margin-top: 0px;
}

.landing-flex-column {
  -ms-flex: 1;
  flex: 1;
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
  -ms-flex-positive: 0;
  flex-grow: 0;
}

.landing-content {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
  -ms-flex-positive: 0;
  flex-grow: 0;
  padding-top: 20px;
}

.landing-flex-container.template-3 .landing-flex-column > h3:first-of-type {
  margin-bottom: 26px;
  font-weight: bold !important;
  color: #2e3535;
  padding-top: 20px;
}

.template-3 .landing-flex-column:last-child p {
  text-align: end;
  text-decoration: underline;
  margin-bottom: 20px;
}

.template-3 iframe {
  box-shadow: 0 10px 10px 0 rgb(0 0 0 / 10%);
  border: solid 1px #89a19d;
}

.template-3 .landing-content ul {
  margin: 20px;
}

.template-3 .landing-content li {
  color: #4c5859;
  font-size: 18px;
  list-style-type: none;
  position: relative;
  margin: 5px 0px;
}

.template-3 .landing-content li::before {
  background-image: url("/assets/circle-check-solid.b5e84a.svg");
  content: '';
  position: absolute;
  height: 18px;
  width: 18px;
  left: -1.2em;
  margin: 3px 0px;
}

.landing-content p {
  font-size: 16px;
}

.landing-content h3 {
  font-size: 24px;
  padding-bottom: 25px;
  font-weight: 300 !important;
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .flex-container {
    -ms-flex-direction: column;
    flex-direction: column;
    gap: unset;
  }

  .content-form div.form {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .content-form div.form {
    width: 100%;
  }

  .landing-hero.template-3 {
    padding-bottom: 0px;
    height: auto;
    text-align: center;
  }

  .landing-flex-container.template-3 {
    max-width: 100%;
  }

  .landing-flex-container {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .landing-flex-column {
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    margin: auto;
  }
}

.page-branding .master-detail .list-view {
  background: 0 0;
  padding-left: 0;
  padding-right: 0;
}

.font-title {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.font-title .button,
.productDownloads .button {
  background-color: #fff;
  border: 1px solid #4C5859;
  color: #4C5859;
  font-size: 0.85rem;
  margin-top: 0;
}

.page-branding ul.content-list {
  margin-bottom: 80px;
}

.productDownloads .button {
  margin-top: 30px;
}

.font-title .button:hover,
.productDownloads .button:hover {
  border: 1px solid #828A8B;
}

/*** Logos Section ***/

#nodesourceLogo h3,
#twitterCard h3 {
  font-size: 1rem;
  margin-bottom: 20px;
}

#nodesourceLogoImageSelector {
  padding: 30px 0 0;
}

#nodesourceLogoImageContent {
  padding: 30px 0 40px;
}

#nodesourceLogoImageContent p:first-of-type {
  font-size: 1.28rem;
}

.canvasWrap {
  width: 100%;
  min-height: 200px;
  padding: 80px 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}

.canvasWrap:before {
  background: #F7F7F7;
  display: block;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  opacity: .15;
}

.canvasWrap.invert:before {
  background: #4c5859;
  opacity: 1;
}

.canvasWrap.invert canvas {
  border-color: #2e3535;
}

.dimensions {
  position: absolute;
  top: 0;
  padding: 7px 0;
  font-size: 16px;
  background: #E1E7E6;
  width: 100%;
  text-align: center;
}

canvas {
  border: 1px solid #e1e7e6;
  box-sizing: border-box;
}

.imgSelector {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: stretch;
  align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.imgSelector img {
  -ms-flex: 1;
  flex: 1;
  box-sizing: border-box;
  opacity: .5;
  margin-bottom: 40px;
  padding: 8px;
  border: 1px solid transparent;
}

#twitterCard .imgSelector img {
  width: 26%;
}

.imgSelector img.selected {
  border: 1px solid #e1e7e6;
  box-shadow: 0px 4px 12px #e1e7e6;
  opacity: 1;
}

.imgSelector img:hover {
  opacity: 1;
  transition: all 100ms;
  cursor: pointer;
}

.imgSelector .invertedImages {
  display: none;
}

#nodesourceLogoImageSelector img {
  max-width: 250px;
  max-height: 80px;
  padding: 20px 40px;
}

.imgContent .show {
  display: block;
}

.imgContent .hide {
  display: none;
}

/*CONTROL GROUPS*/

.settings {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 80px;
  width: 800px;
}

.settings .controlGroup {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
}

.settings .controlGroup h4 {
  letter-spacing: 0;
  margin-bottom: 15px;
  text-transform: none;
}

input[type='range'] {
  -webkit-appearance: none;
  height: 2px;
  background: #e1e7e6;
  outline: none;
  border-radius: 10px;
}

input[type='range']::-webkit-slider-thumb {
  background: #4c5859;
  display: block;
  width: 12px;
  height: 12px;
  cursor: pointer;
  -webkit-appearance: none;
  border-radius: 100%;
}

textarea {
  width: 100%;
  height: 140px;
  display: block;
  font-size: 24px;
  outline: 0;
  padding: 20px;
  box-sizing: border-box;
  border: 1px solid #e1e7e6;
  font-family: 'Source Sans Pro', sans-serif;
  color: #4c5859;
  font-weight: 400;
}

.productDownloads {
  display: -ms-flexbox;
  display: flex;
}

.productDownloads div {
  -ms-flex: 1;
  flex: 1;
  padding: 15px 10px;
  text-align: center;
}

.productDownloads svg {
  height: 75px;
}

.productDownloads h3 {
  font-size: 26px;
}

/*** Typography Section ***/

.page-branding .type ul.content-list > li div:first-child {
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
}

.page-branding .type ul.content-list > li div:last-child {
  -ms-flex-preferred-size: 70%;
  flex-basis: 70%;
}

.page-branding .type .uppercase {
  text-transform: uppercase;
}

.page-branding .type .weight-head {
  font-size: 2.57rem;
  font-weight: 600;
}

.page-branding .type .weight-body {
  font-size: 2.57rem;
  font-weight: 400;
}

.page-branding .type .weight-light {
  font-size: 2.57rem;
  font-weight: 300;
}

.page-branding .type .weight-head div,
.page-branding .type .weight-body div,
.page-branding .type .weight-light div {
  margin-bottom: 20px;
}

.page-branding .type .code {
  font-family: 'Source Code Pro', 'Ubuntu Mono', monospace;
}

.page-branding .type ul.uses.content-list > li {
  -ms-flex-align: baseline;
  align-items: baseline;
}

.page-branding .type ul.uses.content-list > li div {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
}

.page-branding .type ul.uses.content-list > li div:first-child {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}

.page-branding .type ul.uses.content-list > li div:last-child {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
}

/*** Color Section ***/

.page-branding .color ul.content-grid > li {
  -ms-flex-preferred-size: 33.33%;
  flex-basis: 33.33%;
}

.page-branding .color ul.content-grid > li:hover {
  cursor: pointer;
}

li.color-sample-container.copied .color-sample {
  position: relative;
}

li.color-sample-container.copied .color-sample:before {
  background: rgba(255,255,255,.25);
  border-radius: 4px;
  mix-blend-mode: hard-light;
  content: 'Copied!';
  color: #4C5859;
  font-weight: 600;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: absolute;
}

.color-sample {
  height: 100px;
  width: 100%;
  border-radius: 4px;
}

.color-sample.color-base {
  background-color: #4C5859;
}

.color-sample.color-light-1 {
  background-color: #89A19D;
}

.color-sample.color-light-2 {
  background-color: #E1E7E6;
}

.color-sample.color-light-3 {
  background-color: #F5F7F7;
}

.color-sample.color-dark-1 {
  background-color: #3D4647;
}

.color-sample.color-dark-2 {
  background-color: #353d3e;
}

.color-sample.color-dark-3 {
  background-color: #2E3535;
}

.color-sample.color-dark-4 {
  background-color: #202525;
}

.color-sample.color-action-blue {
  background-color: #4cb5ff;
}

.color-sample.color-warning-yellow {
  background-color: #ffb726;
}

.color-sample.color-alert-red {
  background-color: #ff6040;
}

.color-sample.color-nsolid-green {
  background-color: #5ac878;
}

.color-sample.color-ncm-teal {
  background-color: #66ccbb;
}

.color-sample.color-accent-blue {
  background-color: #75BBEA;
}

.color-sample.color-accent-grass {
  background-color: #ADC480;
}

.color-sample.color-accent-lavender {
  background-color: #A28FCC;
}

.color-sample.color-accent-rose {
  background-color: #FA9FC5;
}

.color-description {
  margin: 10px 0 50px;
}

.color-description div:first-child {
  font-weight: 600;
}

/*Work with Us*/

.openings-container {
  margin-left: -20px;
  margin-right: -20px;
  padding: 0 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
}

.openings-container #open-positions,
.openings-container #what-we-offer {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  box-sizing: border-box;
  padding: 0 20px;
}

.openings-container h4 {
  margin-bottom: 20px;
}

.openings-container #open-positions {
  margin-left: -20px;
}

.openings-container #what-we-offer {
  margin-right: -20px;
}

/*Bamboo HR Feed*/

#BambooHR {
  margin-bottom: 30px;
}

#BambooHR-ATS {
  color: #4C5859;
  font-family: 'Source Sans Pro', sans-serif;
}

#BambooHR-ATS a {
  color: #4C5859;
}

.BambooHR-ATS-Department-Header {
  display: none;
}

.BambooHR-ATS-Jobs-List li a {
  color: #4C5859;
  display: block;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1em;
  margin: 0;
  text-decoration: none;
}

.BambooHR-ATS-Jobs-List li a:hover {
  text-decoration: underline;
}

.BambooHR-ATS-Department-List > li.BambooHR-ATS-Department-Item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.BambooHR-ATS-Jobs-List li a {
  border-top: 1px solid #E1E7E6;
  padding: 35px 0;
}

ul.BambooHR-ATS-Jobs-List {
  border-bottom: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.BambooHR-ATS-board h2 {
  display: none;
}

.BambooHR-ATS-board .BambooHR-ATS-Location {
  display: none;
}

#BambooHR-Footer {
  display: none;
}

#BambooHR-ATS p.blankState {
  background: #F5F7F7;
  border: 0;
  color: #4C5859;
  padding: 30px;
}

#BambooHR-ATS p.blankState strong {
  font-size: 1.28rem;
}

#BambooHR-ATS p.blankState strong:before {
  content: '\1F62D';
  margin-right: 5px;
}

/*Mystery Position Banner*/

#mysteryPosition {
  background: rgb(237, 248, 255);
  border-radius: 2px;
  color: rgba(0,0,0,.6);
  padding: 30px;
  text-align: center;
}

#mysteryPosition p {
  font-size: 1.28rem;
  line-height: 1em;
  margin-bottom: 20px;
}

#mysteryPosition .button {
  display: block;
}

@media screen and (max-width: 800px) {
  .openings-container {
    margin: 0;
    padding: 0;
    display: block;
  }

  .openings-container #open-positions,
  .openings-container #what-we-offer {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    box-sizing: border-box;
    padding: 20px;
  }
}

/* HEADER */

#events-header {
  padding: 120px 0 80px 0;
  text-align: center;
}

#events-header p {
  margin-right: auto;
  margin-left: auto;
}

#events-header p#featured-event-date {
  font-size: 1.28rem;
  font-weight: 600;
}

#events-header .small {
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.2em;
}

#events-header .hero-title {
  margin-top: 0;
  text-align: center;
}

#events-header .hero-logo {
  display: none;
}

#events-header p + p:not(.hero-title) {
  margin-bottom: 1em;
}

/*Generic Header when nothing is featured*/

#events-header-no-feature .content-container {
  max-width: 800px;
}

/* FEATURED EVENT STYLES */

/* ns-meetup */

#events-header.ns-meetup {
  background: linear-gradient(
      135deg,
      rgba(76, 88, 89, 0.5) 0%,
      rgba(102, 204, 187, 0.5) 100%
    ),
    
    url("assets/events/meetup.f7feef.png");
  background-position: 50% 50%;
  background-size: cover;
  background-blend-mode: normal, overlay;
  background-color: #2E3535;
}

/* community, conference */

#events-header.conferences,
#events-header.community-meetup {
  background: linear-gradient(
      135deg,
      rgba(90, 200, 120, 0.5) 0%,
      rgba(76, 181, 255, 0.5) 100%
  ),
  
  url("assets/events/conference-community.2aac3b.png");
  background-position: 50% 50%;
  background-size: cover;
  background-blend-mode: normal, overlay;
  background-color: #2E3535;
}

/* webinar */

#events-header.webinar {
  background: linear-gradient(
      135deg,
      rgba(90, 200, 120, 0.5) 0%,
      rgba(102, 204, 187, 0.5) 100%
  ),
  
  url("assets/events/webinar.9736ff.png");
  background-position: 50% 50%;
  background-size: cover;
  background-blend-mode: normal, overlay;
  background-color: #2E3535;
}

/* workshop */

#events-header.workshop {
  background: linear-gradient(
      135deg,
      rgba(49, 41, 56, 0.5) 0%,
      rgba(162, 143, 204, 0.5) 100%
  ),
  
  url("assets/events/meetup.f7feef.png");
  background-position: 50% 50%;
  background-size: cover;
  background-blend-mode: normal, overlay;
  background-color: #2E3535;
}

/* enterpriseJS */

#events-header.enterprise-js {
  background: url("assets/events/enterprisejs-tile.ef6677.jpg") repeat;
}

#events-header.enterprise-js .hero-title {
  display: none;
}

#events-header.enterprise-js .hero-logo {
  display: block;
  margin: 20px auto;
  width: 60%;
}

#events-header.enterprise-js p {
  margin-bottom: 1em;
}

.events-lists .content-container {
  max-width: 800px;
}

.event-info {
  max-width: 100px;
}

.event-date {
  border: 1px solid #E1E7E6;
  padding: 20px;
}

.event-date span {
  display: block;
  font-weight: 600;
  text-align: center;
}

.event-date .day {
  font-size: 3.85rem;
  margin: 10px 0;
}

.event-date .month,
.event-date .time,
.event-speakers small {
  color: #89A19D;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.2em;
  font-size: 0.85rem;
}

.event-type {
  background-color: #F5F7F7;
  line-height: 1.2;
  text-align: center;
}

.events-lists ul.content-list > li {
  -ms-flex-align: start;
  align-items: flex-start;
}

.events-lists ul.content-list .title {
  font-size: 1.7rem;
}

.events-lists .content-copy {
  margin-left: 40px;
}

.events-lists small {
  display: block;
  font-size: 0.85rem;
  padding: 10px 0;
}

.events-lists .event-speakers,
.events-lists .event-speakers ul,
.events-lists .event-speakers li {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.events-lists .event-speakers {
  padding: 15px 0;
}

.events-lists .event-speakers small {
  margin-right: 10px;
}

.events-lists .event-speakers ul {
  list-style: none;
}

.events-lists .event-speakers li {
  margin: 5px 0;
}

.events-lists .event-speakers a {
  border-bottom: 1px solid #E1E7E6;
  color: #4C5859;
  font-size: 0.85rem;
  line-height: 1.4em;
  margin-right: 15px;
}

.events-lists .event-speakers a:hover {
  border-color: #4C5859;
}

.events-lists ul.content-list .event-speakers img {
  border-radius: 100%;
  width: 30px;
  height: 30px;
  margin-right: 5px;
}

/*CFP and Discount Code Banners*/

.event-ctas {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

a.cfp-cta {
  background: rgb(219, 240, 255);
  border-radius: 2px;
  color: #4C5859;
  display: block;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  line-height: 1em;
  margin-top: 20px;
  margin-right: 20px;
  padding: 8px;
}

a.cfp-cta .view {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  font-size: 0.85rem;
  letter-spacing: .12em;
  margin-left: 10px;
  text-decoration: underline;
  text-transform: uppercase;
}

a.cfp-cta:hover {
  background: rgb(183, 225, 255);
}

.discountCode {
  background: #F5F7F7;
  border-radius: 2px;
  color: #4C5859;
  display: block;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  line-height: 1em;
  margin-top: 20px;
  padding: 8px;
}

@media screen and (max-width: 800px) {
  #events-header {
    padding: 60px 0 0 0;
    text-align: center;
  }
}

/*Top Section*/

#about-intro #about-content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  padding-bottom: 120px;
}

#about-content #about-content-left {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
  padding-right: 40px;
  box-sizing: border-box;
}

#about-content #about-content-right {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
  padding-left: 40px;
  box-sizing: border-box;
}

#about-content #about-content-right .hq-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column;
  flex-flow: column;
}

#about-content #about-content-right .hq-container div {
  display: -ms-flexbox;
  display: flex;
}

#about-content #about-content-right .hq-container div p {
  margin-top: unset;
  margin-right: 0.4em;
}

@media screen and (max-width: 1000px) {
  #about-intro #about-content {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  #about-content #about-content-left {
    padding-right: 0;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
  }

  #about-content #about-content-right {
    padding-left: 0;
    padding-top: 40px;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
  }
}

/*Open Core*/

#open-core {
  background: #2E3535;
  color: #fff;
}

#open-core img {
  max-width: 100%;
}

#open-core .content-container {
  margin: 0 auto;
  padding: 120px 0;
}

#open-core .content-container p {
  max-width: 800px;
}

#open-core h3,
#open-core a,
#open-core h4 {
  color: #fff;
  max-width: 800px;
}

#open-core .content-container *:first-child {
  margin-top: 0;
}

/*Bio*/

.team-members ul.content-grid {
  margin: 40px auto;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 0 10px;
}

.team-members ul.content-grid > li {
  border-radius: 2px;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 20px;
  min-width: 100px;
  padding: 0 10px;
  position: relative;
}

.team-members ul.content-grid img {
  margin: 0 auto;
  width: 100%;
}

.team-members .info {
  background: #F5F7F7;
  color: #fff;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 12px 20px;
  z-index: 7;
}

.team-members .name {
  color: #4C5859;
  font-size: 1.28rem;
  line-height: 1em;
  margin-bottom: 0;
}

.team-members .work-title {
  color: #89A19D;
  font-size: 0.85rem;
  font-style: regular;
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1em;
  margin-top: 5px;
}

.team-members .top {
  position: relative;
  width: 100%;
}

.team-members li .social {
  background: rgba(46, 53, 53, 0.9);
  box-sizing: border-box;
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  left: 0;
  opacity: 0;
  padding: 20px;
  position: absolute;
  text-align: center;
  top: 0;
  transition: all 250ms;
  transform: rotateX(90deg) rotateY(10deg);
  transform-origin: bottom left;
  width: 100%;
  overflow: hidden;
  z-index: 8;
}

.team-members li:hover .social {
  opacity: 1;
  transform: none;
}

.team-members .social .social-icons {
  margin-bottom: 10px;
}

.team-members .social .icon {
  font-size: 1.7rem;
  color: #89A19D;
  padding: 0 5px;
}

.team-members .social .icon:hover {
  opacity: .5;
}

.team-members h4 {
  color: #89A19D;
}

.team-members .location a {
  color: #fff;
  cursor: hand;
}

/*Media*/

@media screen and (max-width: 800px) {
  section.about-section .copy-container > h2 {
    margin: 20px 0px;
  }

  .team-members {
    padding: 0;
  }

  .team-members ul.content-grid>li {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    min-width: inherit;
  }

  #open-core .content-container {
    padding: 40px 20px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .team-members ul.content-grid>li {
    -ms-flex-preferred-size: 33.33%;
    flex-basis: 33.33%;
  }
}

@media screen and (min-width: 1601px) {
  .team-members ul.content-grid>li {
    -ms-flex-preferred-size: 16.6667%;
    flex-basis: 16.6667%;
  }
}

/* Homepage Hero */

.home-hero {
  background-color: #ffffff;
  background-image: url("https://assets.nodesource.com/website/background+white.png");
  height: auto;
  background-size: cover;
  background-repeat: no-repeat;
}

.home-hero > div:first-of-type {
  height: 100%;
  background: linear-gradient(transparent, transparent, #fff);
}

.home-hero-title {
  color: #202525;
  text-align: center;
  margin-top: 40px;
}

.home-hero-title > h1 {
  font-weight: bold;
  margin-bottom: 10px;
}

.home-hero-title > p {
  font-size: 26px;
  margin: auto;
  margin-top: 20px;
}

.home-hero .content-container {
  color: #202525;
  margin: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}

.home-hero .content-container .container-button-line {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  cursor: pointer;
}

.home-hero .content-container .container-button-line > div:first-of-type {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding-right: 5px;
}

.home-hero .content-container .container-button-line:before {
  border: 1px solid #5AC878;
  content: '';
  position: absolute;
  left: 15px;
  height: 100%;
  z-index: -1;
  top: 7px;
}

.home-hero .content-container .container-button-line.first:before {
  top: 22px;
}

.home-hero .content-container .container-button-line.last:before {
  height: 20%;
}

.home-hero .content-container .container-button-line div > svg .lines-logo {
  fill: #ffffff;
}

.home-hero .content-container .active div > svg .lines-logo {
  fill: #5AC878;
}

.home-hero .content-container .active div:first-of-type {
  padding-top: 5px;
  -ms-flex-align: start;
  align-items: flex-start;
}

.home-hero .content-container .container-button-line p {
  font-size: 16px;
  text-align: left;
  margin: 25px 0px;
}

.home-hero .content-container .button-line {
  border-bottom: 1px solid #E1E7E6;
  padding: 10px 0px;
}

.home-hero .content-container .button-line p {
  margin: 0px;
}

.home-hero .content-container .button-line-disabled {
  min-height: 50px;
  color: gray;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #E1E7E6;
  width: 100%;
}

.home-hero .content-container .button-line .description {
  margin: 0px;
  font-weight: 400;
  font-size: 14px;
}

.home-hero .content-container  h1 {
  font-size: 52px;
  font-weight: bold;
  color: #202525;
}

.home-hero .content-container p {
  margin: 30px 0px;
  font-size: 26px;
  font-weight: bold;
}

.home-hero .content-container .home-ncm {
  font-size: 22px;
}

.home-hero .content-container .container-button-learn-more {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 20px 4px 40px;
  gap: 20px;
}

.home-hero .content-container a.watch-now {
  font-size: 22px;
  font-weight: 600;
  color: #1b1f1f;
  text-decoration: underline;
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
}

.home-hero .content-container a.learn-more {
  border-radius: 4px;
  background-color: #5ac878;
  padding: 13px 25px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  color: #fafafa;
}

.home-hero .content-container .button-trial {
  border-radius: 3px;
  background-color: #5ac878;
  margin-right: 50px;
  padding: 13px 45px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  color: #fafafa;
}

.home-hero .content-container > img {
  height: 420px;
}

.home-hero .content-container .show-img {
  opacity: 1;
  transition: height 0ms 0ms, opacity 600ms 0ms;
}

.home-hero .content-container .hide-img {
  opacity: 0;
  transition: height 0ms 400ms, opacity 400ms 0ms;
  overflow: hidden;
  height: 0;
  max-width: 0%;
}

.home-hero .content-container > div {
  padding-right: 40px;
  max-width: 320px;
}

/* features */

.home-features {
  background: #5AC878;
  color: #fff;
  background-blend-mode: color-burn;
  background-image: linear-gradient(to left, #4c92ff, #5ac878);
  height: 202px;
}

.home-features .content-container {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: auto;
  color: #fff;
  height: 100%;
  -ms-flex-pack: center;
  justify-content: center;
}

.home-features .button-container {
  margin-top: 30px;
}

.home-features .content-container .button-explore {
  border-radius: 4px;
  border: solid 2px #f5f7f7;
  background: transparent;
  margin-right: 20px;
  padding: 1em 3em;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: .12em;
  line-height: 1em;
  text-transform: uppercase;
  color: #fafafa;
}

.home-features .content-container > div {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-align: center;
  align-items: center;
  font-size: 26px;
}

/* values */

.home-values {
  background-color: #ffffff;
}

.home-values .content-container {
  display: -ms-flexbox;
  display: flex;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 50px !important;
  margin: auto;
  -ms-flex-pack: center;
  justify-content: center;
  width: 740px;
  text-align: center;
}

.home-values .content-container h2 {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  color: #202525;
  margin-bottom: 33px;
}

.home-values .content-container span {
  color: #5bc878;
}

.home-values .content-container p {
  font-size: 26px;
  font-weight: normal;
  color: #202525;
}

.home-values .content-container .companies {
  display: -ms-flexbox;
  display: flex;
  height: 150px;
  -ms-flex-align: center;
  align-items: center;
}

.home-values .content-container img {
  width: 150px;
  margin-left: 40px;
}

/* Runtime OSS */

.home-runtime-oss {
  background-color: #5c6768;
  background-image: linear-gradient(to right, #001740 0%, #003d00 100%);
  color: #fff;
  text-align: center;
  padding: 78px 0px;
}

.home-runtime-oss .content-container {
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  margin: auto;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

.home-runtime-oss .content-container h2 {
  font-weight: normal;
  font-size: 37px;
}

.home-runtime-oss .button-container {
  margin-top: 40px;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 150px;
}

.home-runtime-oss .content-container a.learn-more {
  color: #ffffff;
  font-size: 24px;
  display: inline-block;
  border-bottom: 1px solid #f5f7f7;
  height: 22px;
}

.home-runtime-oss .button-container .github-container {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
}

.home-runtime-oss .button-container svg {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid;
}

.home-runtime-oss .button-container svg path {
  fill: #ffffff;
}

.home-runtime-oss .content-container a.git-repo {
  font-size: 20px;
  color: #ffffff;
  display: inline-block;
  border-bottom: 1px solid #f5f7f7;
}

/* Testimonial */

.home-testimony {
  background-color: #5c6768;
  background-image: linear-gradient(to right, #01183f 0%, #013d02 100%);
  color: #fff;
  text-align: center;
}

.home-testimony .carousel-wrap {
  box-sizing: border-box;
  margin: 0 auto;
  padding: 50px;
  max-width: 920px;
  position: relative;
  width: 100%;
}

.quotes {
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  margin: 0 80px;
  color: #fff;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-align: center;
  align-items: center;
}

.customer-quote {
  -ms-flex-align: center;
  align-items: center;
  display: inline;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
  font-size: 30px;
  font-weight: 300;
  line-height: 1.4em;
  margin: 0 auto;
  max-width: 100%;
  opacity: 0;
  -ms-flex-order: auto;
  order: auto;
  padding: 0;
  position: relative;
  word-wrap: nowrap;
  transition: all 250ms;
}

.quote-1 div.quote-1,
.quote-2 div.quote-2,
.quote-3 div.quote-3 {
  opacity: 1;
  -ms-flex-order: -1;
  order: -1;
}

blockquote:before,
blockquote:after {
  color: #fff;
  display: inline;
  font-size: 1.25em;
  font-weight: 200;
  line-height: 1em;
}

blockquote:before {
  content: '\201C';
}

blockquote:after {
  content: '\201D';
}

.home-testimony blockquote {
  -ms-flex-item-align: center;
  align-self: center;
}

.home-testimony div#nasa-quote {
  font-size: 1.7rem;
  font-weight: 300;
}

.quote-selector {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 80px;
}

.quote-selector a {
  border-radius: 4px;
  display: block;
  height: 80px;
  margin: 40px 20px 16px 20px;
  padding: 16px 20px;
  width: 160px;
  transition: all 250ms;
}

.quote-selector a:hover {
  background: #fff;
}

.quote-1 .quote-selector .quote-1,
.quote-2 .quote-selector .quote-2,
.quote-3 .quote-selector .quote-3 {
  background: #fff;
  box-shadow: 0px 6px 12px #E1E7E6;
}

.quote-selector img {
  max-width: 100%;
  max-height: 100%;
}

.carousel-wrap .arrows .arrow {
  background: #fff;
  border-radius: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  height: 50px;
  position: absolute;
  top: 50%;
  text-align: center;
  transform: translate(0, -50%);
  width: 50px;
}

.carousel-wrap .arrows .arrow svg {
  fill: #5ac878;
  height: auto;
  width: 12px;
}

.carousel-wrap .arrows .arrow:hover {
  background: rgba(0,0,0,.25);
}

.carousel-wrap .arrows .arrow:active {
  background: rgba(0,0,0,.5);
}

.carousel-wrap .arrow#next {
  right: 40px;
}

.carousel-wrap .arrow#prev {
  left: 40px;
  transform: translate(0, -50%) rotateY(180deg);
}

/* Secondary CTAs */

.home-secondary-ctas {
  background: #fff;
}

.home-secondary-ctas .content-container {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  margin: 50px auto;
}

.home-secondary-ctas h3 {
  font-size: 52px;
  font-weight: bold;
  color: #202525;
  margin-bottom: 30px;
}

.home-secondary-ctas  p {
  font-size: 26px;
  font-weight: normal;
  color: #202525;
  width: 375px;
}

.home-secondary-ctas .content-container > div {
  width: 50%;
  padding: 50px;
}

.home-secondary-ctas .content-container > img {
  width: 50%;
}

.home-secondary-ctas .button-container {
  margin-top: 30px;
}

.home-secondary-ctas .content-container a.learn-more {
  font-size: 22px;
  font-weight: 600;
  color: #1b1f1f;
  text-decoration: underline;
}

.home-secondary-ctas .content-container .button-explore {
  border-radius: 3px;
  background-color: #5ac878;
  margin-right: 50px;
  padding: 13px 45px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  color: #fafafa;
}

/* apm */

.home-apms {
  background-blend-mode: color-burn;
  background-color: #5c6768;
  background-image: linear-gradient(to left, #4c92ff 0%, #5ac878 100%);
}

.home-apms .content-container {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  margin: 0px;
  width: 100%;
}

.home-apms h3 {
  font-size: 52px;
  font-weight: bold;
  color: #f5f7f7;
  margin-bottom: 30px;
}

.home-apms p {
  font-size: 26px;
  font-weight: normal;
  color: #f5f7f7;
  width: 375px;
}

.home-apms .content-container > div {
  padding-left: 80px;
}

.home-apms .content-container > img {
  width: 50%;
}

.home-apms .button-container {
  margin-top: 30px;
}

.home-apms .content-container a.learn-more {
  font-size: 22px;
  font-weight: 600;
  color: #f5f7f7;
  text-decoration: underline;
}

.home-apms .content-container .button-explore {
  margin-right: 50px;
  padding: 13px 45px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 4px;
  border: solid 2px #f5f7f7;
  background: transparent;
  color: #f5f7f7;
}

/* support */

.home-support {
  padding: 78px 0px;
  color: #ffffff;
  text-align: center;
  background-blend-mode: color-burn;
  background-image: linear-gradient(to left, #0083df 99%, #0063c9 4%);
}

.home-support .content-container {
  margin: auto;
}

.home-support .content-container > h2 {
  padding-bottom: 40px;
}

.home-support .button-container {
  margin-top: 20px;
}

.home-support .content-container a.learn-more {
  text-transform: uppercase;
  margin-top: 20px;
  font-size: 22px;
  font-weight: 600;
  color: #f5f7f7;
  border-radius: 4px;
  border: solid 2px #f5f7f7;
  background: transparent;
  padding: 13px 45px;
  font-size: 15px;
}

/* contents */

.home-top-contents {
  background-color: #ffffff;
  background-size: cover;
  padding: 50px 0px;
}

.home-top-contents h2 {
  text-align: center;
  position: relative;
}

.home-top-contents h2:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 210px;
  height: 3px;
  right: 0;
  background: #5ac878;
  margin: auto;
}

.home-top-contents > div {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  margin-top: 50px;
  -ms-flex-pack: center;
  justify-content: center;
}

.home-top-contents  > div .main-content {
  width: 696px;
  background: #FFFFFF;
  box-shadow: 5px 5px 30px 10px rgba(0, 0, 0, 0.25);
  border-radius: 2px;
  margin-right: 30px;
  padding: 25px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: justify;
  justify-content: space-between;
  color: #343b3c;
}

.home-top-contents .main-content .texture-1 {
  background-image: url("https://assets.nodesource.com/website/blog/bg-texture-01.jpg");
  height: 398px;
  background-size: cover;
  margin-bottom: 27px;
}

.home-top-contents .main-content .top-content-title {
  height: 100%;
  font-size: 46px;
  display: grid;
  gap: 10px;
}

.home-top-contents .main-content .top-content-title > span {
  line-height: 1;
  letter-spacing: normal;
  text-align: center;
  color: #f5f7f7;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.home-top-contents .main-content .top-content-svg {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
}

.home-top-contents .main-content .top-content-svg > svg {
  height: 37px;
  fill: #f5f7f7;
  margin-right: 10px;
}

.home-top-contents .main-content .top-content-svg > svg:last-child {
  height: 18px;
}

.home-top-contents .other-content .texture-2 {
  background-image: url("https://assets.nodesource.com/website/blog/bg-texture-02.jpg");
  height: 160px;
  width: 160px;
  padding: 0;
  background-size: cover;
}

.home-top-contents .other-content .texture-3 {
  background-image: url("https://assets.nodesource.com/website/blog/bg-texture-03.jpg");
  height: 160px;
  width: 160px;
  padding: 0;
  background-size: cover;
}

.home-top-contents .other-content .texture-4 {
  background-image: url("https://assets.nodesource.com/website/blog/bg-texture-04.jpg");
  height: 160px;
  width: 160px;
  padding: 0;
  background-size: cover;
}

.home-top-contents .other-content .top-content-title {
  height: 100%;
  font-size: 16px;
  display: grid;
  /* gap: 10px; */
  width: inherit;
}

.home-top-contents .other-content .top-content-title > span {
  line-height: 1;
  letter-spacing: normal;
  text-align: center;
  color: #f5f7f7;
  display: -ms-flexbox;
  display: flex;
  width: inherit;
  -ms-flex-align: center;
  align-items: center;
}

.home-top-contents .other-content .top-content-svg {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
}

.home-top-contents .other-content .top-content-svg > svg {
  height: 16px;
  fill: #f5f7f7;
  margin-right: 10px;
}

.home-top-contents .other-content .top-content-svg > svg:last-child {
  height: 8px;
}

.home-top-contents .main-content img {
  width: 100%;
  margin-bottom: 27px;
}

.home-top-contents p {
  font-weight: 600;
  font-size: 17px;
  text-transform: uppercase;
  line-height: 120%;
  color: #748985;
}

.home-top-contents .main-content h4 {
  font-weight: 600;
  font-size: 37px;
  line-height: 38px;
  letter-spacing: -0.02em;
  margin: 12px 0px;
  text-transform: none;
}

.home-top-contents .other-content {
  width: 440px;
  height: 197px;
  background: #FFFFFF;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
  border-radius: 2px;
  margin-bottom: 5px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding: 0px 25px;
  color: #343b3c;
}

.home-top-contents .other-content > div {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  height: 100%;
  padding-left: 20px;
}

.home-top-contents .other-content h5 {
  font-weight: 600;
  font-size: 26px;
  line-height: 111%;
  letter-spacing: -0.02em;
  text-transform: none;
}

.home-top-contents .other-content img {
  width: 170px;
  height: 165px;
}

/*Bottom CTA*/

.page-home .bottom-cta {
  background: #5AC878;
  color: #fff;
  text-align: center;
  background-blend-mode: color-burn;
  background-image: linear-gradient(45deg, #4c92ff, #5ac878);
}

.page-home .bottom-cta h2 {
  margin-bottom: 1rem;
}

@media (max-width: 1280px) {
  /* features */

  .home-hero {
    height: auto;
  }

  .home-hero .content-container h1,
  .home-secondary-ctas h3,
  .home-apms h3 {
    font-size: 40px;
  }

  .home-hero .content-container p,
  .home-secondary-ctas p,
  .home-apms p {
    font-size: 20px;
  }

  .home-hero .content-container .button-line-disabled {
    min-height: auto;
  }

  .home-hero .content-container .button-line-disabled p {
    margin: 10px 0px;
  }

  .home-hero .content-container > img {
    height: 400px;
    width: 600px;
  }

  .home-secondary-ctas .content-container > img {
    width: 45%;
  }

  .home-secondary-ctas .content-container a.learn-more,
  .home-apms .content-container a.learn-more {
    font-size: 18px;
  }

  .home-secondary-ctas .content-container .button-explore {
    margin-right: 25px;
  }
}

@media (max-width: 1000px) {
  /* features */

  .home-features .content-container .list-sub-container li {
    width: 220.66px;
  }
}

@media screen and (max-width: 800px) {
  /* hero */

  .home-hero {
    height: auto;
  }

  .home-hero .content-container {
    -ms-flex-direction: column;
    flex-direction: column;
    margin: auto;
    margin-top: 20px;
  }

  .home-hero .content-container > div {
    padding-left: 0px;
    text-align: center;
    margin-bottom: 30px;
    padding-right: 0px;
  }

  .home-hero .content-container > p {
    font-size: 16px;
    margin-top: 6px;
    margin-bottom: 10px;
  }

  .home-hero .content-container > img {
    display: none;
  }

  .home-hero .content-container .button-trial {
    margin-right: 20px;
  }

  .home-hero .content-container a.learn-more {
    font-size: 20px;
  }

  .home-hero .content-container .button-line {
    text-align: left;
  }

  /* features */

  .home-features {
    height: 100%;
  }

  .home-features .content-container {
    padding: 30px;
  }

  .home-features .content-container h2 {
    text-align: center;
  }

  .home-features .content-container > div {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
  }

  .home-features .content-container .button-explore {
    margin-right: 0px;
    margin-bottom: 20px;
  }

  /* values */

  .home-values .content-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 0px;
    width: auto;
  }

  .home-values .content-container .companies {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
  }

  .home-values .content-container img {
    margin-left: 0px;
    margin: 50px 0px;
  }

  /* Runtime OSS */

  .home-runtime-oss {
    height: 100%;
    padding: 20px 0px;
  }

  .home-runtime-oss .button-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 30px;
    margin: 30px 0px;
  }

  .home-runtime-oss .content-container a.learn-more {
    margin: auto;
    height: auto;
  }

  .home-runtime-oss .button-container svg {
    width: 145px;
  }

  /* video */

  .home-video iframe,
  .iframe-video:before {
    width: 267px !important;
    margin: 0 auto !important;
  }

  .home-video iframe {
    height: 150px;
  }

  .home-video iframe * {
    height: auto;
  }

  /* testimony */

  .home-testimony .carousel-wrap,
  .quotes,
  .quote-selector {
    padding: 0;
    margin: 0 auto;
  }

  .home-testimony .carousel-wrap .arrows {
    display: none;
  }

  /* secondary */

  .home-secondary-ctas .content-container {
    margin-bottom: 30px;
    text-align: center;
    margin-top: 0px;
  }

  .home-secondary-ctas .content-container > div {
    width: 100%;
    padding: 0px;
  }

  .home-secondary-ctas .content-container p {
    width: auto;
  }

  .home-secondary-ctas .content-container > img {
    display: none;
  }

  .home-secondary-ctas .content-container .button-container,
  .container-button-learn-more {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
  }

  .home-secondary-ctas .content-container .button-explore {
    margin-bottom: 25px;
    margin-right: 0px;
  }

  /* apms */

  .home-apms .content-container {
    margin-bottom: 30px;
    text-align: center;
    margin-top: 0px;
  }

  .home-apms .content-container > div {
    width: 100%;
    padding: 0px;
  }

  .home-apms .content-container p {
    width: auto;
  }

  .home-apms .content-container > img {
    display: none;
  }

  .home-apms .content-container  .button-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
  }

  .home-apms .content-container .button-explore {
    margin-bottom: 25px;
    margin-right: 0px;
  }

  /* contents */

  .home-top-contents > div {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 20px;
  }

  .home-top-contents  > div .main-content {
    width: 100%;
    margin-bottom: 20px;
  }

  .home-top-contents .main-content h4 {
    font-size: 20px;
  }

  .home-top-contents  > div .other-content {
    width: 100%;
  }

  .home-top-contents .other-content h5 {
    font-size: 20px;
    overflow: hidden;
  }

  .home-top-contents .main-content .top-content-title {
    font-size: 30px;
  }

  .home-top-contents .main-content .texture-1 {
    height: 285px;
    margin-bottom: 27px;
  }

  /* bottom */

  .page-home .bottom-cta .content-container:last-child {
    padding: 20px;
  }

  .page-home .bottom-cta .content-container:last-child > a {
    width: auto;
  }
}

@media screen and (min-width: 1601px) {
  .home-hero .content-container,
  .home-apms .content-container {
    -ms-flex-pack: center;
    justify-content: center;
  }

  .home-hero .content-container > div {
    max-width: 400px;
  }

  .home-apms .content-container > img {
    padding: 50px;
    width: 700px;
  }
}

/*Press Kits*/

#press-kit {
  background: #2E3535;
  color: #fff;
  padding: 80px 0;
}

#press-kit .content-container {
  margin-top: 0;
}

#press-kit h1 {
  text-align: center;
}

.option-links a svg {
  max-height: 80px;
  margin-bottom: 16px;
}

.option-links a#companyAssets .button.more,
.option-links a#productAssets .button.more,
.option-links a#ncmAssets .button.more,
.option-links a#serviceAssets .button.more {
  margin: 20px 0 5px 0;
}

.option-links a#companyAssets svg {
  fill: #fff;
}

.option-links a#companyAssets {
  border-color: #E1E7E6;
}

.option-links a#companyAssets .button.more,
.option-links a#companyAssets .button.more:after {
  color: #E1E7E6;
}

.option-links a#productAssets {
  border-color: #5ac878;
}

.option-links a#productAssets .button.more,
.option-links a#productAssets .button.more:after {
  color: #5ac878;
}

.option-links a#ncmAssets {
  border-color: #66ccbb;
}

.option-links a#ncmAssets .button.more,
.option-links a#ncmAssets .button.more:after {
  color: #66ccbb;
}

.option-links a#serviceAssets {
  border-color: #75BBEA;
}

.option-links a#serviceAssets .button.more,
.option-links a#serviceAssets .button.more:after {
  color: #75BBEA;
}

.page-press .two-column-layout {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 80px;
}

/*Press Releases*/

.page-press .two-column-left,
.page-press .two-column-right {
  box-sizing: border-box;
}

.page-press .two-column-left {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
}

#pressReleases ul.content-list .title,
#pressReleases ul.content-list .post-description {
  margin-bottom: 10px;
}

/* News Sidebar */

.page-press .two-column-right {
  background: #fff;
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
}

.page-press section.two-column:after {
  background: #fff;
}

#news-list .publication {
  color: #89A19D;
  font-size: 12px;
  margin-top: 8px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#news-list .publication .date {
  margin-left: 8px;
  letter-spacing: 0;
  text-transform: none;
}

.page-press a.load-more {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
  margin: 0;
}

.hidden {
  display: none !important;
}

@media screen and (max-width: 1000px) {
  .page-press .two-column-left,
  .page-press .two-column-right,
  .page-press a.load-more {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
  }

  .page-press .two-column-right {
    padding: 40px 0;
  }
}

@media screen and (min-width: 1001px) and (max-width: 1280px) {
  ul.content-list.sidebar#news-list img {
    width: 120px;
    margin-bottom: 1em;
  }
}

@media screen and (max-width: 800px) {
  #press-kit {
    padding: 20px 0;
  }

  .page-press .two-column-left,
  .page-press .two-column-right {
    padding: 20px;
  }

  .option-links a svg {
    margin-bottom: 10px;
    max-height: 60px;
  }
}

/* Pricing Hero */

.pricing-hero {
  background: linear-gradient(
    101deg
    , #71b0ea 11.16%, #22c54e 66.73%), url("assets/nsolid/background-pricing-home.b74787.jpg");
  background-blend-mode: color-burn;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 720px;
  overflow: initial !important;
}

.pricing-hero .content-container {
  display: -ms-flexbox;
  display: flex;
  margin-top: 80px;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.pricing-hero .content-container div {
  width: 452px;
}

.pricing-hero .content-container h1 {
  font-size: 52px;
  font-weight: 600;
}

.pricing-hero .content-container p {
  margin: 20px 0px 50px;
  font-size: 26px;
  letter-spacing: -0.52px;
  font-weight: normal;
}

.pricing-hero .content-container img {
  width: 764px;
  height: 507px;
}

.pricing-hero:after {
  background: #F5F7F7;
  bottom: -5.3vw;
  content: '';
  display: block;
  height: 10vw;
  position: absolute;
  transform: skewY(5deg);
  width: 110%;
}

/* tools */

.pricing-tools {
  background: #F5F7F7;
  padding-bottom: 80px;
  height: 600px;
}

.pricing-tools .content-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 0px;
}

.pricing-tools .content-container h2.secondary {
  font-size: 37px;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.08;
  letter-spacing: -0.74px;
  color: #5ac878;
}

.pricing-tools .content-container .tools {
  display: -ms-flexbox;
  display: flex;
  margin-top: 62px;
}

.pricing-tools .content-container .tools div {
  width: 400px;
}

.pricing-tools .content-container .tools img:first-of-type {
  height: 150px;
  margin-right: 30px;
}

.pricing-tools .content-container .tools img:last-of-type {
  height: 150px;
}

.pricing-tools .content-container .tools h3 {
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: -0.74px;
  text-align: left;
  margin-bottom: 20px;
}

.pricing-tools .content-container .tools p {
  font-size: 17px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.12;
  letter-spacing: normal;
  text-align: left;
  margin-bottom: 45px;
}

.pricing-tools .content-container .tools a {
  border-radius: 4px;
  border: solid 1px #5ac878 !important;
  color: #5ac878 !important;
}

.pricing-tools:after {
  background: #4C5859;
  bottom: -4.3vw;
  content: '';
  display: block;
  height: 10vw;
  position: absolute;
  transform: rotate(-5deg);
  width: 110%;
  background-image: linear-gradient(111.21deg, rgba(76, 146, 255, 0.3) 6.89%, rgba(90, 200, 120, 0.3) 65.13%);
  background-blend-mode: color-burn;
}

/* saas */

.pricing-saas {
  background-color: #4C5859;
  background-size: cover;
  overflow: visible;
  color: #fff;
  padding-top: 4px;
  text-align: center;
  background-image: linear-gradient(111.21deg, rgba(76, 146, 255, 0.3) 6.89%, rgba(90, 200, 120, 0.3) 65.13%);
  background-blend-mode: color-burn;
  height: 950px;
}

.pricing-saas .content-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 0px;
}

.pricing-saas .content-container h3 {
  font-size: 22px;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.08;
  letter-spacing: -0.44px;
  text-align: center;
  color: #ff6040;
  margin: 20px 0px 30px 0px;
}

.pricing-saas .content-container h3 a {
  color: #ff6040;
}

.pricing-saas .content-container h3 a:hover {
  color: #ff6040;
}

.pricing-saas .content-container > p {
  font-size: 17px;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.65;
  letter-spacing: normal;
  text-align: center;
  color: #ffffff;
  margin-bottom: 40px;
}

.pricing-saas .content-container a.contact {
  margin: 50px;
}

.pricing-saas .content-container .breakline {
  width: 684px;
  border: 1px solid #F5F7F7;
  margin-bottom: 50px;
}

.pricing-saas .content-container > div {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-direction: row;
  flex-direction: row;
}

.pricing-saas .content-container .saas-element {
  width: 200px;
  border: 2px solid;
  margin-right: 33px;
}

.pricing-saas .content-container .saas-element p {
  margin-top: 0px !important;
}

.pricing-saas .content-container .saas-element > div:first-of-type {
  height: 52px;
  border-bottom: solid 2px #f5f7f7;
  font-size: 37px;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.08;
  letter-spacing: -0.74px;
  color: #378257;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.pricing-saas .content-container .saas-element > div:last-of-type {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  font-size: 22px;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  color: #ffffff;
  height: 220px;
}

.pricing-saas .content-container .saas-element a.link {
  height: 36.96px;
  border-top: solid 2px #f5f7f7;
  font-weight: 600;
  font-size: 17px;
  line-height: 24px;
  text-align: center;
  letter-spacing: 0.04em;
  -webkit-text-decoration-line: underline;
  -moz-text-decoration-line: underline;
  text-decoration-line: underline;
  text-transform: uppercase;
  color: #4CB5FF;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
}

.pricing-saas .content-container .saas-element p.price {
  font-size: 37px;
  letter-spacing: -0.74px;
}

.pricing-saas:after {
  background: #F5F7F7;
  bottom: -5.3vw;
  content: '';
  display: block;
  height: 10vw;
  position: absolute;
  transform: skewY(5deg);
  width: 110%;
}

/* faqs */

.pricing-faqs {
  background: #F5F7F7;
  display: -ms-flexbox;
  display: flex;
  height: 750px;
}

.pricing-faqs .content-container {
  margin-top: 0px;
}

.pricing-faqs .faq-content-left {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
  margin-right: 50px;
}

.pricing-faqs .faq-content-left a.button {
  margin-top: 20px;
}

.pricing-faqs .faq-content-right {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
  font-size: 1rem;
  line-height: 1.6em;
  margin-left: 200px;
}

.pricing-faqs .faqs .question {
  font-size: 1.28rem;
  font-weight: 600;
  line-height: 1.2em;
}

.pricing-faqs .faqs .answer {
  margin-bottom: 30px;
  margin-top: 10px;
}

section#pricing-bottom-cta {
  background: #4cb5ff;
  color: #fff;
  background-image: linear-gradient(119.11deg, #4C92FF 16.97%, #5AC878 68.91%);
  background-blend-mode: color-burn;
  padding-bottom: 0px;
}

section#pricing-bottom-cta p {
  font-size: 2.57rem;
  margin: 0;
}

section#pricing-bottom-cta .button {
  margin-top: 20px;
}

section#pricing-bottom-cta .content-container {
  margin: 60px auto;
  max-width: 800px;
}

@media screen and (max-width: 800px) {
  .pricing-hero {
    padding-top: 80px;
    height: 100%;
  }

  .pricing-hero .content-container {
    -ms-flex-direction: column;
    flex-direction: column;
    margin: auto;
  }

  .pricing-hero .content-container div {
    width: 100%;
  }

  .pricing-hero .content-container img {
    height: 100%;
    margin: 20px 0px;
  }

  .pricing-tools {
    height: 100%;
  }

  .pricing-tools .content-container {
    text-align: center;
  }

  .pricing-tools .content-container .tools {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
  }

  .pricing-tools .content-container .tools div {
    width: 100%;
    margin-bottom: 50px;
  }

  .pricing-saas {
    height: auto;
    padding-bottom: 50px;
  }

  .pricing-saas .content-container > div {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .pricing-saas .content-container .saas-element {
    margin-bottom: 20px;
    margin-right: 0px;
  }

  .pricing-faqs {
    height: auto;
  }

  .pricing-faqs .faqs div {
    width: 100%;
    margin-left: 0px;
  }

  .pricing-faqs .faq-content-right {
    margin-top: 40px;
  }

  section#pricing-bottom-cta p {
    font-size: 1.7rem;
  }

  section#pricing-bottom-cta .content-container {
    margin: 0px auto;
    padding: 20px;
  }
}

/* ///////////// */

/* OVERVIEW PAGE */

/* ///////////// */

header.nsolid {
  background-image: url("https://assets.nodesource.com/website/background.jpg"),
  radial-gradient(circle at 50% 25%, rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.5) 95%),
  linear-gradient(125deg, #001740 29%, #003d00 77%);
  background-blend-mode: luminosity;
  background-size: cover, cover;
  height: 2300px;
  overflow: initial !important;
}

.nsolid .nsolid-hero {
  display: -ms-flexbox;
  display: flex;
  margin: 80px auto;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.nsolid .nsolid-hero > div:first-of-type {
  width: 50%;
}

.nsolid .nsolid-hero h1 {
  font-size: 52px;
  font-weight: 600;
  text-align: center;
}

.nsolid .nsolid-hero img {
  width: 833px;
}

.nsolid .nsolid-hero .logo {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-align: center;
  align-items: center;
  font-size: 37px;
  line-height: 47px;
  letter-spacing: -0.02em;
}

.nsolid .nsolid-hero .logo svg {
  width: 60px;
  height: 66px;
  margin-right: 16px;
  fill: #5ac878;
}

.nsolid .nsolid-hero ul {
  list-style: none;
  margin: 50px 0px 25px;
}

.nsolid .nsolid-hero li {
  font-size: 24px;
  padding: 10px 0px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.52px;
  text-align: left;
  color: #f5f7f7;
}

.nsolid .nsolid-hero li > svg {
  width: 30px;
  height: 30px;
  margin-right: 20px;
  margin-bottom: -5px;
}

.nsolid .nsolid-hero li > svg .check-line {
  fill: #5ac878;
}

.nsolid-hero .content-container a {
  padding: 12px 20px;
  border-radius: 4px;
  border: solid 2px #f5f7f7;
}

.nsolid h2,
.nsolid-provides h2 {
  font-weight: 600;
  font-size: 52px;
  line-height: 98.5%;
  text-align: center;
  color: #FFFFFF;
  width: 1000px;
  margin-bottom: 50px;
}

/* Saas */

.nsolid .nsolid-saas {
  background-image: linear-gradient( 92deg , #36d049 8.94%, #2e7ee2 65.9%);
  background-blend-mode: color-burn;
  background-color: #5bc878;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  padding: 50px;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 0px;
}

.nsolid .nsolid-saas::before {
  border-right: 50vw solid #009067;
  border-left: 50vw solid #00bb00;
  content: '';
  position: relative;
  top: -50px;
  border-top: 50px solid transparent;
}

.nsolid-saas .content {
  display: block;
  margin: 0 auto 0 auto;
  position: relative;
  z-index: 2;
  text-align: center;
}

.nsolid-saas h3 {
  font-weight: 600;
  font-size: 52px;
  line-height: 88%;
  color: #fff;
  margin-bottom: 25px;
}

.nsolid-saas p {
  font-size: 26px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: -0.52px;
  text-align: center;
  margin-bottom: 30px;
}

.nsolid .nsolid-features,
.more-features .nsolid-features {
  display: -ms-flexbox;
  display: flex;
  margin-top: 50px;
  -ms-flex-direction: column;
  flex-direction: column;
}

.nsolid-features h3 {
  font-size: 37px;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.08;
  letter-spacing: -0.74px;
  text-align: center;
  color: #ffffff;
  text-transform: capitalize;
  margin-bottom: 70px;
  position: relative;
}

.nsolid-features h3:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 210px;
  height: 3px;
  right: 0;
  background: #5ac878;
  height: 3px;
  margin: auto;
}

.nsolid-features h4 {
  font-size: 26px;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.11;
  letter-spacing: -0.52px;
  text-align: left;
  text-transform: capitalize;
  color: #ffffff;
  margin-bottom: 30px;
}

.nsolid-features .feature-right {
  padding-right: 100px;
}

.nsolid-features .feature-left {
  padding-left: 100px;
}

.nsolid-features .feature-right li {
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.nsolid-features p,
.nsolid-features li {
  font-size: 22px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.08;
  letter-spacing: -0.44px;
  text-align: start;
  color: #ffffff;
  padding-bottom: 20px;
}

.nsolid-features li > img {
  width: 24px;
  height: 24px;
  -ms-flex-align: end;
  align-items: end;
  display: -ms-flexbox;
  display: flex;
  margin-right: 15px;
  box-shadow: none;
}

.nsolid-features ul {
  list-style: none;
  display: grid;
}

.nsolid-features > div {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 50px;
}

.nsolid-features img {
  width: 628px;
  height: 316px;
  box-shadow: 1px 0px 19px 6px rgb(0 0 0 / 25%);
}

header.nsolid:after {
  background-image: linear-gradient(to left, #0083df 100%, #0063c9 4%);
  bottom: -6.3vw;
  content: '';
  display: block;
  height: 10vw;
  position: absolute;
  transform: rotate(-4deg);
  width: 110%;
}

.more-features {
  background-image: linear-gradient(to left, #0083df 100%, #0063c9 4%);
  height: 1120px;
}

.more-features:after {
  box-shadow: inset 20px 11px 20px 0px rgb(61 113 175 / 20%);
  background-color: #f5f7f7;
  bottom: -5.3vw;
  content: '';
  display: block;
  height: 10vw;
  position: absolute;
  transform: skewY(5deg);
  width: 110%;
}

.more-features-white {
  box-shadow: inset 20px -16px 20px 0px rgb(61 113 175 / 20%);
  background-color: #f5f7f7;
  padding-bottom: 80px;
}

.more-features-white::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 8vw;
  left: 0px;
  bottom: -4.5vw;
  transform: skewY(176deg);
  background: #4cb5ff;
  background-image: linear-gradient( 119.11deg , #4C92FF 16.97%, #5AC878 78.91%);
  background-blend-mode: color-burn;
}

.more-features-img {
  background-image: url("https://assets.nodesource.com/website/background.jpg"),
  radial-gradient(circle at 50% 25%, rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.5) 95%),
  linear-gradient(125deg, #001740 29%, #003d00 77%);
  background-blend-mode: luminosity;
  background-size: cover, cover;
  height: 1120px;
}

.more-features-img:after {
  content: '';
  height: 10vw;
  background-image: linear-gradient(to right, #00b800 0%, #00a370 89%);
  bottom: -5.3vw;
  left: -10px;
  position: absolute;
  transform: rotate(4deg);
  width: 110%;
}

.more-features-white-rotate {
  box-shadow: inset 20px -16px 20px 0px rgb(61 113 175 / 20%);
  background-color: #f5f7f7;
  height: 1120px;
}

.more-features-white-rotate:after {
  background: none;
  bottom: -6.3vw;
  content: '';
  display: block;
  height: 10vw;
  position: absolute;
  transform: rotate(-4deg);
  width: 110%;
  background-image: url("https://assets.nodesource.com/website/background.jpg"),
  radial-gradient(circle at 50% 25%, rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.5) 95%),
  linear-gradient(125deg, #001740 40%, #003d00 100%);
  background-blend-mode: luminosity;
  background-size: cover, cover;
}

.more-features .content-container,
.more-features-white .content-container {
  margin-top: 0px;
  padding-bottom: 7%;
}

.more-features-white .nsolid-features h4,
.more-features-white .nsolid-features p,
.more-features-white .nsolid-features li {
  color: #4c5859 !important;
}

.try-nsolid {
  color: #f5f7f7;
  background-image: linear-gradient(to right, #00b800 0%, #00a370 100%);
  text-align: center;
  background-blend-mode: color-burn;
  padding-bottom: 0px !important;
}

.try-nsolid .content-container {
  margin: 80px auto;
  display: grid;
}

.try-nsolid .content-container h2 {
  margin-bottom: 1rem;
  font-size: 52px;
  position: relative;
}

.try-nsolid .content-container h2:after {
  content: '';
  position: absolute;
  left: 0px;
  height: 1px;
  width: 100%;
  bottom: -74.5px;
  border-bottom: 1px solid transparent;
  background: linear-gradient(to right, #ffffff, transparent, transparent, #ffffff);
}

.try-nsolid .content-container .button {
  margin: auto;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 4px;
  border: solid 2px #f5f7f7;
}

.try-nsolid .content-container img {
  margin: 20px auto;
}

.nsolid-implementations {
  background-color: #ffffff;
  height: 1220px;
}

.nsolid-implementations .flex-container {
  gap: 50px;
}

.nsolid-implementations .flex-container,
.nsolid-integrations .flex-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
}

.nsolid-implementations .flex-container .party-integration {
  width: 40%;
}

.nsolid-implementations .flex-container .feature-overview p {
  font-size: 22px;
}

.nsolid-implementations .flex-container .implementation {
  width: 50%;
  margin-right: 40px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.nsolid-implementations .flex-container > div.img-integrations {
  text-align: center;
}

.nsolid-implementations .flex-container .feature-overview {
  margin-bottom: 30px;
}

.nsolid-implementations .flex-container img {
  width: 695px;
  height: 477px;
  margin-top: 40px;
}

.nsolid-implementations .implementation-logo img {
  margin-bottom: 30px;
  margin-right: 30px;
  vertical-align: middle;
  width: 70px;
  fill: #5ac878;
  height: auto;
}

.nsolid-implementations .implementation-logo img.saas {
  width: 211px;
}

.nsolid-implementations .divider {
  height: 1px;
  background-color: #d1d2d2;
  margin-top: 40px;
}

.nsolid-implementations:after {
  background: #5ac878;
  background-blend-mode: multiply, color-burn;
  background-image: linear-gradient(to right, #225bb5 12.03%, #597b63 71.92%);
  bottom: -5.3vw;
  content: '';
  display: block;
  height: 10vw;
  position: absolute;
  transform: skewY(5deg);
  width: 110%;
}

.nsolid-provides {
  background: #5ac878;
  background-blend-mode: multiply, color-burn;
  background-image: linear-gradient(to right, #225bb5 12.03%, #597b63 71.92%);
}

.nsolid-provides .content-container {
  margin: 0px auto 50px auto;
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

.nsolid-integrations {
  padding-bottom: 80px;
  background-color: #f5f7f7;
}

.nsolid-integrations > div:first-of-type {
  display: grid;
}

.nsolid-integrations h2 {
  font-size: 37px;
  font-weight: 600;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.08;
  letter-spacing: -0.74px;
  text-align: center;
  text-transform: capitalize;
  margin-bottom: 70px;
  position: relative;
}

.nsolid-integrations h2:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 210px;
  height: 3px;
  right: 0;
  background: #5ac878;
  height: 3px;
  margin: auto;
}

.nsolid-integrations img {
  height: 40px;
  margin-bottom: 20px;
}

.nsolid-integrations .flex-container > div {
  margin-right: 40px;
}

.nsolid-integrations .flex-container > div:last-of-type {
  margin-right: 0px;
}

.nsolid-integrations a {
  margin: auto;
  margin-top: 40px;
}

/* Modal */

.zoom-in {
  background: transparent;
  padding: initial;
  padding-bottom: 4px;
  margin: auto;
  text-align: end;
  width: -webkit-fill-available;
  text-decoration: underline;
  text-transform: capitalize;
  height: 40px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: end;
  -ms-flex-align: center;
  align-items: center;
}

.zoom-in > svg {
  padding-right: 5px;
}

.zoom-in.gray > svg path {
  fill: #ffffff;
}

.green {
  color: #5ac878;
  border-color: #5ac878;
}

.white {
  color: #89a19d;
}

.white:hover {
  color: #89a19d;
}

.see-demo {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 4px;
  border: solid 2px #f5f7f7;
  -ms-flex-pack: center;
  justify-content: center;
}

.zoom-in:hover {
  background: transparent;
}

.modal {
  display: none;
  position: fixed;
  z-index: 10;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
}

.modal-content {
  max-width: 100%;
  max-height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -ms-flex-positive: 0;
  flex-grow: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  box-shadow: 0 10px 40px 0 rgb(0 0 0 / 80%);
  background-color: #2e3535;
}

.modal-content > img {
  width: 95%;
  margin-top: auto;
  margin-bottom: auto;
  border: 1px solid #89A19D;
}

.modal-content > video {
  width: 95%;
  margin-top: auto;
  margin-bottom: auto;
}

.modal-top {
  height: 40px;
  color: #ffffff;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  -ms-flex-positive: 0;
  flex-grow: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 20px;
  box-shadow: 0 6px 12px 0 rgba(46, 53, 53, 0.25);
  background-color: #4c5859;
}

.modal-top > span {
  font-size: 12px;
  color: #89a19d;
  letter-spacing: 2px;
}

.modal-footer {
  height: 80px;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  -ms-flex-positive: 0;
  flex-grow: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #202525;
}

.close-modal {
  background-color: #4c5859;
  float: right;
  font-size: 14px;
  letter-spacing: 1.75px;
  height: 40px;
}

.close-modal:hover,
.close-modal:focus,
.modal-top > span:hover {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}

/* ///////////// */

/*  BOTTOM CTA!  */

/* ///////////// */

.bottom-cta {
  background: #5AC878;
  color: #fff;
  text-align: center;
  background-blend-mode: color-burn;
  background-image: linear-gradient(45deg, #4c92ff, #5ac878);
}

.bottom-cta h2 {
  margin-bottom: 1rem;
}

@media screen and (max-width: 1024px) {
  header.nsolid {
    height: 2400px;
  }

  .more-features {
    height: auto;
  }

  .more-features-white-rotate {
    height: auto;
  }

  .nsolid-implementations .implementation-logo img {
    margin-bottom: 10px;
    margin-right: 10px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  section img {
    max-width: 300px;
  }

  .nsolid-provides h2 {
    width: 100%;
  }

  .nsolid-implementations {
    padding-bottom: 100px;
    height: 100%;
  }
}

@media screen and (max-width: 800px) {
  .nsolid {
    padding-top: 80px;
    height: 100% !important;
    padding-bottom: 20px;
  }

  .nsolid .nsolid-hero {
    width: 100%;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: auto;
  }

  .nsolid .nsolid-hero > div:first-of-type {
    width: 100%;
  }

  .nsolid .nsolid-hero > div:last-of-type {
    padding-bottom: 50px;
  }

  .nsolid .nsolid-hero ul {
    margin: 25px 0px 25px;
  }

  .nsolid .nsolid-hero li {
    font-size: large;
  }

  .nsolid .nsolid-hero h1 {
    font-size: xx-large;
    margin: 20px 0px;
  }

  .nsolid .nsolid-hero img {
    height: auto;
  }

  .nsolid h2,
  .nsolid-provides h2 {
    width: 100%;
    font-size: x-large;
  }

  .nsolid-saas {
    height: auto;
  }

  .nsolid-saas h3 {
    font-size: xx-large;
  }

  .nsolid-saas .content {
    margin-bottom: 20px;
  }

  .nsolid-saas a {
    width: auto;
  }

  .nsolid-features > div {
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    margin-top: 0px;
  }

  .nsolid-features > div:last-of-type {
    margin-top: 50px;
  }

  .nsolid-features .feature-right,
  .nsolid-features .feature-left {
    padding-right: 0px;
    padding-left: 0px;
  }

  .nsolid-features img {
    height: 100%;
    width: 100%;
  }

  .more-features,
  .more-features-white-rotate {
    height: auto;
    padding-bottom: 100px;
  }

  .nsolid-implementations {
    height: auto;
    padding-bottom: 50px;
  }

  .nsolid-implementations > div {
    padding-bottom: 50px;
  }

  .nsolid-implementations .flex-container > div {
    width: 100%;
  }

  .nsolid-implementations .flex-container img {
    width: 100%;
    height: 100%;
  }

  .nsolid-implementations .implementation-logo img {
    width: 40px;
    margin-right: 0px;
  }

  .nsolid-implementations .implementation-logo {
    width: 100%;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
    display: -ms-flexbox;
    display: flex;
  }

  .nsolid-implementations .flex-container .implementation {
    width: 100%;
    margin-right: 0px;
  }

  .nsolid-implementations .flex-container,
  .nsolid-integrations .flex-container {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
  }

  .nsolid-integrations .flex-container > div {
    margin-top: 40px;
    text-align: center;
    margin-right: 0px;
  }

  .page-products-nsolid #header-nsolid {
    padding-top: 60px;
    padding-bottom: 80px;
  }

  .page-products-nsolid #header-nsolid .leader {
    font-size: 1.28rem;
    font-weight: 400;
  }

  .page-products-nsolid #header-nsolid .header-text {
    margin-bottom: 0;
  }

  .page-products-nsolid #header-nsolid .button {
    margin-top: 20px 0px;
  }

  #header-nsolid h1 {
    font-size: 3.85rem;
    width: 100%;
  }

  .nsolid-feature .flex-container {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
  }

  .nsolid-feature .flex-container > *:not(.button) {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    padding: 0;
  }

  .nsolid-feature .flex-container .flex-half {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    width: 100%;
  }

  .more-features-img {
    height: auto;
    padding-bottom: 20px;
  }

  #low-overhead {
    width: 100%;
    padding-bottom: 20px;
  }

  #implementation-serverless > h3 {
    margin: 0 0 20px 0;
  }

  #implementation-serverless > div {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin: 0 0 20px 0;
  }

  #implementation-serverless > div img {
    margin-bottom: 20px;
  }

  #implementation-serverless > div .button {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
  }

  #new-in-nsolid {
    padding: 0;
  }

  #new-in-nsolid ul.content-grid {
    margin: 0;
  }

  #painless-implementation {
    padding-bottom: 40px;
  }

  #painless-implementation .datasheetCTA {
    padding: 10px 20px;
    margin: 40px auto 0 auto;
  }

  #unparalleled-visibility {
    padding: 40px 20px;
  }

  #unparalleled-visibility img {
    padding: 0;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
  }

  #unparalleled-visibility .flex-container {
    width: 100%;
  }

  #unparalleled-visibility .content-container {
    padding: 0;
  }

  #special-alerting {
    padding: 40px 20px;
  }

  #special-alerting .content-container {
    padding: 0;
  }

  #special-alerting img {
    margin-top: 40px;
  }

  #enhanced-security {
    padding: 40px 20px;
  }

  #enhanced-security #security-text {
    padding-right: 20px;
  }

  #enhanced-security img {
    box-shadow: 0px 6px 12px rgba(0,0,0,.15);
    margin-bottom: 40px;
  }

  #flexible-integrations {
    padding: 40px 20px;
  }

  #flexible-integrations .content-container {
    padding: 0;
  }

  #flexible-integrations img {
    margin-top: 40px;
    padding-left: 20%;
  }

  #nsolid-bottom-cta {
    padding: 0px;
  }

  #nsolid-bottom-cta .content-container {
    padding: 40px;
  }
}

/* ///////////// */

/*  License key  */

/* ///////////// */

#header-nsolid-license-key {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

#header-nsolid-license-key svg {
  height: 75px;
}

#nsolid-license-key-form {
  margin-top: 1rem;
}

#nsolid-license-key-form .button {
  width: 100%;
  font-size: 1rem;
  margin-top: 20px;
}

#nsolid-license-key-form .license-form-error {
  color: #FF5445;
  margin: 2rem auto;
  display: none;
}

#nsolid-license-key-thanks {
  display: none;
}

#nsolid-license-key-thanks div.copy-container {
  margin-top: 2rem;
}

#nsolid-license-key-thanks h1,
#nsolid-license-key-thanks p.leader {
  text-align: center;
}

#nsolid-license-key-thanks div.copy-container {
  margin-top: 8rem;
}

#nsolid-license-key-thanks div.related-links {
  width: 80%;
  margin: 8rem auto;
}

span.big.primary.black.button.quickstart-button {
  text-transform: lowercase;
}

@media screen and (max-width: 800px) {
  #nsolid-license-key-form-container {
    padding-bottom: 40px;
  }

  .try-nsolid .content-container {
    padding-top: 0px;
  }

  .try-nsolid .content-container h2 {
    font-size: 45px;
  }

  .try-nsolid .content-container h2:after {
    bottom: -68px;
  }

  .try-nsolid .content-container img {
    width: 250px;
  }

  .modal-content {
    max-width: 100%;
    max-height: 42%;
  }

  .modal-content > img {
    width: 100%;
  }

  .modal-content > video {
    width: 100%;
  }
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .nsolid-implementations {
    height: auto;
    padding-bottom: 130px;
  }

  .more-features-img {
    height: auto;
    padding-bottom: 50px;
  }

  .modal-content {
    max-width: 100%;
    max-height: 56%;
  }

  .modal-content > img {
    width: 98%;
  }

  .modal-content > video {
    width: 98%;
  }
}

@media screen and (min-width: 1001px) and (max-width: 1280px) {
  .modal-content {
    max-width: 98%;
    max-height: 70%;
  }

  .modal-content > img {
    width: 97%;
  }

  .modal-content > video {
    width: 97%;
  }
}

@media screen and (min-width: 1281px) and (max-width: 1600px) {
  .modal-content {
    max-width: 90%;
    max-height: 80%;
  }

  .modal-content > img {
    max-width: 80%;
  }

  .modal-content > video {
    max-width: 75%;
  }
}

@media screen and (min-width: 1601px) {
  .modal-content {
    max-width: 90%;
    max-height: 90%;
  }
}

/* Runtime Hero */

.runtime-hero {
  background-color: #ffffff;
  background-image: url("https://assets.nodesource.com/website/background+white.png");
  height: 500px;
  background-repeat: no-repeat;
  background-size: cover;
}

.runtime-hero > div:first-of-type {
  height: 100%;
  background: linear-gradient(transparent, transparent, #fff);
}

.runtime-hero .content-container h1 {
  letter-spacing: normal;
  text-align: left;
  color: #202525;
  margin-top: 37px;
  margin-bottom: 60px;
}

.runtime-hero .content-container h2 {
  letter-spacing: normal;
  color: #202525;
}

.runtime-hero .content-container h3 {
  margin-top: 30px;
  font-weight: normal;
  line-height: 1.5;
  color: #202525;
}

.runtime-hero .button-container {
  margin: 60px 0px;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 150px;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
}

.runtime-hero .content-container a.learn-more {
  color: #4c5859;
  font-size: 24px;
  display: inline-block;
  border-bottom: 1px solid #4c5859;
  height: 22px;
}

.runtime-hero .button-container .github-container {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
}

.runtime-hero .button-container svg {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid;
}

.runtime-hero .button-container svg path {
  fill: #4c5859;
}

.runtime-hero .content-container a.git-repo {
  font-size: 20px;
  color: #4c5859;
  display: inline-block;
  border-bottom: 1px solid #4c5859;
}

/* Testimonial */

.runtime-testimony {
  background-color: #5c6768;
  background-image: linear-gradient(to right, #01183f 0%, #013d02 100%);
  color: #fff;
  text-align: center;
}

.runtime-testimony .carousel-wrap {
  box-sizing: border-box;
  margin: 0 auto;
  padding: 50px;
  position: relative;
  width: 100%;
}

.quotes {
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  margin: 0 80px;
  color: #fff;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-align: center;
  align-items: center;
}

.customer-quote {
  -ms-flex-align: center;
  align-items: center;
  display: inline;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
  font-size: 21px;
  font-weight: 300;
  line-height: 1.4em;
  margin: 0 auto;
  max-width: 100%;
  opacity: 0;
  -ms-flex-order: auto;
  order: auto;
  padding: 0;
  position: relative;
  word-wrap: nowrap;
  transition: all 250ms;
}

.customer-quote .author {
  display: grid;
  margin-top: 20px;
  font-size: 16px;
}

.customer-quote .author > strong:first-of-type {
  font-size: 24px;
}

.quote-1 div.quote-1,
.quote-2 div.quote-2,
.quote-3 div.quote-3 {
  opacity: 1;
  -ms-flex-order: -1;
  order: -1;
}

blockquote {
  font-style: italic;
}

blockquote > span {
  font-style: normal;
}

blockquote:before,
blockquote:after {
  color: #fff;
  display: inline;
  font-size: 1.25em;
  font-weight: 200;
  line-height: 1em;
}

blockquote:before {
  content: '\201C';
}

blockquote:after {
  content: '\201D';
}

.runtime-testimony blockquote {
  -ms-flex-item-align: center;
  align-self: center;
}

.runtime-testimony div#nasa-quote {
  font-size: 1.7rem;
  font-weight: 300;
}

.quote-selector {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 80px;
}

.quote-selector a {
  border-radius: 4px;
  display: block;
  height: 80px;
  margin: 40px 20px 16px 20px;
  padding: 16px 20px;
  width: 160px;
  transition: all 250ms;
}

.quote-selector a:hover {
  background: #fff;
}

.quote-1 .quote-selector .quote-1,
.quote-2 .quote-selector .quote-2,
.quote-3 .quote-selector .quote-3 {
  background: #fff;
  box-shadow: 0px 6px 12px #E1E7E6;
}

.quote-selector img {
  max-width: 100%;
  max-height: 100%;
}

.carousel-wrap .arrows .arrow {
  background: #fff;
  border: 1px #5ac878 solid;
  border-radius: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  height: 50px;
  position: absolute;
  top: 50%;
  text-align: center;
  transform: translate(0, -50%);
  width: 50px;
}

.carousel-wrap .arrows .arrow svg {
  fill: #5ac878;
  height: auto;
  width: 12px;
}

.carousel-wrap .arrows .arrow:hover {
  background: rgba(0,0,0,.25);
}

.carousel-wrap .arrows .arrow:active {
  background: rgba(0,0,0,.5);
}

.carousel-wrap .arrow#next {
  right: 40px;
}

.carousel-wrap .arrow#prev {
  left: 40px;
  transform: translate(0, -50%) rotateY(180deg);
}

/* key feature */

.key-feature {
  padding: 40px;
  color: #3d4647;
  background-color: #ffffff;
}

.key-feature h4 {
  font-weight: 600;
  text-transform: uppercase;
  padding: 30px 0px;
  position: relative;
}

.key-feature h4:after {
  content: '';
  position: absolute;
  left: 10%;
  top: 50%;
  /* width: 210px; */
  height: 1px;
  right: 0;
  background: #e1e7e6;
  margin: auto;
}

.key-feature ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
}

.key-feature ul svg {
  width: 30px;
  height: 30px;
  margin-right: 10px;
}

.key-feature ul li {
  display: -ms-flexbox;
  display: flex;
  width: 30%;
  padding: 10px 0px;
}

.key-feature div > svg .check-line {
  fill: #5ac878;
}

.key-feature .container-feature p {
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  color: #4c5859;
}

.container-feature span {
  font-size: 14px;
  text-align: left;
  color: #4c5859;
}

/* nsolid banner */

.nsolid-banner {
  padding: 78px 0px;
  color: #ffffff;
  text-align: center;
  background-blend-mode: color-burn;
  background-image: linear-gradient(to left, #0083df 100%, #0063c9 4%);
}

.nsolid-banner .content-container {
  margin: auto;
}

.nsolid-banner .content-container > h2 {
  padding-bottom: 40px;
}

.nsolid-banner .button-container {
  margin-top: 20px;
}

.nsolid-banner .content-container a.learn-more {
  text-transform: uppercase;
  margin-top: 20px;
  font-size: 22px;
  font-weight: 600;
  color: #f5f7f7;
  border-radius: 4px;
  border: solid 2px #f5f7f7;
  background: transparent;
  padding: 13px 45px;
  font-size: 15px;
}

@media screen and (max-width: 800px) {
  .runtime-hero {
    height: auto;
  }

  .runtime-hero .content-container h1 {
    margin-top: 0px;
    margin-bottom: 30px;
  }

  header div.content-container {
    margin-bottom: 0px;
  }

  .runtime-hero .button-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px;
    margin: 30px 0px;
  }

  /* testimony */

  .runtime-testimony .carousel-wrap,
  .quotes,
  .quote-selector {
    padding: 0;
    margin: 0 auto;
  }

  .quotes {
    margin: 0 10px;
  }

  .runtime-testimony .carousel-wrap .arrows {
    display: none;
  }

  .key-feature h4:after {
    left: 45%;
  }

  .key-feature ul li {
    width: 100%;
  }
}

@media (max-width: 1280px) {
  header div.content-container {
    margin-bottom: 0px;
    padding-bottom: 20px;
  }

  .runtime-hero {
    height: auto;
  }

  .key-feature h4:after {
    left: 12%;
  }
}

@media screen and (min-width: 1601px) {
  .key-feature h4 {
    padding-left: 70px;
  }
}

section.resource-lists.two-column:before {
  background: #fff;
}

section.resource-lists.two-column:after {
  background: #fff;
}

section.resource-lists .master-detail .list-view {
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}

section.resource-lists .two-column-left,
section.resource-lists .two-column-right {
  padding-top: 0;
}

section.resource-lists .two-column-left .content-toggle {
  margin-top: 0;
}

/*Resource Lists*/

.resource-list {
  min-height: 600px;
}

.resource-list .content-container {
  margin-top: 0;
}

.resource-list ul.content-list {
  margin-top: 0;
}

.resource-list ul.content-list h4 {
  color: #89A19D;
  font-size: 0.85rem;
}

/*Resource List Left*/

.resource-list ul.content-list .resource-content-left {
  color: #fff;
  height: 215px;
  margin-right: 25px;
  width: 215px;
}

.resource-list ul.content-list .image-container {
  background-position: center;
  background-size: cover;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  margin: 0 25px;
}

.resource-list ul.content-list .image-container > * {
  margin: 0 10px;
}

.resource-list ul.content-list .resource-content-left p {
  font-weight: 600;
}

.resource-list ul.content-list .image-container h4 {
  font-size: 8px;
  margin-top: 40px;
}

.resource-list ul.content-list li .branding {
  -ms-flex-align: center;
  align-items: center;
  background: #000;
  display: -ms-flexbox;
  display: flex;
  height: 20px;
  margin: auto 0 25px;
  width: 90px;
}

.resource-list ul.content-list li .branding svg {
  fill: #fff;
  height: 6px;
  margin: 0 0 0 10px;
}

/*Resource List Right*/

.resource-list ul.content-list .resource-content-right {
  -ms-flex: 1;
  flex: 1;
  line-height: 0;
}

.resource-list ul.content-list .resource-content-right > * {
  margin: 0 0 5px;
}

.resource-list ul.content-list .title {
  font-size: 24px;
}

/*Datasheets*/

.resource-list ul.content-list .nsolid-icon,
.resource-list ul.content-list .ncm-icon,
.resource-list ul.content-list .support-icon,
.resource-list ul.content-list .training-icon,
.resource-list ul.content-list .nodesource-icon {
  display: none;
}

.resource-list ul.content-list .nsolid .nsolid-icon,
.resource-list ul.content-list .ncm .ncm-icon,
.resource-list ul.content-list .support .support-icon,
.resource-list ul.content-list .training .training-icon,
.resource-list ul.content-list .nodesource .nodesource-icon {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
}

.resource-list ul.content-list .product-logo {
  margin-top: 20px;
}

.resource-list ul.content-list .product-logo p {
  font-size: 10px;
}

.resource-list ul.content-list .product-logo svg {
  height: 23px;
  margin-right: 5px;
  width: 23px;
}

/*Whitepapers and Tech Guides*/

/*Webinars & Visualizations*/

.resource-list ul.content-list .blue-purple.image-container {
  background-image: linear-gradient(-134deg, #137CBE 0%, #5F3CAC 100%) !important;
}

.resource-list ul.content-list .grey-teal.image-container {
  background-image: linear-gradient(-134deg, #088C96 0%, #2E3535 100%) !important;
}

.resource-list ul.content-list .teal-green.image-container {
  background-image: linear-gradient(45deg, #088C96 0%, #236E37 100%) !important;
}

.resource-list ul.content-list .blue-grey.image-container {
  background-image: linear-gradient(-135deg, #2E3535 0%, #137CBE 100%) !important;
}

.resource-list ul.content-list .webinar .image-container,
.resource-list ul.content-list .visualization .image-container {
  width: 100%;
  height: 165px;
  margin: 25px 0;
}

.resource-list ul.content-list .visualization .image-container > * {
  display: none;
}

.resource-list ul.content-list .webinar .image-container h4 {
  margin-top: 15px;
}

.resource-list ul.content-list .icon-play {
  display: none;
}

.resource-list ul.content-list .webinar .icon-play {
  display: block;
  margin: auto 0 15px 10px;
}

.resource-list ul.content-list .webinar .icon-play svg {
  height: 40px;
  width: 40px;
}

.resource-list ul.content-list .webinar .branding {
  display: none;
}

/* Small Screens */

@media screen and (max-width: 800px) {
  .resource-list ul.content-list li {
    position: relative;
    width: 100%;
  }

  .resource-list ul.content-list .resource-content-left {
    display: none;
  }
}

/* Medium Screens */

@media screen and (min-width: 801px) and (max-width: 1000px) {
  section.resource-lists .two-column-layout {
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  section.resource-lists .body-width {
    width: 100%;
  }

  section.resource-lists .master-detail .list-view {
    padding-left: 40px;
  }

  .resource-list ul.content-list .resource-content-left {
    display: none;
  }
}

/* Services Page */

header#header-services {
  border-bottom: 1px solid #E1E7E6;
  padding-bottom: 80px;
}

header#header-services .content-container p.leader {
  margin-bottom: 40px;
}

section.panel.services {
  padding-top: 80px;
}

.services-training-content,
.services-support-content,
.services-consulting-content {
  border-bottom: 1px solid #E1E7E6;
  padding-bottom: 80px;
  padding-top: 80px;
}

.services-support-content {
  border-bottom: 0;
}

.services-training-content {
  padding-top: 0;
}

.header-row {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
}

.page-services .icon {
  margin-right: 20px;
}

.page-services .icon svg {
  height: 50px;
}

.page-services ul.content-grid > li {
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.page-services section .button {
  background: none;
  display: block;
}

.page-services section .button:hover {
  background: 0 0;
  filter: brightness(75%);
}

.page-services section .services-training-content .button {
  border: 1px solid #B373FF;
  color: #B373FF;
}

.page-services section .services-consulting-content .button {
  border: 1px solid #66ccbb;
  color: #66ccbb;
}

.page-services section .services-support-content .button {
  border: 1px solid #4cb5ff;
  color: #4cb5ff;
}

.page-services section.bottom-cta {
  color: #fff;
  background: #4cb5ff;
  text-align: center;
}

.page-services section.bottom-cta .button {
  margin-top: 20px;
}

@media screen and (max-width: 800px) {
  .page-services .content-grid {
    padding: 0px 20px;
  }
}

#arch-eval-contact-form .button {
  width: 100%;
}

.page-services-training .content-list li {
  max-width: 800px;
}

.page-services-training .content-grid li {
  -ms-flex-pack: start;
  justify-content: flex-start;
}

#training-quote {
  background-image: url("assets/facets_base.c5f8e4.svg"),
                    linear-gradient(30deg, #89A19D 0%, #E1E7E6 100%);
  background-color: #F5F7F7;
  background-blend-mode: soft-light, overlay;
  background-repeat: no-repeat, no-repeat;
  background-size: cover, auto;
  padding: 80px 0;
  position: relative;
}

#training-quote:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url("assets/noise.a79820.png");
  top: 0;
  left: 0;
  mix-blend-mode: soft-light;
}

#training-quote .content-container {
  max-width: 800px;
  margin: 0 auto;
}

#training-quote blockquote {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.4em;
  padding: 0;
  position: relative;
}

#training-quote figcaption {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  font-weight: 600;
  height: 100px;
  margin: 0 auto;
  margin-top: 40px;
  text-align: left;
  width: 100%;
}

#training-quote cite {
  display: block;
  color: #89A19D;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2em;
}

#training-quote #quote-logo {
  margin-right: 20px;
  width: 75px;
}

#training-works ul.content-grid {
  margin-bottom: 0;
}

#training-courses {
  padding-bottom: 80px;
}

section.panel.training-bottom-cta {
  background: #4cb5ff;
  color: #fff;
  text-align: center;
}

.training-bottom-cta h2 {
  margin-bottom: 1rem;
}

.page-services-support .cta-area a.button.black {
  background: #4cb5ff;
  border: none;
  color: #fff;
}

.page-services-support .cta-area a.button.black:hover {
  background: rgb(68, 163, 230);
  border: none;
  color: #fff;
}

/*Top panel*/

#header-support {
  background-color: rgba(0,30,70,1);
  background-image: linear-gradient(180deg, rgba(0,30,70,0) 0%, rgba(0,30,70,1) 50%),
                    url("/assets/support/bg-support-top.09ec6d.png");
  background-position: top center, top right;
  background-repeat: no-repeat, no-repeat;
  background-size: auto auto, auto 50%;
  min-height: 20rem;
  padding-top: 120px;
  padding-bottom: 120px;
  text-align: left;
}

#header-support.page-wedge:after {
  background-color: #fff;
}

#header-support .content-container#intro {
  -ms-flex-align: start;
  align-items: flex-start;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 40px auto 40px auto;
}

#header-support .content-container h1 {
  font-weight: 600;
  letter-spacing: -.01em;
  margin-bottom: 0;
  max-width: 700px;
}

#header-support p.leader {
  font-size: 2.57rem;
  margin-top: 0;
}

#header-support p.blurb {
  font-size: 1.28rem;
}

#header-support svg {
  height: 64px;
  margin-bottom: 40px;
}

#header-support img {
  display: none;
}

#header-support a.button {
  margin-top: 40px;
}

#why {
  color: #fff;
  margin-top: 80px;
  padding-bottom: 80px;
}

#why .content-grid,
#stages .content-grid {
  margin-bottom: 0;
}

#why h3,
#why h4 {
  color: #fff;
}

#comparison {
  padding-bottom: 80px;
}

table .tier-icon {
  width: 33.33%;
  height: auto;
}

table .icon-check:before,
#comparison-mobile li.check:before {
  color: #4cb5ff;
}

#comparison-mobile li.check:before {
  border: 1px solid #4cb5ff;
}

#comparison-mobile {
  display: none;
}

#stages .leader {
  font-size: 2.57rem;
}

.price {
  margin-bottom: 10px;
  margin-top: 1em;
  font-size: 1.2rem;
}

.developer-plan {
  width: 376px;
}

.page-services-support .bottom-cta {
  background: #4cb5ff;
  color: #fff;
  text-align: center;
}

.page-services-support .bottom-cta h2 {
  margin-bottom: 1rem;
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  #header-support {
    background-size: auto auto, auto 33%;
    background-image: linear-gradient(180deg, rgba(0,30,70,0) 0%, rgba(0,30,70,1) 33%),
                      url("/assets/support/bg-support-top.09ec6d.png");
  }
}

@media screen and (max-width: 800px) {
  #header-support {
    background-image: linear-gradient(180deg, rgba(0,30,70,.5) 0%, rgba(0,30,70,1) 100vh),
                      url("/assets/support/bg-support-top.09ec6d.png");
    background-size: auto auto, auto 100vh;
    padding-top: 80px;
    padding-bottom: 0;
  }

  #header-support p.leader {
    font-size: 1.28rem;
  }

  #header-support p.blurb {
    font-size: 1rem;
  }

  #header-support .content-container#intro,
  #header-support .content-container#why {
    padding: 0 20px;
    margin: 0 0 80px 0;
  }

  #why {
    padding-bottom: 0;
    margin-top: 20px;
  }

  #comparison-mobile {
    display: block;
    padding-bottom: 40px;
  }

  #comparison {
    display: none;
  }

  #stages .leader {
    font-size: 1.7rem;
  }
}

header#header-consulting {
  border-bottom: 1px solid #E1E7E6;
  color: #4C5859;
  padding-bottom: 80px;
}

header#header-consulting .content-container p.leader {
  margin-bottom: 40px;
}

section.panel.consulting {
  padding-top: 80px;
}

.consulting-content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

section.panel div.consulting-content {
  border-bottom: 1px solid #E1E7E6;
  padding-bottom: 80px;
}

section.panel div.consulting-content:last-child {
  border-bottom: none;
}

.consulting-content-left {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
  padding-right: 40px;
  box-sizing: border-box;
}

.consulting-content-right {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
  padding-left: 100px;
  box-sizing: border-box;
}

.consulting-content-right h4 {
  margin-bottom: 20px;
}

.consulting-content-right ul {
  list-style: none;
}

.consulting-content-right ul li {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  margin-bottom: 20px;
}

.consulting-content-right svg {
  fill: #66ccbb;
  height: 40px;
  padding-right: 15px;
  width: 40px;
}

section.panel.consulting-bottom-cta {
  background: #4cb5ff;
  color: #fff;
  text-align: center;
}

.consulting-bottom-cta p {
  font-size: 1.28rem;
  margin-bottom: 20px;
}

@media screen and (max-width: 1000px) {
  header.consulting-header {
    background-position: right 100px;
  }

  header.consulting-header .content-container {
    padding-left: 20px;
  }

  .consulting-content-left {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    padding-right: 0px;
    width: 100%;
  }

  .consulting-content-right {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-top: 40px;
    padding-left: 0px;
    width: 100%;
  }
}

/* HEADER */

.solutions-header {
  text-align: center;
}

.solutions-header .content-container {
  margin: 80px auto 180px;
}

header.solutions-header h1 {
  font-weight: 600;
  text-align: center;
}

header.solutions-header h2 {
  margin-bottom: 45px;
}

header.solutions-header p {
  margin: 0 auto;
}

.solutions-header.page-wedge:after {
  background: #fff;
}

.solutions-header .button {
  margin-top: 40px;
}

/* PAGE BACKGROUNDS */

.solutions-header.api {
  background: url("/assets/solutions/micro-header.9b4b0b.png");
  background-size: cover;
}

.solutions-header.iot {
  background: url("/assets/solutions/iot-header.99a8e8.png");
  background-size: cover;
}

.solutions-header.performance {
  background: url("/assets/solutions/hightraffic-header.3a7dc9.png");
  background-size: cover;
}

.solutions-header.legacy {
  background: url("/assets/solutions/legacy-header.8be7a3.png");
  background-size: cover;
}

/* CONTENT */

.page-solutions section .content-container {
  max-width: 800px;
}

.page-solutions section.solutions-content {
  padding-bottom: 80px;
}

/* TABLE */

.page-solutions table th {
  text-align: left;
}

.page-solutions table td {
  padding: 1.5rem 1rem;
  text-align: left;
}

/* Bottom CTA */

.page-solutions .bottom-cta {
  color: #fff;
  text-align: center;
}

.page-solutions #iot-cta {
  background-color: #ADC480;
}

.page-solutions #micro-cta {
  background-color: #5ac878;
}

.page-solutions #hightraffic-cta {
  background-color: #FA9FC5;
}

.page-solutions #legacy-cta {
  background-color: #4cb5ff;
}

.page-solutions .bottom-cta h2 {
  margin-bottom: 20px;
}

@import url('https://fonts.googleapis.com/css?family=Oswald');

[class^="page-node-by-numbers-"] {
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

nav.nbn-nav {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: absolute;
  transform: translate(0,-100%);
  transition: transform 250ms;
}

nav.nbn-nav.fixed {
  background: #0f1212;
  position: fixed;
  transform: translate(0,0);
  transition: transform 250ms;
  width: 100%;
  z-index: 9;
}

nav.nbn-nav .nbn-logo {
  height: 25px;
  padding: 20px 40px;
}

nav.nbn-nav a {
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 20px 40px;
}

nav.nbn-nav a img {
  height: 25px;
  margin-left: 10px;
}

[class^="page-node-by-numbers-"] section {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 80px;
}

section.nbn-intro {
  height: 100vh;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 680px;
}

.page-node-by-numbers-16 section.nbn-intro {
  background-image: url("/assets/node-by-numbers/2016/nbn-background-2016.c053dc.png");
}

.page-node-by-numbers-17 section.nbn-intro {
  background-image: url("/assets/node-by-numbers/2017/nbn-background-2017.99d07d.png");
  background-size: 100px;
}

.page-node-by-numbers-18 section.nbn-intro {
  background: #202525 url("/assets/node-by-numbers/2018/nbn-background-2018.10c963.png");
  background-size: auto;
}

section.nbn-intro .logo {
  margin: 0 auto;
  width: 180px;
}

section.nbn-intro .small {
  font-size: 0.85rem;
  text-align: center;
  text-transform: uppercase;
}

section.nbn-intro img.nbn-logo {
  margin: 20px auto 0;
  width: 50%;
  max-width: 300px;
}

.page-node-by-numbers-17 section.nbn-intro img.nbn-logo {
  margin: 40px auto;
  width: 50%;
  max-width: 500px;
}

section.nbn-intro span {
  text-align: center;
}

section.nbn-intro a.button {
  background: #66ccbb;
  color: #fff;
  display: block;
  font-size: 1.28rem;
  margin: 30px auto 30px auto;
  max-width: 400px;
}

section.nbn-intro p {
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
}

section.nbn-intro a.report {
  color: #89A19D;
}

section.nbn-intro .other-reports {
  margin: 0 auto;
}

section.nbn-intro .other-reports a {
  color: #89A19D;
  font-size: 1rem;
  text-decoration: underline;
  margin-right: 20px;
}

section.nbn-intro .other-reports a:last-child {
  margin-right: 0;
}

section.nbn-intro .scroll {
  position: absolute;
  left: 50%;
  bottom: 0;
  height: 0;
  width: 0;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-bottom: 40px solid #353d3e;
  transform: translateX(-50%);
}

section.nbn-intro .scroll:before {
  content: '';
  position: absolute;
  top: 20px;
  left: 50%;
  height: 10px;
  width: 15px;
  margin-left: -7.5px;
  background: #fff;
  -webkit-clip-path: polygon(15% 0, 50% 60%, 85% 0, 100% 20%, 50% 100%, 0 20%);
  clip-path: polygon(15% 0, 50% 60%, 85% 0, 100% 20%, 50% 100%, 0 20%);
  animation: bounce 2s ease infinite;
}

@keyframes bounce {
  50% {
    transform: scale(0.75) translateY(-50%);
  }

  100% {
    transform: translateY(0);
  }
}

.nbn-intro .report-year {
  color: #89A19D;
  text-transform: uppercase;
  letter-spacing: .125em;
}

.nbn-header h1 {
  color: #fff;
  font-size: 3.85rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  max-width: 1000px;
  margin: 0 auto 50px auto;
}

.nbn-header h2 {
  color: #fff;
  font-size: 2.57rem;
  font-weight: 200;
  letter-spacing: 0;
  text-transform: none;
  max-width: 1000px;
  margin: 0px auto;
}

.nbn-header p {
  font-size: 1.28rem;
  max-width: 1000px;
  margin: 20px auto 0 auto;
}

.nbn-section h4 {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 20px;
}

.nbn-section .title {
  -ms-flex-line-pack: center;
  align-content: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.nbn-section .title a {
  color: #89A19D;
  font-size: 0.85rem;
}

.nbn-section#growth {
  background: #202525;
}

.nbn-section#community {
  background: #202525;
}

[class^="page-node-by-numbers-"] .hidden {
  display: none !important;
}

.nbn-section .row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  width: 100%;
}

.nbn-section > .row {
  margin: 60px auto 0 auto;
}

.nbn-section > .row > .column {
  -ms-flex: 1;
  flex: 1;
  margin: 0 20px;
}

.nbn-section > .row > .column:only-child {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

[class^="page-node-by-numbers-"] canvas {
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  border: none;
}

[class^="page-node-by-numbers-"] .teal {
  color: #66ccbb;
}

[class^="page-node-by-numbers-"] .grass {
  color: #ADC480;
}

[class^="page-node-by-numbers-"] .blue {
  color: #75BBEA;
}

[class^="page-node-by-numbers-"] .lavender {
  color: #A28FCC;
}

[class^="page-node-by-numbers-"] .rose {
  color: #FA9FC5;
}

[class^="page-node-by-numbers-"] #drift-widget-container {
  display: none !important;
}

.nbn-section .number,
.nbn-section .text,
.nbn-section .date,
.nbn-section .day {
  font-family: 'Oswald', sans-serif;
  font-weight: 300;
  line-height: 1em;
  color: #fff;
}

.nbn-section .number {
  font-size: 2.8rem;
}

.nbn-section .totalWithDelta {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
}

.nbn-section .delta {
  border: 1px solid #66ccbb;
  border-radius: 2px;
  color: #66ccbb;
  display: inline-block;
  font-size: 0.85rem;
  line-height: 1em;
  margin-left: 10px;
  padding: 4px 4px;
}

.nbn-section .delta.negative {
  border-color: #FA9FC5;
  color: #FA9FC5;
}

.nbn-section .text .average {
  display: inline;
}

.nbn-section .text {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 1.7rem;
  font-weight: 400;
  color: #89A19D;
  margin-top: 10px;
}

.nbn-section .day {
  font-size: 5.7rem;
  text-transform: uppercase;
}

.nbn-section .date {
  font-size: 1rem;
  color: #66ccbb;
}

#total-os-downloads-col {
  -ms-flex-preferred-size: 32%;
  flex-basis: 32%;
}

[class^="page-node-by-numbers-"] #total-os-downloads-col {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
}

[class^="page-node-by-numbers-"] #monthly-downloads-col {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
}

#day-downloads-col,
#monthly-downloads-col {
  -ms-flex-preferred-size: 68%;
  flex-basis: 68%;
}

#day-downloads-col canvas {
  min-height: 300px;
}

.nbn-section .highest-download div.number {
  font-size: 2em;
  color: #89A19D;
}

.nbn-section.economy,
.nbn-section .releases {
  font-size: 2.57rem;
  font-weight: 600;
}

.nbn-section .releases {
  font-size: 3.85rem;
}

.nbn-section .economy .row {
  -ms-flex-align: center;
  align-items: center;
}

.nbn-section .releases .row {
  -ms-flex-align: center;
  align-items: center;
}

.nbn-section .column.economy,
.nbn-section .column.releases {
  margin-bottom: 0;
  font-size: 1.7rem;
}

.nbn-section .arrow {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-right: 15px;
}

.nbn-section .releases .arrow {
  margin-right: 20px;
}

.nbn-section .arrow-right {
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid #89A19D;
}

.nbn-section .arrow-line {
  background: #89A19D;
  height: 1px;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 50px;
}

.nbn-section .releases .arrow-line {
  width: 25px;
}

.nbn-section .first-number {
  color: #89A19D;
  font-size: 1.28rem;
}

.nbn-section .first-number,
.nbn-section .country,
.nbn-section.month {
  margin-right: 10px;
  font-weight: 400;
}

.nbn-section .country,
.nbn-section .month {
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.2em;
}

.nbn-section .second-number {
  color: #89A19D;
  font-weight: 400;
  text-align: right;
}

.nbn-section .social-links {
  display: block;
}

.nbn-section legend {
  color: #89A19D;
  text-transform: uppercase;
  font-size: 0.85rem;
  padding: 0px 5px;
  letter-spacing: 2px;
}

#growth a.social-button {
  -ms-flex-align: center;
  align-items: center;
  border-radius: 2px;
  box-sizing: border-box;
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  font-size: .85rem;
  height: 1.75rem;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto 5px;
  padding: .25rem;
  width: 1.75rem;
}

#growth a.social-button.twitter {
  background: #1da1f2;
}

#growth a.social-button.linkedin {
  background: #0077b5;
}

#growth a.social-button.facebook {
  background: #3b5998;
}

#growth a.social-button.googleplus {
  background: #dd4b39;
}

/* CTA at the bottom */

section.nbn-cta {
  background: #66ccbb;
  color: #fff;
  min-height: 300px;
  text-align: center;
}

section.nbn-cta .copy-container {
  margin-top: 0;
}

section.nbn-cta .form-content h1 {
  margin: 0;
  color: #fff;
}

section.nbn-cta .mktoForm {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100% !important;
}

section.nbn-cta .mktoForm input[type=email] {
  padding: 2px 3px;
  color: #ffffff;
  background-color: rgba(0,0,0,.25);
  background: rgba(0,0,0,.25);
  border: 0px solid #e1e7e6;
  box-shadow: none !important;
  padding: 9px 10px 10px 10px !important;
  margin: 8px 0 8px 0;
  font-size: 16px;
  line-height: 19px;
  width: 100% !important;
  height: 42px;
  border-radius: 2px;
  font-family: 'Source Sans Pro',sans-serif;
}

section.nbn-cta .mktoForm .mktoFormCol {
  float: none;
  margin-bottom: 0 !important;
}

section.nbn-cta .mktoForm .mktoFormRow {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  margin-right: 20px;
}

section.nbn-cta .mktoForm .mktoFieldWrap {
  float: none;
}

section.nbn-cta .mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
  color: #ffffff;
  border: 0px !important;
  padding: 0.4em 1em;
  font-size: 18px !important;
  background-color: #3d4647 !important;
  border-radius: 2px;
  line-height: 1.5em;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 300;
  height: 42px !important;
  font-family: 'Source Sans Pro',sans-serif !important;
  background-image: linear-gradient(to bottom, #3d4647, #3d4647) !important;
}

section.nbn-cta .submitted-message {
  background: rgba(0,0,0,.15);
  padding: 8px 12px;
  line-height: 1.4em;
  margin-top: 20px;
}

section#nbn-cta {
  background: #B373FF;
  color: #fff;
  text-align: center;
}

section#nbn-cta .content-container {
  margin: 0 auto;
}

section#nbn-cta .content-container h1 {
  margin-bottom: 20px;
}

@media screen and (min-width: 801px) {
  #growth .social-share {
    left: -10px;
    position: absolute;
    padding: 0;
    top: 0;
    transform: translate(-100%, 0);
  }

  #growth .social-share.scroll {
    left: 16px;
    position: fixed;
    top: 100px;
    transform: none;
    z-index: 10;
  }
}

@media screen and (max-width: 1000px) {
  .nbn-section .delta {
    border: 1px solid #66ccbb;
    border-radius: 2px;
    color: #66ccbb;
    display: inline-block;
    font-size: 0.85rem;
    line-height: 1em;
    margin-left: 10px;
    margin-top: 1em;
    padding: 4px 4px;
  }
}

@media screen and (min-width: 1281px) and (max-width: 1600px) {
  .nbn-section .number {
    font-size: 3rem;
  }

  .nbn-section .text,
  .nbn-section .column.economy div {
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  #growth.nbn-section .title {
    margin-top: 50px;
  }

  .nbn-section > .row {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .nbn-section .column.economy {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-top: 50px;
  }
}

@media screen and (max-width: 800px) {
  [class^="page-node-by-numbers-"] section {
    padding: 40px 20px;
  }

  nav.nbn-nav {
    -ms-flex-direction: row;
    flex-direction: row;
  }

  nav.nbn-nav .nbn-logo {
    height: auto;
    padding: 10px;
    width: 55%;
  }

  nav.nbn-nav a {
    padding: 0 10px 4px 0;
  }

  nav.nbn-nav a img {
    height: 15px;
  }

  section.nbn-intro a.button {
    margin-bottom: 20px;
  }

  section.nbn-intro .scroll {
    border-left: 0;
    border-right: 0;
    border-bottom: 70px solid #353d3e;
  }

  .nbn-section .header h1 {
    font-size: 2.57rem;
  }

  .nbn-header h2 {
    font-size: 1.7rem;
    font-weight: 300;
    line-height: 1.3em;
  }

  .nbn-section > .row {
    -ms-flex-flow: column wrap;
    flex-flow: column wrap;
    margin-top: 40px;
  }

  .nbn-section > .row {
    margin: 0;
  }

  .nbn-section > .row > .column {
    margin: 40px 0 0 0;
  }

  .nbn-section .row > .column:not(:first-child) {
    margin-top: 40px;
  }

  .nbn-section .economy .row,
  .nbn-section .releases .row {
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
  }

  section.nbn-intro img.nbn-logo {
    width: 100%;
  }

  section.nbn-intro {
    height: auto;
  }

  [class^="page-node-by-numbers-"] .social-share {
    bottom: 0;
    left: 0;
    margin: 0;
    position: fixed;
    padding: 0;
    transition: transform 250ms;
    transform: translate(0,100%);
    width: 100%;
    z-index: 10;
  }

  [class^="page-node-by-numbers-"] .social-share.scrolled {
    transition: transform 250ms;
    transform: translate(0,0);
  }

  .nbn-section legend {
    display: none;
  }

  .nbn-section .social-links {
    display: -ms-flexbox;
    display: flex;
  }

  .nbn-section a.social-button {
    border-radius: 0;
    height: 2.5rem;
    margin: 0;
    width: 100%;
  }

  .nbn-section .number {
    font-size: 4rem;
  }

  .nbn-section .text {
    font-size: 1.5rem;
  }
}

.infrastructure-hero {
  background-image: url("https://assets.nodesource.com/website/background+white.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 660px;
  overflow: initial !important;
}

.infrastructure-hero .container-image {
  width: 100%;
  height: 100%;
  background: linear-gradient(transparent, transparent, #fff);
}

.infrastructure-hero > h1 {
  margin-top: 50px;
  font-weight: 300;
}

.infrastructure-hero .content-container {
  color: #2e3535;
  margin-top: 50px;
  width: 740px;
  height: 83px;
  -ms-flex-positive: 0;
  flex-grow: 0;
  font-size: 66px;
  font-weight: 300;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: -1.32px;
  text-align: center;
}

.infrastructure-hero .content-container > p {
  font-size: 24px;
  font-weight: normal;
  color: #4c5859;
}

.infrastructure-hero .container-row {
  margin-top: 80px;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  display: -ms-flexbox;
  display: flex;
}

.infrastructure-hero .container-calculator {
  text-align: center;
  min-width: 20%;
  max-width: 20%;
}

.infrastructure-hero .container-calculator > span {
  color: #2e3535;
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  border-bottom: solid 1px #89a19d;
}

.message-required-green {
  color: rgb(90 200 120);
  margin-top: 5px;
}

.infrastructure-hero .container-calculator > div {
  margin-top: 20px;
}

#container-instances {
  margin: 40px 0px 0px;
  overflow-y: scroll;
  max-height: 270px;
}

.radio-item {
  display: inline-block;
  position: relative;
  padding: 0 6px;
  margin: 10px 0 0;
  font-size: 16px;
  display: -ms-flexbox;
  display: flex;
  color: #2e3535;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-align: center;
  align-items: center;
  padding: 0px;
  border-radius: 999px;
  box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
  border: solid 1px #e1e7e6;
  background-color: #fff;
  margin: 10px 4px;
  position: relative;
}

.radio-item input[type='radio'] {
  display: none;
}

.radio-item label {
  font-weight: normal;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding: 6px;
}

.radio-item input[type=radio]:checked + label {
  width: 100%;
  border-radius: 999px;
  box-shadow: 0 0 0 4px #4cb5ff, 0 1px 2px 0 rgb(16 24 40 / 5%);
}

.radio-item label:before {
  content: " ";
  display: inline-block;
  position: relative;
  top: 5px;
  margin: 0 5px 10px;
  width: 16px;
  height: 16px;
  border-radius: 11px;
  border: 1px solid #667085;
  background-color: transparent;
}

.radio-item input[type=radio]:checked + label:after {
  border-radius: 11px;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 14px;
  left: 14px;
  content: " ";
  display: block;
  background: #4cb5ff;
  border: solid 1px #4cb5ff;
}

.radio-item input[type=radio]:disabled + label {
  color: #7a7a7a;
  cursor: not-allowed;
}

.hide {
  display: none;
}

.dropdown {
  font-size: 16px;
  font-family: 'Source Sans Pro';
  border-radius: 999px;
  border: solid 1px #e1e7e6;
  background-color: #fff;
  color: #2e3535;
  height: 42px;
  background-repeat: no-repeat;
  background-image: linear-gradient(45deg, transparent 50%, #4cb5ff 50%), linear-gradient(135deg, #4cb5ff 50%, transparent 50%);
  background-position: right 26px top 14px, right 14px top 14px;
  background-size: 12px 12px, 12px 12px;
}

.dropdown .title {
  margin-left: 15px;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  -ms-flex-pack: left;
  justify-content: left;
}

.dropdown:focus {
  outline: 4px solid #4cb5ff;
}

.dropdown .title .fa-angle-right {
  float: right;
  margin-right: .7em;
  transition: transform .3s;
}

.dropdown .menu {
  z-index: 9999;
  position: relative;
  top: 7px;
  background: #fff;
  box-shadow: 0px 10px 6px rgb(0 0 0 / 15%);
  animation: subnav-animation 250ms ease-in-out 1;
}

.dropdown .menu:before {
  border: solid transparent;
  border-color: transparent;
  border-bottom-color: #ffffff;
  border-width: .5rem;
  content: " ";
  height: 0;
  left: 50%;
  position: absolute;
  pointer-events: none;
  top: 0px;
  transform: translate(-50%, -100%);
  width: 0;
}

.dropdown .menu .option {
  margin-top: 0.3em;
}

.dropdown .menu .option:hover {
  background: #F5F7F7;
  opacity: 1;
}

.pointerCursor:hover {
  cursor: pointer;
}

.input-calculator {
  padding: 0px 15px;
  border-radius: 999px;
  box-shadow: 0 1px 2px 0 rgb(16 24 40 / 5%);
  border: solid 1px #e1e7e6;
  background-color: #fff;
  height: 42px;
  font-size: 16px;
  width: 50%;
  text-align: center;
  width: -webkit-fill-available;
}

.input-calculator:focus {
  outline: 4px solid #4cb5ff;
}

.container-instance-info {
  margin-top: 40px;
}

.text-machine {
  font-size: 16px;
  color: #2e3535;
}

.container-message {
  text-align: justify;
  margin: 40px 40px 20px;
  z-index: 1;
}

.container-text {
  margin-bottom: 20px;
  font-size: 16px;
  -ms-flex-pack: center;
  justify-content: center;
  display: inline-block;
}

.container-result-section {
  background: #fff;
}

.container-result {
  margin: auto;
  display: grid;
  -ms-flex-pack: center;
  justify-content: center;
}

.container-result > h1 {
  margin-top: 20px;
  font-size: 40px;
  text-align: center;
  font-weight: 600;
}

.container-result > p {
  font-size: 24px;
  padding-top: 9px;
  padding-bottom: 20px;
  text-align: center;
}

.container-value-result {
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  left: 15px;
}

.observability-provider-result {
  width: 478px;
  height: 455px;
  display: -ms-flexbox;
  display: flex;
  border-radius: 10px;
  border: solid 3px rgba(0, 0, 0, 0.05);
  background-image: linear-gradient(179deg, #fcc 1%, #fdafaf 99%);
  position: relative;
}

.observability-provider-result:before {
  content: ' ';
  opacity: 10%;
  height: 100%;
  width: 100%;
  background-image: url("assets/bg-halftone-pattern.31cfa4.png");
}

.observability-provider-result .container-text-result {
  height: 100%;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 30px;
  padding: 0;
  position: absolute;
}

.container-result-section {
  display: inline-grid;
  -ms-flex-pack: center;
  justify-content: center;
}

.container-result-section .text-observability-result {
  font-size: 24px;
  line-height: normal;
  margin: 0px;
}

.container-result-section .text-result {
  margin: 0px;
  font-weight: bold;
  font-size: 24px;
  color: #2e3535;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
}

.container-result-section .text-result-nsolid {
  margin: 0px;
  font-weight: bold;
  font-size: 24px;
  color: #f5f7f7;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
}

.container-result-section .result-price {
  font-size: 32px;
}

.nsolid-result {
  color: #fff;
  padding: 30px 170px 30px 170px;
  border-radius: 10px;
  box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.3);
  border: solid 3px rgba(0, 0, 0, 0.1);
  background-image: linear-gradient(to right, #00a95d 0%, #00b900 100%);
  margin-top: 23px;
  height: 391px;
  width: 260px;
  position: relative;
  left: -30px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  text-align: center;
}

.nsolid-result .container-text-nsolid-result {
  position: absolute;
  display: -ms-flexbox;
  display: flex;
  height: 80%;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  text-align: center;
  gap: 10px;
}

.nsolid-result > svg {
  fill-opacity: 5%;
  fill: #fff;
  width: 500px;
  height: 500px;
  position: absolute;
  right: -135px;
  bottom: -139px;
}

.nsolid-result .container-text-nsolid-result div.logo {
  box-shadow: 0 1px 0 0 rgb(0 0 0 / 25%);
  border-bottom: solid 1px #f5f7f7;
}

.container-text-nsolid-result div.logo svg:first-child {
  width: 32px;
  height: 32px;
  margin-right: 11px;
  fill: #fff;
}

.nsolid-result .container-text-nsolid-result div.logo svg:last-child {
  width: 160px;
  height: 27px;
  fill: #fff;
}

.with-nsolid {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 24px;
  -ms-flex-align: center;
  align-items: center;
}

.with-nsolid p:last-child {
  margin-left: 10px;
}

.percentage-less {
  height: 20px;
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  font-size: 16px;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  -ms-flex-positive: 0;
  flex-grow: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 5px 10px;
  border-radius: 2px;
  background-color: rgba(0, 0, 0, 0.15);
  margin-top: 0px !important;
}

.container-button {
  width: 526px;
  height: 60px;
  margin: auto;
}

.button-start {
  border-radius: 2px;
  height: inherit;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  font-size: 20px;
  font-weight: normal;
  letter-spacing: 0;
  line-height: 1em;
  text-transform: none;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #5ac878;
}

.button-start:hover {
  color: #fff;
}

/*Media*/

@media screen and (max-width: 600px) {
  .container-value-result {
    display: inline-block;
    left: 0px;
  }

  .observability-provider-result {
    margin: auto;
  }

  .nsolid-result {
    margin: 23px auto;
    left: 0;
    width: 100% !important;
    padding: 35px !important;
  }

  .nsolid-result > svg {
    width: 300px;
    right: -27px;
    height: 300px;
    bottom: -80px;
  }

  .container-result-section .text-observability-result {
    font-size: 20px;
  }

  .container-result-section .result-price {
    font-size: 24px;
  }

  .container-button {
    width: 100%;
  }
}

@media screen and (max-width: 800px) {
  .infrastructure-hero {
    height: 700px;
  }

  .infrastructure-hero .content-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: auto;
    margin: 10px 0px;
  }

  .infrastructure-hero .container-row {
    display: -ms-flexbox;
    display: flex;
    overflow-y: scroll;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 380px;
    margin-top: 20px;
  }

  .infrastructure-hero .container-calculator {
    min-width: auto;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    padding: 10px 0px;
  }

  .container-instance-info {
    width: 223px;
  }

  .container-result-section {
    padding-bottom: 80px;
  }

  .observability-provider-result {
    width: 320px;
    height: 350px;
  }

  .container-text-result {
    gap: 20px !important;
  }

  .nsolid-result {
    width: 425px;
    padding: 30px 90px;
  }

  .container-result-section .text-observability-result {
    font-size: 22px;
  }

  .container-result-section .result-price {
    font-size: 28px;
  }
}

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .infrastructure-hero .container-row {
    display: -ms-flexbox;
    display: flex;
    overflow-y: scroll;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 380px;
  }

  .infrastructure-hero .container-calculator {
    min-width: auto;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    padding: 10px 0px;
  }

  .container-instance-info {
    max-width: 230px;
  }

  .observability-provider-result {
    width: 320px;
    height: 350px;
  }

  .nsolid-result {
    padding: 30px 90px;
    height: 300px;
    width: 240px;
  }

  .nsolid-result > svg {
    width: 400px;
    height: 400px;
  }
}

@media screen and (min-width: 1001px) and (max-width: 1280px) {
  .container-row,
  .container-value-result,
  .container-message {
    width: 960px;
    margin-right: auto;
    margin-left: auto;
  }

  .nsolid-result .container-text-nsolid-result {
    left: 25%;
  }
}

/*Bigger Screens*/

@media screen and (min-width: 1601px) {
  .container-row,
  .container-message {
    width: 1460px;
    margin-right: auto;
    margin-left: auto;
  }
}