/*
 *  General
 */

article {
  font-family: "Montserrat", sans-serif;
}
body {
  font-size: 14px;
}

div#downward-indicator {
  position: fixed;
  bottom: 5%;
  right: 5%;
  width: 100px;
  height: 100px;
  opacity: 0.2;
  border-radius: 200px;
  z-index: 999;
  background-image: url("../img/arrow-down-large.png");
  background-size: cover;
  cursor: pointer;
  transition: opacity 0.2s;
}

div#downward-indicator:hover {
  opacity: 0.5;
}

div.content-area {
  background-color: black;
  color: white;
  min-height: 900px;
}

div.content-area header {
  display: none;
}

div.content-area a {
  color: white;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 650;
}

div.content-area p > a:not(.ngk-button){
  word-break: break-all;
}

div.content-area p > a:not(.ngk-button):hover {
  color: #ccc;
}

form input,
form select,
form textarea {
  background-color: #222 !important;
  border-radius: 2px !important;
  padding: 10px !important;
  color: white !important;
}

form label {
  font-weight: normal !important;
}

div.nf-field-label {
  margin-bottom: 0 !important;
}

h1, h2, h3, h4 {
  text-transform: uppercase;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 0.5em;
  line-height: 1em;
}

ul {
  padding: 0;
}

p {
  margin-bottom: 0.5em;
}

ul li {
  margin: 0 0 0 20px;
  padding: 0 0 0 10px;
}
@media screen and (max-width: 768px) {
  ul li {
    margin: 0;
  }
}

blockquote {
  font-style: italic;
}

blockquote::before {
  display: inline-block;
  content: "\201C";
  font-weight: bold;
}

blockquote::after {
  display: inline-block;
  content: "\201D";
  font-weight: bold;
}

blockquote > * {
  display: inline;
}

table:not(.ngk-feed-item-details) {
  border-collapse: collapse;
  border-radius: 10px;
  background-color: #222;
  margin: 10px 0;
}

table:not(.ngk-feed-item-details) tr th,
table:not(.ngk-feed-item-details) tr td {
  padding: 10px;
}

table:not(.ngk-feed-item-details) tr th {
  background-color: white;
  color: #222;
}

table:not(.ngk-feed-item-details) tr:first-child,
table:not(.ngk-feed-item-details) tr:first-child td:first-child,
table:not(.ngk-feed-item-details) tr:first-child th:first-child {
  border-top-left-radius: 10px;
}

table:not(.ngk-feed-item-details) tr:first-child,
table:not(.ngk-feed-item-details) tr:first-child td:last-child,
table:not(.ngk-feed-item-details) tr:first-child th:last-child {
  border-top-right-radius: 10px;
}

table:not(.ngk-feed-item-details) tr:not(:last-child) {
  border-style: solid;
  border-color: rgba(255,255,255,0.2);
  border-width: 0px 0px 0px 0px;
}


table:not(.ngk-feed-item-details) tr:last-child,
table:not(.ngk-feed-item-details) tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

table:not(.ngk-feed-item-details) tr:last-child,
table:not(.ngk-feed-item-details) tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

table:not(.ngk-feed-item-details) tr td:not(:last-child),
table:not(.ngk-feed-item-details) tr th:not(:last-child) {
  border-style: solid;
  border-color: rgba(0,0,0,0.4);
  border-width: 0px 1px 0px 0px;
}

table:not(.ngk-feed-item-details) tr:nth-child(2n+1){
  background-color: rgba(255,255,255,0.02);
}

label.ngk-checkbox-container {
  display: block;
  position: relative;
  padding-left: 20px;
  cursor: pointer;
  user-select: none;
}

label.ngk-checkbox-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  overflow: visible;
}

span.ngk-checkbox-checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 18px;
  width: 18px;
  border-radius: 50%;
}

label.ngk-checkbox-container:hover input ~ span.ngk-checkbox-checkmark {
  background-color: #444;
}

span.ngk-checkbox-checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

label.ngk-checkbox-container input:checked ~ span.ngk-checkbox-checkmark:after {
  display: block;
}

label.ngk-checkbox-container span.ngk-checkbox-checkmark:after {
  left: 6px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid #EF1A25;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

@media screen and (max-width: 768px) {
  label.ngk-checkbox-container {
    font-size: 20px;
    padding-left: 28px;
  }

  span.ngk-checkbox-checkmark {
    height: 25px;
    width: 25px;
  }

  label.ngk-checkbox-container span.ngk-checkbox-checkmark:after {
    width: 8px;
    height: 18px;
    left: 8px;
    
  }
}

a.ngk-button {
  display: inline-block;
  padding: 10px;
  border: 1px solid #eee;
  border-radius: 4px;
  font-size: 14px;
  text-transform: uppercase;
  transition: background-color 0.1s, color 0.1s;
  text-align: center;
  cursor: pointer;
}

a.ngk-button:disabled,
a.ngk-button[disabled='disabled'] {
  border: 1px solid #666;
}

a.ngk-button:hover {
  background-color: #eee;
  color: #222;
}

a.ngk-button:disabled:hover,
a.ngk-button[disabled='disabled']:hover {
  background-color: initial;
  color: white;
}

a.ngk-cta-button {
  padding: 15px;
  display: block;
}

div.content-area div.ngk-content-container {
  position: relative;
  z-index: 3;
  text-align: center;
}

div.content-area div.ngk-content-container div.ngk-content {
  display: inline-block;
  width: 1250px;
}

@media screen and (max-width: 1250px){
  div.content-area div.ngk-content-container div.ngk-content {
    display: block;
    width: auto;
  }
}

/*
 * Blocks
 */

.ngk-content-blocks {
  position: relative;
  display: block;
  width: 100%;
}

.ngk-block {
  display: block;
  position: relative;
  width: 100%;
  text-align: left;
}

.ngk-content-blocks.ngk-content-blocks-10-top-bottom-margin .ngk-block {
  margin-top: 10px;
  margin-bottom: 10px;
}
.ngk-content-blocks.ngk-content-blocks-20-top-bottom-margin .ngk-block {
  margin-top: 20px;
  margin-bottom: 20px;
}
.ngk-content-blocks.ngk-content-blocks-30-top-bottom-margin .ngk-block {
  margin-top: 30px;
  margin-bottom: 30px;
}
.ngk-content-blocks.ngk-content-blocks-40-top-bottom-margin .ngk-block {
  margin-top: 40px;
  margin-bottom: 40px;
}
.ngk-content-blocks.ngk-content-blocks-50-top-bottom-margin .ngk-block {
  margin-top: 50px;
  margin-bottom: 50px;
}
.ngk-content-blocks.ngk-content-blocks-10-left-right-margin .ngk-block {
  margin-left: 10px;
  margin-right: 10px;
}
.ngk-content-blocks.ngk-content-blocks-20-left-right-margin .ngk-block {
  margin-left: 20px;
  margin-right: 20px;
}
.ngk-content-blocks.ngk-content-blocks-30-left-right-margin .ngk-block {
  margin-left: 30px;
  margin-right: 30px;
}
.ngk-content-blocks.ngk-content-blocks-40-left-right-margin .ngk-block {
  margin-left: 40px;
  margin-right: 40px;
}
.ngk-content-blocks.ngk-content-blocks-50-left-right-margin .ngk-block {
  margin-left: 50px;
  margin-right: 50px;
}

.ngk-block > span,
.ngk-block > div {
  position: relative;
  z-index: 1;
}

.ngk-block span.ngk-block-background-container {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  pointer-events: none;
}
.ngk-block span.ngk-block-background-container > span {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

.ngk-block span.ngk-block-background-container span.ngk-block-background-color {
  z-index: 0;
}
.ngk-block span.ngk-block-background-container span.ngk-block-background-image {
  background-size: cover;
  z-index: 1;
}
.ngk-block span.ngk-block-background-container span.ngk-block-background-gradient {
  background-size: cover;
  z-index: 2;
}

@media screen and (max-width: 650px) {
  .ngk-block span.ngk-block-columns.ngk-block-mobile-stacking-stack {
    flex-flow: row wrap !important;
  }
  .ngk-block span.ngk-block-columns.ngk-block-mobile-stacking-scale {
    flex-flow: row nowrap !important;
  }
}

@media screen and (max-width: 768px) {
  .ngk-block span.ngk-block-columns {
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
  }

  .ngk-block span.ngk-block-columns.ngk-block-tablet-stacking-scale {
    flex-flow: row nowrap;
  }
  
  .ngk-block span.ngk-block-columns span.ngk-block-column {
    display: block;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 100%;
  }
}
@media screen and (min-width: 769px) {
  .ngk-block span.ngk-block-columns {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
  }

  .ngk-block span.ngk-block-columns span.ngk-block-column {
    display: block;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 100%;
  }

  .ngk-block span.ngk-block-columns span.ngk-block-column .ngk-content-blocks {
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
    height: 100%;
    width: 100%;
  }
  
  .ngk-block span.ngk-block-columns span.ngk-block-column .ngk-content-blocks.ngk-content-blocks-static-align {
    display: block;
  }

  .ngk-block span.ngk-block-columns span.ngk-block-column:not(:last-child){
    margin: 0 5px 0 0;
  }

  .ngk-block span.ngk-block-columns span.ngk-block-column.ngk-block-column-2-wide {
    flex-grow: 2;
  }

  .ngk-block span.ngk-block-columns span.ngk-block-column.ngk-block-column-3-wide {
    flex-grow: 3;
  }

  .ngk-block span.ngk-block-columns span.ngk-block-column.ngk-block-column-4-wide {
    flex-grow: 4;
  }

  .ngk-block span.ngk-block-columns.ngk-block-columns-2-column span.ngk-block-column.ngk-block-column-2-wide {
    flex-basis: 200%;
  }

  .ngk-block span.ngk-block-columns.ngk-block-columns-2-column span.ngk-block-column.ngk-block-column-3-wide {
    flex-basis: 300%;
  }

  .ngk-block span.ngk-block-columns.ngk-block-columns-2-column span.ngk-block-column.ngk-block-column-4-wide {
    flex-basis: 400%;
  }

  .ngk-block span.ngk-block-columns.ngk-block-columns-3-column span.ngk-block-column.ngk-block-column-2-wide {
    flex-basis: 150%;
  }

  .ngk-block span.ngk-block-columns.ngk-block-columns-3-column span.ngk-block-column.ngk-block-column-3-wide {
    flex-basis: 200%;
  }

  .ngk-block span.ngk-block-columns.ngk-block-columns-3-column span.ngk-block-column.ngk-block-column-4-wide {
    flex-basis: 250%;
  }

  .ngk-block span.ngk-block-columns.ngk-block-columns-4-column span.ngk-block-column.ngk-block-column-2-wide {
    flex-basis: 125%;
  }

  .ngk-block span.ngk-block-columns.ngk-block-columns-4-column span.ngk-block-column.ngk-block-column-3-wide {
    flex-basis: 150%;
  }

  .ngk-block span.ngk-block-columns.ngk-block-columns-4-column span.ngk-block-column.ngk-block-column-4-wide {
    flex-basis: 175%;
  }
}

@media screen and (max-width: 1250px){
  .ngk-block {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  div.ngk-content-blocks > .ngk-block {
    padding-left: 5px !important;
    padding-right: 5px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/*
 * Resource Feed
 */

div.ngk-resource-feed {
  display: flex;
  width: 100%;
  text-align: left;
  flex-flow: row nowrap;
}

div.ngk-resource-feed-posts {
  flex-basis: 80%;
  flex-grow: 1;
}

div.ngk-resource-feed-posts div.ngk-resource-feed-post {
  margin-bottom: 50px;
}

div.ngk-resource-feed-post-details {
  color: #999;
}
div.ngk-resource-feed-post-title,
div.ngk-resource-feed-post-details {
  text-shadow: 1px 1px 2px black;
}

span.ngk-resource-feed-post-details-date::after {
  content: "|";
  display: inline-block;
  margin: 0 10px;
}

div.ngk-resource-feed-empty {
  text-align: center;
}

div.ngk-resource-feed-empty h1,
div.ngk-resource-feed-empty h3 {
  text-transform: none;
  text-shadow: 1px 1px 4px black;
}

div.ngk-resource-feed-empty h1 {
  color: #EF1A25;
}

div.ngk-resource-feed-filters {
  width: 400px;
  margin-left: 15px;
  background-color: #222;
  border-radius: 2px;
  background-image: linear-gradient(to bottom, transparent, black);
  padding: 20px;
}

div.ngk-resource-feed-filters div.ngk-resource-feed-filter:not(:last-child){
  margin-bottom: 30px;
}

div.ngk-resource-feed-filters ul {
  list-style-type: none;
  margin-top: 5px;
}

div.ngk-resource-feed-filters ul li {
  margin: 0;
  padding: 0;
}

div.ngk-resource-feed-filters h3 {
  margin-bottom: 5px;
} 

div.ngk-resource-feed-filters h3 span.ngk-resource-feed-filter-all-none {
  margin-left: 10px;
  opacity: 0;
  font-size: 11px;
  cursor: pointer;
}

div.ngk-resource-feed-filters h3 span.ngk-resource-feed-filter-all-none a {
  font-weight: normal;
  opacity: 0.3;
}

div.ngk-resource-feed-filters h3 span.ngk-resource-feed-filter-all-none span.ngk-resource-feed-filter-all-none-spacer {
  margin: 0 5px;
  font-weight: normal;
  opacity: 0.3;
}

div.ngk-resource-feed-filters h3:hover span.ngk-resource-feed-filter-all-none {
  opacity: 1;
}

div.ngk-resource-feed-filters h3:hover span.ngk-resource-feed-filter-all-none a:hover{
  opacity: 0.75;
}

div.ngk-resource-feed-pagination-container {
  display: block;
  text-align: center;
}

div.ngk-resource-feed-pagination {
  display: inline-flex;
  width: 550px;
  flex-flow: row nowrap;
  justify-content: center;
}

div.ngk-resource-feed-pagination a {
  flex-basis: 100%;
  margin: 5px;
  max-width: 60px;
}

@media screen and (max-width: 1250px){
  div.ngk-resource-feed {
    padding: 0 10px;
    display: flex;
    width: 100%;
    text-align: left;
    flex-flow: row nowrap;
  }
}

@media screen and (max-width: 768px){
  div.ngk-resource-feed {
    flex-flow: row wrap;
    padding: 15em 10px 0 10px;
  }

  div.ngk-resource-feed-filters {
    margin: 2em 0 0 0;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
  }
  div.ngk-resource-feed-filter {
    flex-basis: 100%;
  }
  a#ngk-resource-feed-filter-submit {
    flex-basis: 100%;
  }
  div.ngk-resource-feed-pagination {
    display: flex;
    width: auto;
  }
}

@media screen and (max-width: 650px){
  div.ngk-resource-feed {
    padding: 25px 10px 0 10px;
  }
}

/* Search Results */

div.ngk-search-results-container {
  margin-top: -45em;
}

div.ngk-search-header {
  text-align: left;
}
div.ngk-search-header-headline {
  color: #999;
  margin-bottom: -10px;
}
div.ngk-search-header-query {
  color: white;
  font-size: 32px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: -10px;
}

div.ngk-search-results {
  margin-top: 10px;
}

div.ngk-search-results a.ngk-search-result {
  display: block;
  text-transform: none;
  font-weight: normal;
  padding: 15px;
  background-color: #222;
  text-align: left;
  margin-bottom: 20px;
}

a.ngk-search-result div.ngk-search-result-title {
  font-size: 24px;
  font-weight: bold;
}

span.ngk-search-highlight {
  color: #EF1A25;
  font-weight: bold;
}

div.ngk-search-results-empty {
  margin-top: 200px;
  font-weight: bold;
  font-size: 32px;
}

div.ngk-search-results-pagination-container {
  display: block;
  text-align: center;
}

div.ngk-search-results-pagination {
  display: inline-flex;
  width: 550px;
  flex-flow: row nowrap;
  justify-content: center;
}

div.ngk-search-results-pagination a {
  flex-basis: 100%;
  margin: 5px;
  max-width: 60px;
}

@media screen and (max-width: 768px) {
  div.ngk-search-results-container {
    margin-top: -35em;
  }
}
@media screen and (max-width: 650px) {
  div.ngk-search-results-container {
    margin-top: -25em;
    padding: 10px;
  }

  div.ngk-search-results-pagination {
    display: flex;
    width: auto;
  }
}

/*
 * Special: part finder
 */

div.ngk-part-finder-content {
  margin-top: -5em;
  padding: 40px;
  border-radius: 10px;
  margin-bottom: 50px;
}

div.ngk-part-finder-content iframe {
  margin-top: 40px;
  height: 0px;
}

div.ngk-part-finder-applications {
  margin-top: 20px;
  display: flex;
  flex-flow: row wrap;  
  justify-content: center;
}

a.ngk-part-finder-application {
  display: block; 
  padding: 25px 50px 25px 5px;
  text-align: left;
  padding-left: 10px;
  background-color: #666;
  background-size: 50px auto;
  background-position: 95% center;
  background-repeat: no-repeat;
  margin: 2.5px;
  flex-basis: calc(25% - 5px);
  box-shadow: 1px 1px 2px black;
  transition: background-color 0.25s;
}

a.ngk-part-finder-application:hover {
  background-color: rgba(239,26,37,0.5);
}

@media screen and (max-width: 768px){
  a.ngk-part-finder-application {
    flex-basis: calc(50% - 5px);
  }  
}

@media screen and (max-width: 650px){
  a.ngk-part-finder-application {
    flex-basis: 100%;
  }
  div.ngk-part-finder-content {
    margin-top: 0;
  }  
}
