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

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

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

header, footer #footerTop, footer #footerBottom, #workshopMap .map {
  *zoom: 1; }
  header:before, footer #footerTop:before, footer #footerBottom:before, #workshopMap .map:before, header:after, footer #footerTop:after, footer #footerBottom:after, #workshopMap .map:after {
    content: " ";
    display: table; }
  header:after, footer #footerTop:after, footer #footerBottom:after, #workshopMap .map:after {
    clear: both; }

.clearfix:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

* html .clearfix {
  height: 1%; }

/* Hides from IE-mac \*/
.clearfix {
  display: block;
  clear: both; }

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

.left {
  float: left; }

.right {
  float: right; }

div.img {
  overflow: hidden; }
  div.img img {
    display: block; }

.flex-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .flex-content div.img {
    overflow: inherit; }
  @media only screen and (max-width: 768px) {
    .flex-content {
      flex-direction: column; } }

.shadow-box {
  padding: 90px 70px;
  background: #fff;
  font-weight: normal;
  -webkit-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.3); }
  .shadow-box p:last-of-type {
    margin: 0; }
  .shadow-box p + .btn {
    margin-top: 30px; }
  .shadow-box.bold {
    font-weight: bold; }
  .shadow-box.transparent {
    background: rgba(255, 255, 255, 0.8); }
  @media only screen and (max-width: 1024px) {
    .shadow-box {
      padding: 65px 60px 60px; } }
  @media only screen and (max-width: 768px) {
    .shadow-box {
      padding: 45px 50px 40px; } }
  @media only screen and (max-width: 640px) {
    .shadow-box {
      padding: 35px 40px 30px; } }
  @media only screen and (max-width: 360px) {
    .shadow-box {
      padding: 30px 25px 25px; } }

@font-face {
  font-family: 'Nexa';
  src: url("../fonts/nexa/Nexa-Book.woff2") format("woff2"), url("../fonts/nexa/Nexa-Book.woff") format("woff"), url("../fonts/nexa/Nexa-Book.ttf") format("truetype");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: 'Nexa';
  src: url("../fonts/nexa/NexaBold.woff2") format("woff2"), url("../fonts/nexa/NexaBold.woff") format("woff"), url("../fonts/nexa/NexaBold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal; }
body {
  font: normal 24px/30px "Nexa", sans-serif;
  color: #1a2f4d;
  background: #dcd8d6;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media only screen and (max-width: 1200px) {
    body {
      font-size: 20px;
      line-height: 26px; } }
  @media only screen and (max-width: 1024px) {
    body {
      font-size: 18px;
      line-height: 22px; } }
  @media only screen and (max-width: 640px) {
    body {
      font-size: 16px;
      line-height: 20px; } }

h1, h2, h3, h4 {
  font-weight: bold; }

h1, h2 {
  text-transform: uppercase;
  letter-spacing: 0.08em; }
  @media only screen and (max-width: 640px) {
    h1, h2 {
      letter-spacing: 0.04em; } }
  @media only screen and (max-width: 460px) {
    h1, h2 {
      letter-spacing: 0; } }

h1 {
  font-size: 46px;
  line-height: 48px;
  margin: 0 0 24px; }
  @media only screen and (max-width: 1024px) {
    h1 {
      font-size: 40px;
      line-height: 42px; } }
  @media only screen and (max-width: 768px) {
    h1 {
      font-size: 36px;
      line-height: 40px; } }
  @media only screen and (max-width: 640px) {
    h1 {
      font-size: 30px;
      line-height: 34px; } }
  @media only screen and (max-width: 360px) {
    h1 {
      font-size: 26px;
      line-height: 30px;
      margin: 0 0 15px; } }

h2 {
  font-size: 34px;
  line-height: 34px;
  margin: 0 0 36px; }
  @media only screen and (max-width: 1024px) {
    h2 {
      font-size: 30px;
      line-height: 32px;
      margin: 0 0 32px; } }
  @media only screen and (max-width: 640px) {
    h2 {
      font-size: 26px;
      line-height: 28px;
      margin: 0 0 28px; } }
  @media only screen and (max-width: 360px) {
    h2 {
      font-size: 22px;
      line-height: 24px; } }

h3 {
  font-size: 24px;
  line-height: 28px; }
  @media only screen and (max-width: 1024px) {
    h3 {
      font-size: 20px;
      line-height: 24px; } }

p {
  font-size: inherit;
  margin: 0 0 30px; }

.text-left {
  text-align: left; }

.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

strong {
  font-weight: bold; }

@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icons/icomoon.eot?4we9wi");
  src: url("../fonts/icons/icomoon.eot?4we9wi#iefix") format("embedded-opentype"), url("../fonts/icons/icomoon.ttf?4we9wi") format("truetype"), url("../fonts/icons/icomoon.woff?4we9wi") format("woff"), url("../fonts/icons/icomoon.svg?4we9wi#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }
[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

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

a {
  color: inherit;
  text-decoration: none;
  font-weight: normal; }

.btn {
  -webkit-appearance: none;
  display: inline-block;
  width: 300px;
  text-transform: uppercase;
  background: #2dc4f1;
  color: #fff;
  font-size: 18px;
  line-height: 47px;
  padding: 3px 0 0;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.08em;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out; }
  .btn:hover {
    background: #5dd1f4; }
  @media only screen and (max-width: 1024px) {
    .btn {
      font-size: 16px;
      width: auto;
      max-width: 300px;
      padding-left: 30px;
      padding-right: 30px; } }
  @media only screen and (max-width: 768px) {
    .btn {
      line-height: 42px;
      letter-spacing: 0.04em; } }
  @media only screen and (max-width: 480px) {
    .btn {
      font-size: 14px; } }

.menu-btn {
  position: absolute;
  right: 30px;
  top: 30px;
  display: none;
  z-index: 20;
  width: 21px;
  height: 18px;
  padding: 15px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 200ms ease-in-out;
  -moz-transition: 200ms ease-in-out;
  -o-transition: 200ms ease-in-out;
  transition: 200ms ease-in-out; }
  .menu-btn div {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    height: 2px;
    background-color: #fff;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .15s ease-in-out;
    -moz-transition: .15s ease-in-out;
    -o-transition: .15s ease-in-out;
    transition: .15s ease-in-out; }
    .menu-btn div:nth-of-type(1) {
      top: 15px; }
    .menu-btn div:nth-of-type(2), .menu-btn div:nth-of-type(3) {
      top: 23px; }
    .menu-btn div:nth-of-type(4) {
      top: 31px; }
  @media only screen and (max-width: 440px) {
    .menu-btn {
      padding: 12px; }
      .menu-btn div:nth-of-type(1) {
        top: 15px; }
      .menu-btn div:nth-of-type(2), .menu-btn div:nth-of-type(3) {
        top: 21px; }
      .menu-btn div:nth-of-type(4) {
        top: 27px; } }

header.menu-open .menu-btn div:nth-child(1) {
  top: 18px;
  width: 0%;
  left: 50%; }
header.menu-open .menu-btn div:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }
header.menu-open .menu-btn div:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }
header.menu-open .menu-btn div:nth-child(4) {
  top: 18px;
  width: 0%;
  left: 50%; }

.play-btn {
  display: block;
  width: 210px;
  height: 210px;
  margin: auto;
  background: url(../img/graphics/play-btn.png) no-repeat;
  background-size: 100% auto;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out; }
  .play-btn:hover {
    opacity: .8; }

.close-btn {
  display: block;
  width: 50px;
  height: 50px;
  background: #051120 url(../img/graphics/close-btn.png) no-repeat center center/16px auto;
  cursor: pointer; }

input, textarea {
  width: 100%;
  border: none;
  background: #dbd9d6;
  color: #55565a;
  outline: none;
  font-family: "Nexa", sans-serif;
  font-size: 24px; }
  @media only screen and (max-width: 1024px) {
    input, textarea {
      font-size: 18px; } }
  @media only screen and (max-width: 460px) {
    input, textarea {
      font-size: 15px; } }

input {
  height: 66px;
  padding: 6px 26px 0; }
  @media only screen and (max-width: 1024px) {
    input {
      height: 46px;
      padding: 4px 18px 0; } }
  @media only screen and (max-width: 460px) {
    input {
      height: 38px;
      padding: 4px 10px 0; } }

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

input[type="checkbox"]:focus, input[type="checkbox"]:active {
  outline: 0; }

::-moz-placeholder {
  opacity: 1; }

:-moz-placeholder {
  opacity: 1; }

::-webkit-input-placeholder {
  opacity: 1 !important; }

textarea {
  resize: none;
  padding: 20px 26px; }
  @media only screen and (max-width: 1024px) {
    textarea {
      padding: 20px 18px; } }
  @media only screen and (max-width: 460px) {
    textarea {
      padding: 15px 10px; } }

button {
  font-family: "Nexa", sans-serif;
  border: none;
  cursor: pointer;
  outline: 0;
  padding: 0;
  margin: 0;
  vertical-align: middle;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -ms-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out; }
  button:focus {
    outline: 0; }

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

[type="radio"]:checked,
[type="radio"]:not(:checked) {
  position: absolute;
  left: -9999px; }

[type="radio"]:checked + label,
[type="radio"]:not(:checked) + label {
  position: relative;
  padding-left: 22px;
  cursor: pointer;
  line-height: 20px;
  display: inline-block;
  color: #2d2d2d; }

[type="radio"]:checked + label:before,
[type="radio"]:not(:checked) + label:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #d0d0d0;
  border-radius: 3px;
  background: #fff; }

[type="radio"]:checked + label:after,
[type="radio"]:not(:checked) + label:after {
  content: '';
  width: 9px;
  height: 9px;
  background: red;
  position: absolute;
  top: 3px;
  left: 3px;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; }

[type="radio"]:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0); }

[type="radio"]:checked + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1); }

.select {
  border: 1px solid #a9a9a9;
  width: auto;
  height: 40px;
  padding: 0 0 0 14px;
  line-height: 42px;
  border-radius: 20px;
  overflow: hidden;
  background: #fff url("../img/graphics/dropdown-arrow.png") no-repeat right 19px center;
  background-size: 10px auto; }

.select select {
  padding: auto 0;
  width: calc(100% + 30px);
  height: 100%;
  border: none;
  box-shadow: none;
  background: transparent;
  background-image: none;
  -webkit-appearance: none;
  font-family: "Nexa", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #2d2d2d;
  cursor: pointer; }

.select select:focus {
  outline: none; }

td {
  vertical-align: middle; }

.cart-preview table {
  width: 100%;
  font-weight: normal; }
  .cart-preview table td {
    padding: 5px 0; }
    .cart-preview table td:nth-of-type(1) {
      width: 60px; }
    .cart-preview table td:nth-of-type(3) {
      padding: 5px 15px; }
  .cart-preview table .img-thumbnail {
    width: 43px;
    border: 1px solid #c2c2c2; }

.cart-table {
  min-height: .01%;
  overflow-x: auto; }
  .cart-table table {
    width: 100%;
    max-width: 100%;
    min-width: 400px;
    margin-bottom: 20px; }
    .cart-table table th, .cart-table table td {
      border-bottom: 1px solid #e7e7e7; }
    .cart-table table th {
      padding: 0 0 16px; }
    .cart-table table tr td:nth-of-type(1) {
      width: 148px; }
      .cart-table table tr td:nth-of-type(1) a {
        display: block; }
    .cart-table table td {
      font-size: 20px;
      line-height: 22px;
      padding: 20px 0; }
    .cart-table table .img-thumbnail {
      border: 1px solid #e1e1e1; }
    .cart-table table .quantity {
      width: 130px;
      margin: 0 auto; }
    .cart-table table .remove {
      text-decoration: underline;
      font-size: 12px; }
    @media only screen and (max-width: 1024px) {
      .cart-table table tr td:nth-of-type(1) {
        width: 120px; }
      .cart-table table td {
        font-size: 18px;
        line-height: 20px;
        padding: 12px 0; } }
    @media only screen and (max-width: 690px) {
      .cart-table table tr td:nth-of-type(1) {
        width: 80px; }
      .cart-table table td {
        font-size: 16px;
        line-height: 18px;
        padding: 10px 0; }
      .cart-table table .img-thumbnail {
        width: 70px; } }

html {
  min-height: 100%;
  height: 100%;
  box-sizing: border-box;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  height: 100%;
  min-height: 100%;
  position: relative;
  overflow-x: hidden;
  padding-top: 170px; }
  @media only screen and (max-width: 1280px) {
    body {
      padding-top: 139px; } }
  @media only screen and (max-width: 900px) {
    body {
      padding-top: 111px; } }
  body.menu-open {
    overflow: hidden; }

.container {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  position: relative; }
  @media only screen and (max-width: 1160px) {
    .container {
      padding: 0 30px; }
      .container.more-padding {
        padding: 0 50px; } }
  @media only screen and (max-width: 440px) {
    .container {
      padding: 0 20px; } }
  @media only screen and (max-width: 330px) {
    .container {
      padding: 0 10px; } }

.block img {
  width: 100%; }

header {
  position: relative;
  z-index: 9;
  padding-bottom: 25px;
  color: #fff;
  text-align: left;
  -webkit-transition: all 100ms ease-in-out;
  -moz-transition: all 100ms ease-in-out;
  -ms-transition: all 100ms ease-in-out;
  transition: all 100ms ease-in-out;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 9; }
  header h1 {
    float: left;
    width: 120px;
    height: 115px;
    margin: 30px 0 0;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out; }
    header h1:hover {
      opacity: .8; }
    header h1 a, header h1 img {
      display: block; }
    header h1 img {
      width: 100%; }
  header nav {
    float: right;
    margin-top: 35px;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 110px;
    position: relative; }
    header nav:after {
      content: ' ';
      position: absolute;
      left: 33px;
      bottom: 0;
      width: 3000px;
      height: 1px;
      background: #fff; }
    header nav a {
      display: inline-block;
      padding: 0 33px;
      position: relative; }
      header nav a:after {
        content: ' ';
        position: absolute;
        bottom: 0;
        left: 33px;
        right: 33px;
        height: 3px;
        background: #2dc4f1;
        z-index: 1;
        height: 0;
        -webkit-transition: all 300ms ease;
        -moz-transition: all 300ms ease;
        -o-transition: all 300ms ease;
        transition: all 300ms ease; }
      header nav a:hover:after {
        height: 3px; }
    header nav .dropdown {
      display: inline-block;
      position: relative; }
    header nav .subnav {
      display: none;
      position: absolute;
      background: #40b4e5;
      text-align: center;
      left: -5px;
      right: -5px;
      top: calc(100% - 4px);
      border-top: 3px solid #2dc4f1;
      z-index: 1; }
      header nav .subnav a {
        padding: 0;
        display: block;
        line-height: 48px; }
        header nav .subnav a:after {
          height: 1px;
          background: #2d85aa;
          left: 12px;
          right: 12px; }
        header nav .subnav a:hover {
          background: #6dc6eb; }
          header nav .subnav a:hover:after {
            height: 1px; }
      header nav .subnav li:last-child a:after {
        display: none; }
  @media only screen and (max-width: 1280px) {
    header h1 {
      width: 90px;
      height: 86px;
      margin: 28px 0 0; }
    header nav {
      margin-top: 5px; }
      header nav:after {
        left: 20px; }
      header nav a {
        padding: 0 20px; }
        header nav a:after {
          left: 20px;
          right: 20px; }
      header nav .subnav {
        left: -10px;
        right: -10px;
        font-size: 13px; } }
  @media only screen and (min-width: 900px) {
    header nav .dropdown:hover .subnav {
      display: block; } }
  @media only screen and (max-width: 900px) {
    header h1 {
      width: 70px;
      height: 66px;
      margin: 20px 0 0; }
    header nav {
      position: absolute;
      top: -6vh;
      left: 0;
      background-color: #1a2f4d;
      right: 0;
      height: 100vh;
      opacity: 0;
      pointer-events: none;
      z-index: 9;
      line-height: 50px;
      padding-top: 30px;
      margin: 0;
      text-align: center;
      -webkit-transition-property: top, background-color, opacity;
      -webkit-transition-duration: 0.3s;
      -webkit-transition-timing-function: linear;
      -moz-transition-property: top, background-color, opacity;
      -moz-transition-duration: 0.3s;
      -moz-transition-timing-function: linear;
      -ms-transition-property: top, background-color, opacity;
      -ms-transition-duration: 0.3s;
      -ms-transition-timing-function: linear;
      -o-transition-property: top, background-color, opacity;
      -o-transition-duration: 0.3s;
      -o-transition-timing-function: linear;
      transition-property: top, background-color, opacity;
      transition-duration: 0.3s;
      transition-timing-function: linear; }
      header nav:after {
        height: 0;
        display: none; }
      header nav a {
        display: block;
        margin: 0 0 20px; }
        header nav a:after {
          width: 40px;
          left: 50%;
          right: auto;
          bottom: 5px;
          margin-left: -20px; }
    header .subnav {
      visibility: hidden;
      display: none;
      height: 0; }
    header .menu-btn {
      display: block; }
    header.menu-open nav {
      top: 0;
      margin: 0;
      opacity: 1;
      pointer-events: auto;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      justify-content: center; } }
  @media only screen and (max-width: 560px) {
    header h1 {
      width: 60px;
      height: 56px;
      margin: 20px 0 0; }
    header .menu-btn {
      top: 20px; } }
  @media only screen and (max-width: 440px) {
    header h1 {
      width: 50px;
      height: 46px;
      margin: 15px 0 0; }
    header .menu-btn {
      top: 15px;
      right: 20px; } }
  @media (max-height: 500px) {
    header nav {
      line-height: 45px; }
      header nav a {
        margin: 0; } }

header.fixed-header {
  background: #1a2f4d;
  -webkit-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.3); }
  header.fixed-header h1, header.fixed-header nav {
    margin: 0; }
  header.fixed-header h1 {
    width: 72px;
    height: 69px;
    margin: 20px 0 0; }
  header.fixed-header nav {
    line-height: 90px; }
  @media only screen and (max-width: 620px) {
    header.fixed-header h1 {
      width: 50px;
      height: 48px; } }

body.plain-header header {
  background: #1a2f4d; }

body.about a.about-link:after, body.capabilities a.capabilities-link:after, body.standards a.standards-link:after,
body.careers a.careers-link:after, body.news a.news-link:after, body.contact a.contact-link:after {
  height: 3px; }

.block-container {
  font-size: 0;
  margin-left: -1.5%;
  margin-right: -1.5%; }
  .block-container .block {
    display: inline-block;
    vertical-align: top;
    padding: 0 1.5%; }
    .block-container .block.no-padding {
      padding: 0; }
    .block-container .block.two {
      width: 50%; }
    .block-container .block.three {
      width: 33.3333333%; }
      .block-container .block.three.two {
        width: 66.6666666%; }
    .block-container .block.four {
      width: 25%; }
      .block-container .block.four.three {
        width: 75%; }
    .block-container .block.five {
      width: 20%; }
      .block-container .block.five.two {
        width: 40%; }
      .block-container .block.five.three {
        width: 60%; }
      .block-container .block.five.four {
        width: 80%; }
    .block-container .block.six {
      width: 16.666666%; }
      .block-container .block.six.two {
        width: 33.333333%; }
      .block-container .block.six.four {
        width: 66.666666%; }
      .block-container .block.six.five {
        width: 83.333333%; }
    .block-container .block.eight {
      width: 12.5%; }
      .block-container .block.eight.three {
        width: 37.5%; }
      .block-container .block.eight.five {
        width: 62.5%; }
      .block-container .block.eight.seven {
        width: 87.5%; }
    .block-container .block.ten {
      width: 10%; }
      .block-container .block.ten.three {
        width: 30%; }
      .block-container .block.ten.seven {
        width: 70%; }
      .block-container .block.ten.nine {
        width: 90%; }
    .block-container .block.first {
      padding-left: 0; }
    .block-container .block.last {
      padding-right: 0; }

footer {
  padding: 40px 0 0;
  background: #1a2f4d;
  color: #fff;
  text-align: left; }
  footer h1 {
    float: left;
    font-size: 18px;
    line-height: 20px;
    letter-spacing: 0.08em; }
    footer h1 span {
      display: block;
      color: #2dc4f1; }
    @media only screen and (max-width: 768px) {
      footer h1 {
        font-size: 15px;
        line-height: 16px;
        letter-spacing: 0.06em; } }
    @media only screen and (max-width: 480px) {
      footer h1 {
        float: none;
        text-align: center;
        margin: 0 auto 20px; } }
  footer a {
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out; }
    footer a:hover {
      opacity: .7; }
  footer .social {
    float: right;
    padding: 0 14px 0 24px;
    border: 1px solid #fff;
    font-size: 10px;
    line-height: 18px;
    text-transform: uppercase; }
    footer .social span {
      display: inline-block;
      margin: 0 98px 0 0;
      position: relative;
      top: 1px; }
    footer .social a {
      display: inline-block;
      padding: 6px 10px; }
    footer .social i {
      font-size: 18px;
      vertical-align: middle; }
      footer .social i.icon-twitter {
        font-size: 20px; }
    @media only screen and (max-width: 768px) {
      footer .social {
        padding: 0 4px 0 10px; }
        footer .social span {
          margin: 0 10px 0 0; } }
    @media only screen and (max-width: 480px) {
      footer .social {
        float: none;
        width: 154px;
        margin: 0 auto 30px; } }
  footer .logos {
    display: flex;
    align-items: center; }
    footer .logos img {
      display: inline-block;
      margin: 0 15px; }
    @media only screen and (max-width: 1100px) {
      footer .logos img {
        margin: 0 5px; } }
    @media only screen and (max-width: 990px) {
      footer .logos {
        order: 3;
        width: 100%;
        justify-content: center;
        margin: 40px 0 0; }
        footer .logos img {
          margin: 0 20px; } }
    @media only screen and (max-width: 480px) {
      footer .logos {
        flex-wrap: wrap; }
        footer .logos img {
          margin: 10px; } }
  footer #footerMiddle {
    padding: 22px 0 0;
    font-size: 14px;
    line-height: 16px;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #485870; }
    @media only screen and (max-width: 990px) {
      footer #footerMiddle {
        flex-wrap: wrap; } }
    @media only screen and (max-width: 768px) {
      footer #footerMiddle {
        text-align: center; }
        footer #footerMiddle .contact {
          margin-top: 10px; } }
  footer #footerBottom {
    margin: 94px 0 0;
    border-top: 1px solid #485870;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 10px;
    line-height: 45px; }
    footer #footerBottom a {
      display: inline-block; }
      footer #footerBottom a:first-of-type {
        margin-right: 100px; }
    footer #footerBottom span {
      float: right;
      text-align: right; }
      footer #footerBottom span a {
        margin: 0 !important; }
      footer #footerBottom span.link {
        opacity: 0.6; }
    @media only screen and (max-width: 990px) {
      footer #footerBottom {
        margin: 40px 0 0; } }
    @media only screen and (max-width: 870px) {
      footer #footerBottom {
        padding: 10px 0;
        text-align: center;
        line-height: 14px; }
        footer #footerBottom a, footer #footerBottom a:first-of-type {
          margin: 10px; }
        footer #footerBottom span {
          float: none;
          text-align: center;
          display: inline-block;
          margin: 10px; } }
    @media only screen and (max-width: 320px) {
      footer #footerBottom {
        letter-spacing: 0; } }

#mainBanner {
  margin: -175px 0 0;
  width: 100%;
  padding-top: 56.25%;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  font-weight: bold; }
  #mainBanner:after {
    content: ' ';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: #000f19;
    opacity: .7;
    z-index: 0; }
  #mainBanner .container {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    padding: 150px 0 0;
    z-index: 1;
    height: 100%; }
  #mainBanner .text {
    position: relative;
    top: 50%;
    -webkit-transform: translateZ(0) translateY(-50%);
    -ms-transform: translateZ(0) translateY(-50%);
    transform: translateZ(0) translateY(-50%); }
  #mainBanner h2 {
    font-size: 23px;
    letter-spacing: 0.02em;
    line-height: 26px; }
    #mainBanner h2 span {
      display: block;
      color: #2dc4f1; }
  #mainBanner p, #mainBanner h1 {
    font-size: 48px;
    line-height: 52px;
    margin: 0;
    text-transform: none;
    letter-spacing: normal; }
  #mainBanner .down-btn {
    position: absolute;
    bottom: 70px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out; }
    #mainBanner .down-btn:hover {
      opacity: .7; }
    #mainBanner .down-btn h2 {
      font-size: 36px;
      line-height: 40px;
      margin: 0 0 15px; }
    #mainBanner .down-btn i {
      font-size: 52px; }
  #mainBanner.short {
    padding-top: 40%; }
  @media only screen and (max-width: 1400px) {
    #mainBanner .down-btn {
      bottom: 50px; }
      #mainBanner .down-btn h2 {
        font-size: 30px;
        line-height: 32px; }
      #mainBanner .down-btn i {
        font-size: 46px; } }
  @media only screen and (max-width: 1280px) {
    #mainBanner {
      margin: -140px 0 0; }
      #mainBanner .container {
        padding: 130px 30px 0; } }
  @media only screen and (max-width: 1160px) {
    #mainBanner .container {
      padding: 150px 30px 0; } }
  @media only screen and (max-width: 1140px) {
    #mainBanner p, #mainBanner h1 {
      font-size: 42px;
      line-height: 46px; } }
  @media only screen and (max-width: 1024px) {
    #mainBanner .container {
      padding: 100px 30px 0; }
    #mainBanner p, #mainBanner h1 {
      font-size: 38px;
      line-height: 42px; }
    #mainBanner .down-btn {
      bottom: 30px; }
      #mainBanner .down-btn h2 {
        font-size: 26px;
        line-height: 28px; }
      #mainBanner .down-btn i {
        font-size: 40px; } }
  @media only screen and (max-width: 900px) {
    #mainBanner {
      height: auto;
      padding: 0;
      margin: -112px 0 0; }
      #mainBanner.short {
        padding: 0; }
      #mainBanner .container {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        padding: 130px 30px 50px; }
        #mainBanner .container .text {
          -webkit-transform: none;
          -moz-transform: none;
          -ms-transform: none;
          transform: none; }
      #mainBanner h2 {
        font-size: 18px;
        line-height: 22px; }
      #mainBanner p, #mainBanner h1 {
        font-size: 32px;
        line-height: 34px; }
      #mainBanner .down-btn h2 {
        font-size: 20px;
        line-height: 22px; }
      #mainBanner .down-btn i {
        font-size: 34px; } }
  @media only screen and (max-width: 768px) {
    #mainBanner p, #mainBanner h1 {
      font-size: 28px;
      line-height: 30px; } }
  @media only screen and (max-width: 560px) {
    #mainBanner h2 {
      font-size: 15px;
      line-height: 16px;
      margin: 0 0 20px; }
    #mainBanner p, #mainBanner h1 {
      font-size: 24px;
      line-height: 26px; } }

section {
  padding: 70px 0; }
  section.more-padding {
    padding: 190px 0; }
    @media only screen and (max-width: 1200px) {
      section.more-padding {
        padding: 120px 0; } }
    @media only screen and (max-width: 1024px) {
      section.more-padding {
        padding: 70px 0; } }
  section.blue {
    background: #1a2f4d;
    color: #fff; }
  section.dark-blue {
    background: #0d2240;
    color: #fff; }
  section.grey {
    background: #dcd8d6;
    color: #1a2f4d; }
  section.caps {
    text-transform: uppercase; }
  section.mesh-bg {
    background: #dcd8d6 url(../img/backgrounds/mesh-bg.png) no-repeat center;
    background-size: cover; }
    section.mesh-bg.ratio-169 {
      background-image: url(../img/backgrounds/mesh-bg-big.png); }
  section.fixed-height {
    height: 455px;
    padding: 0;
    overflow: visible; }
    section.fixed-height .shadow-box {
      margin: -50px;
      padding: 80px 150px; }
    section.fixed-height + section {
      padding-top: 140px; }
    @media only screen and (max-width: 1280px) {
      section.fixed-height .shadow-box {
        margin: -50px 0;
        padding: 70px 80px; } }
    @media only screen and (max-width: 1200px) {
      section.fixed-height {
        height: 390px; }
        section.fixed-height + section {
          padding-top: 100px; } }
    @media only screen and (max-width: 900px) {
      section.fixed-height {
        height: auto; }
        section.fixed-height .shadow-box {
          margin: 30px 0;
          padding: 50px 60px; }
        section.fixed-height + section {
          padding-top: 30px; } }
    @media only screen and (max-width: 768px) {
      section.fixed-height .shadow-box {
        padding: 45px 50px 40px; } }
    @media only screen and (max-width: 640px) {
      section.fixed-height .shadow-box {
        padding: 35px 40px 30px; } }
    @media only screen and (max-width: 360px) {
      section.fixed-height .shadow-box {
        padding: 30px 25px 25px; } }
  section.rotating-bg, section.flex-content {
    padding: 0; }
  section.bg {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; }
  section.bold {
    font-weight: bold; }
  section.link-about {
    padding: 125px 0 145px; }
    section.link-about .container {
      padding-left: 100px;
      padding-right: 100px; }
  section.video {
    padding: 0;
    position: relative; }
    section.video:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 37.5%; }
    section.video > .content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    section.video .content {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 1; }
    section.video .video-src {
      display: none; }
    section.video iframe {
      position: absolute;
      display: block;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      -webkit-transition: opacity 0.3s linear;
      -moz-transition: opacity 0.3s linear;
      -ms-transition: opacity 0.3s linear;
      -o-transition: opacity 0.3s linear;
      transition: opacity 0.3s linear;
      z-index: 0; }
    section.video span {
      font-size: 24px;
      font-weight: bold;
      color: #fff;
      text-shadow: 0 0 30px rgba(0, 0, 0, 0.85); }
    section.video.iframe-active iframe {
      opacity: 1; }
    @media only screen and (max-width: 480px) {
      section.video {
        position: relative; }
        section.video:before {
          display: block;
          content: "";
          width: 100%;
          padding-top: 56.25%; }
        section.video > .content {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; } }
  @media only screen and (min-width: 768px) {
    section.ratio-169 {
      position: relative; }
      section.ratio-169:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 56.25%; }
      section.ratio-169 > .content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; } }
  section.ratio-169 .content {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center; }
  section.border-top {
    padding-top: 0; }
    section.border-top .container {
      border-top: 1px solid #a9a8a9;
      padding-top: 70px; }
  @media only screen and (max-width: 1024px) {
    section {
      padding: 50px 0; }
      section.link-about {
        padding: 80px 0; }
        section.link-about .container {
          padding-left: 80px;
          padding-right: 80px; }
      section.video .play-btn {
        width: 150px;
        height: 150px; }
      section.border-top .container {
        padding-top: 50px; } }
  @media only screen and (max-width: 768px) {
    section.link-about {
      padding: 50px 0; }
    section.video .play-btn {
      width: 100px;
      height: 100px; } }
  @media only screen and (max-width: 560px) {
    section {
      padding: 30px 0; }
      section.link-about {
        padding: 0; }
        section.link-about .container {
          padding: 40px; }
      section.border-top .container {
        padding-top: 30px; } }
  @media only screen and (max-width: 460px) {
    section.link-about .container {
      padding: 30px 20px; } }

body.complete-supply section.bg {
  background-position: center top; }

.rotating-bg {
  position: relative; }
  .rotating-bg .shadow-box {
    background: rgba(255, 255, 255, 0.7); }
    .rotating-bg .shadow-box .btn {
      margin-top: 30px; }
  .rotating-bg .content .container {
    margin: 0; }
  .rotating-bg .background div {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    color: transparent;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: none;
    opacity: 0;
    z-index: 0;
    animation: imageAnimation 12s linear infinite 0s; }
    .rotating-bg .background div:nth-of-type(1) {
      background-image: url(../img/backgrounds/cnc-machining-1.jpg); }
    .rotating-bg .background div:nth-of-type(2) {
      background-image: url(../img/backgrounds/cnc-machining-2.jpg);
      animation-delay: 6s; }
    .rotating-bg .background div:nth-of-type(3) {
      background-image: url(../img/backgrounds/cnc-machining-3.jpg);
      animation-delay: 12s; }
  @media only screen and (max-width: 1260px) {
    .rotating-bg .container {
      padding: 0 80px; }
    .rotating-bg .shadow-box {
      padding: 70px 50px; } }
  @media only screen and (max-width: 1024px) {
    .rotating-bg .shadow-box {
      padding: 50px; } }
  @media only screen and (max-width: 768px) {
    .rotating-bg .container {
      padding: 50px; } }
  @media only screen and (max-width: 540px) {
    .rotating-bg .container {
      padding: 30px; }
    .rotating-bg .shadow-box {
      padding: 40px 30px 30px; } }
  @media only screen and (max-width: 460px) {
    .rotating-bg .container {
      padding: 30px 10px; } }

@keyframes imageAnimation {
  0% {
    opacity: 0;
    animation-timing-function: ease-in; }
  25% {
    opacity: 1;
    animation-timing-function: ease-out; }
  51% {
    opacity: 1; }
  60% {
    opacity: 0; }
  100% {
    opacity: 0; } }
.flex-content.two-col > div {
  width: 50%;
  max-height: 480px; }
.flex-content.two-col .text {
  padding: 120px 40px; }
  .flex-content.two-col .text h3 {
    text-transform: uppercase;
    max-width: 570px;
    margin: 0 auto 30px; }
  .flex-content.two-col .text p {
    max-width: 570px;
    margin: 0 auto 30px; }
    .flex-content.two-col .text p:last-of-type {
      margin-bottom: 0; }
.flex-content.two-col .mesh-bg {
  background: url(../img/backgrounds/mesh-bg-square.png) no-repeat center/cover; }
.flex-content.two-col .shadow-box {
  padding: 50px 80px; }
.flex-content.two-col .img {
  flex-grow: 1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative; }
  .flex-content.two-col .img .btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
.flex-content.two-col.square > div {
  max-height: 960px; }
.flex-content.two-col.square .text {
  padding: 120px; }
.flex-content.two-col.bold .shadow-box {
  font-weight: bold; }
@media only screen and (max-width: 1600px) {
  .flex-content.two-col.square .text {
    padding: 70px; } }
@media only screen and (max-width: 1366px) {
  .flex-content.two-col.square .text {
    font-size: 20px;
    line-height: 26px; } }
@media only screen and (max-width: 1200px) {
  .flex-content.two-col.square .text, .flex-content.two-col.square .shadow-box {
    padding: 50px; } }
@media only screen and (max-width: 1024px) {
  .flex-content.two-col .text {
    padding: 80px 40px; }
  .flex-content.two-col.square .text {
    font-size: 18px;
    line-height: 24px; } }
@media (min-width: 769px) and (max-width: 1024px) {
  .flex-content.two-col.square > div:nth-of-type(1) {
    width: 60%; }
  .flex-content.two-col.square > div:nth-of-type(2) {
    width: 40%; } }
@media only screen and (max-width: 900px) {
  .flex-content.two-col .text {
    width: 56%; }
  .flex-content.two-col .img {
    width: 44%; } }
@media only screen and (max-width: 768px) {
  .flex-content.two-col .text {
    width: 100%;
    padding: 60px 40px; }
  .flex-content.two-col .img {
    width: 100%;
    height: 250px; } }
@media only screen and (max-width: 640px) {
  .flex-content.two-col.square .text {
    padding: 40px 30px;
    font-size: 16px;
    line-height: 20px; }
  .flex-content.two-col.square .shadow-box {
    padding: 35px 40px 30px; } }
@media only screen and (max-width: 420px) {
  .flex-content.two-col.square .text {
    padding: 30px 20px; }
  .flex-content.two-col.square .shadow-box {
    padding: 25px; } }

.flex-content.three-col {
  justify-content: space-between; }
  .flex-content.three-col > div {
    width: 33.333%;
    padding: 0 10px;
    max-width: 358px; }
  @media only screen and (max-width: 768px) {
    .flex-content.three-col > div {
      width: 100%;
      max-width: none;
      margin: 0 0 40px; } }

section.contact {
  text-transform: uppercase;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.04em; }
  section.contact .btn {
    display: block;
    margin: 50px auto 0; }
  @media only screen and (max-width: 1024px) {
    section.contact .btn {
      margin: 30px auto 0; } }
  @media only screen and (max-width: 460px) {
    section.contact {
      text-transform: none; }
      section.contact .btn {
        margin: 15px auto 0; } }

.alternate-layout .row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 0 30px; }
  .alternate-layout .row div {
    width: calc(50% - 15px);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
  .alternate-layout .row:nth-of-type(even) {
    flex-direction: row-reverse; }
.alternate-layout .img img {
  display: block;
  width: 100%; }
.alternate-layout .text {
  padding: 30px 0;
  border-top: 1px solid #a9a8a9;
  border-bottom: 1px solid #a9a8a9;
  font-size: 18px;
  line-height: 22px; }
  .alternate-layout .text p {
    max-width: 450px;
    margin: 0 auto 30px; }
.alternate-layout h2 {
  max-width: 100%;
  font-size: 24px;
  line-height: 26px;
  margin: 0 0 20px;
  letter-spacing: 0.08em; }
@media only screen and (max-width: 900px) {
  .alternate-layout .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .alternate-layout .row, .alternate-layout .row:nth-of-type(even) {
    flex-direction: column-reverse; }
  .alternate-layout .row {
    width: calc(50% - 10px); }
    .alternate-layout .row div {
      width: 100%; }
    .alternate-layout .row .text {
      flex-grow: 1;
      justify-content: flex-start; }
  .alternate-layout .text {
    padding: 30px 0;
    border-top: none;
    font-size: 16px;
    line-height: 20px; }
    .alternate-layout .text p {
      max-width: none;
      margin: 0 0 20px; }
    .alternate-layout .text .btn {
      justify-self: flex-end; }
  .alternate-layout h2 {
    font-size: 20px;
    line-height: 22px;
    margin: 0 0 14px; } }
@media only screen and (max-width: 670px) {
  .alternate-layout .container {
    display: block; }
  .alternate-layout .row {
    width: 100%; } }

.discover {
  height: 480px;
  background: url(../img/backgrounds/capabilities-ad-3.jpg) no-repeat center/cover; }
  .discover .container {
    height: 100%; }
  .discover .content {
    position: relative;
    top: 50%;
    -webkit-transform: translateZ(0) translateY(-50%);
    -ms-transform: translateZ(0) translateY(-50%);
    transform: translateZ(0) translateY(-50%); }
  .discover h2 {
    margin: 0 0 70px;
    font-size: 36px;
    line-height: 38px;
    letter-spacing: 0.08em; }
  .discover .btn {
    line-height: 63px;
    font-size: 24px;
    letter-spacing: 0.01em; }
  @media only screen and (max-width: 1024px) {
    .discover {
      height: 380px; }
      .discover h2 {
        font-size: 28px;
        line-height: 30px;
        margin: 0 0 40px; }
      .discover .btn {
        font-size: 18px;
        line-height: 43px; } }
  @media only screen and (max-width: 768px) {
    .discover {
      height: 300px; }
      .discover h2 {
        font-size: 24px;
        line-height: 28px;
        margin: 0 0 30px;
        letter-spacing: 0.04em; } }
  @media only screen and (max-width: 480px) {
    .discover {
      height: 200px; }
      .discover h2 {
        font-size: 18px;
        line-height: 22px;
        margin: 0 0 20px; }
      .discover .btn {
        font-size: 16px; } }

.clients-carousel {
  border-top: 1px solid #485870;
  border-bottom: 1px solid #485870;
  padding: 64px 120px 64px 80px;
  text-align: left; }
  .clients-carousel.slick-initialized .slick-slide {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 460px) {
      .clients-carousel.slick-initialized .slick-slide {
        flex-direction: column; } }
  .clients-carousel .client .img {
    width: 180px;
    overflow: hidden; }
    .clients-carousel .client .img img {
      margin: 0 auto;
      max-width: 100%; }
  .clients-carousel .client .text {
    flex-grow: 1;
    padding: 0 0 0 50px; }
    .clients-carousel .client .text span {
      display: block;
      color: #2dc4f1;
      font-weight: normal; }
  .clients-carousel .slick-prev {
    left: 0; }
  .clients-carousel .slick-next {
    right: 0; }
  @media only screen and (max-width: 900px) {
    .clients-carousel {
      padding: 34px 40px 34px 40px; }
      .clients-carousel .client .text {
        padding: 0 20px; } }
  @media only screen and (max-width: 768px) {
    .clients-carousel .client .img {
      width: 100px;
      margin: 0 10px; } }
  @media only screen and (max-width: 580px) {
    .clients-carousel {
      padding: 30px 0;
      border-bottom: none; } }
  @media only screen and (max-width: 460px) {
    .clients-carousel {
      text-align: center; }
      .clients-carousel .client .img {
        width: 80px;
        margin: 0 auto 20px; }
      .clients-carousel .client .text {
        padding: 0; } }

.clients-carousel .icon-arrow-left, .clients-carousel .icon-arrow-right, .capabilities-carousel .icon-arrow-left, .capabilities-carousel .icon-arrow-right {
  font-size: 26px;
  color: #fff; }
.clients-carousel .slick-prev, .clients-carousel .slick-next, .capabilities-carousel .slick-prev, .capabilities-carousel .slick-next {
  z-index: 2; }
  .clients-carousel .slick-prev:before, .clients-carousel .slick-next:before, .capabilities-carousel .slick-prev:before, .capabilities-carousel .slick-next:before {
    content: ' ';
    display: none; }

.carousel .slick-dots li button {
  width: 16px;
  height: 16px;
  border: 1px solid #fff;
  border-radius: 10px; }
  .carousel .slick-dots li button:before {
    content: ' ';
    width: 10px;
    height: 10px;
    top: 3px;
    left: 3px;
    border-radius: 10px;
    background: #2dc4f1;
    opacity: 0; }
.carousel .slick-dots li.slick-active button:before {
  opacity: 1 !important; }
@media only screen and (max-width: 1024px) {
  .carousel .slick-dots li button {
    width: 14px;
    height: 14px; }
    .carousel .slick-dots li button:before {
      width: 8px;
      height: 8px; } }
@media only screen and (max-width: 768px) {
  .carousel .slick-dots li {
    width: 16px;
    height: 16px; } }
@media only screen and (max-width: 360px) {
  .carousel .slick-dots li {
    width: 12px;
    height: 12px; }
    .carousel .slick-dots li button {
      width: 12px;
      height: 12px; }
      .carousel .slick-dots li button:before {
        width: 6px;
        height: 6px; } }

.testimonials-carousel {
  line-height: 28px; }
  .testimonials-carousel.slick-dotted.slick-slider {
    margin-bottom: 60px; }
  @media only screen and (max-width: 768px) {
    .testimonials-carousel {
      line-height: inherit; }
      .testimonials-carousel.slick-dotted.slick-slider {
        margin-bottom: 40px; } }
  .testimonials-carousel .slick-dots {
    bottom: -60px; }
    @media only screen and (max-width: 768px) {
      .testimonials-carousel .slick-dots {
        bottom: -30px; } }
  .testimonials-carousel .testimonial {
    position: relative;
    padding: 80px; }
    .testimonials-carousel .testimonial:before, .testimonials-carousel .testimonial:after {
      content: ' ';
      display: block;
      width: 54px;
      height: 36px;
      position: absolute;
      background-repeat: no-repeat;
      background-size: 100% auto; }
    .testimonials-carousel .testimonial:before {
      background-image: url(../img/graphics/opening-quotes-blue.png);
      left: 0;
      top: 0; }
    .testimonials-carousel .testimonial:after {
      background-image: url(../img/graphics/closing-quotes-blue.png);
      right: 0;
      bottom: 0; }
    @media only screen and (max-width: 1200px) {
      .testimonials-carousel .testimonial {
        padding: 50px 100px; }
        .testimonials-carousel .testimonial:before {
          left: 20px;
          top: 20px; }
        .testimonials-carousel .testimonial:after {
          right: 20px;
          bottom: 20px; } }
    @media only screen and (max-width: 1024px) {
      .testimonials-carousel .testimonial {
        padding: 30px 100px; }
        .testimonials-carousel .testimonial:before, .testimonials-carousel .testimonial:after {
          width: 42px;
          height: 28px; } }
    @media only screen and (max-width: 768px) {
      .testimonials-carousel .testimonial {
        padding: 30px 50px; }
        .testimonials-carousel .testimonial:before, .testimonials-carousel .testimonial:after {
          width: 28px;
          height: 19px; }
        .testimonials-carousel .testimonial:before {
          left: 0; }
        .testimonials-carousel .testimonial:after {
          right: 0; } }
    @media only screen and (max-width: 640px) {
      .testimonials-carousel .testimonial {
        padding: 20px 40px; }
        .testimonials-carousel .testimonial:before, .testimonials-carousel .testimonial:after {
          width: 20px;
          height: 13px; } }
    @media only screen and (max-width: 360px) {
      .testimonials-carousel .testimonial {
        padding: 20px; }
        .testimonials-carousel .testimonial:before, .testimonials-carousel .testimonial:after {
          width: 16px;
          height: 11px; }
        .testimonials-carousel .testimonial:before {
          top: 0; }
        .testimonials-carousel .testimonial:after {
          bottom: 0; } }

.capabilities-carousel .icon-arrow-left, .capabilities-carousel .icon-arrow-right {
  color: #55565a; }
.capabilities-carousel .item {
  position: relative;
  overflow: hidden;
  padding: 10px; }
  .capabilities-carousel .item .btn {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .capabilities-carousel .item > a {
    display: inline-block; }
  .capabilities-carousel .item img {
    display: block;
    width: 100%; }
.capabilities-carousel.carousel .slick-dots li button {
  border-color: #1a2f4d; }
  .capabilities-carousel.carousel .slick-dots li button:before {
    background: #1a2f4d; }
@media only screen and (max-width: 1024px) {
  .capabilities-carousel .item .btn {
    width: 240px; } }
@media only screen and (max-width: 768px) {
  .capabilities-carousel .slick-next {
    right: -20px; }
  .capabilities-carousel .slick-prev {
    left: -20px; } }
@media only screen and (max-width: 600px) {
  .capabilities-carousel .slick-next {
    right: -30px; }
  .capabilities-carousel .slick-prev {
    left: -30px; } }
@media only screen and (max-width: 480px) {
  .capabilities-carousel .btn {
    padding-left: 0;
    padding-right: 0; } }

.news-row .block-container {
  margin: 0 0 45px; }
.news-row .img {
  width: 100%;
  position: relative;
  overflow: hidden;
  background: #fff; }
  .news-row .img:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 60%; }
  .news-row .img > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  .news-row .img img {
    display: block;
    width: 100%; }
  .news-row .img a {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: 100%; }
    .news-row .img a:hover img {
      opacity: .8; }
.news-row h3 {
  font-size: 24px;
  line-height: 28px;
  letter-spacing: 0.08em;
  margin: 28px 10px; }
.news-row .block.two h3 {
  margin: 28px 50px; }
@media only screen and (max-width: 1024px) {
  .news-row h3 {
    font-size: 20px;
    line-height: 22px;
    letter-spacing: 0.04em;
    margin: 20px 10px; }
  .news-row .block.two h3 {
    font-size: 22px;
    line-height: 24px;
    margin: 20px 30px; } }
@media only screen and (max-width: 768px) {
  .news-row h3 {
    font-size: 18px;
    line-height: 20px;
    letter-spacing: 0.04em;
    margin: 15px 5px; }
  .news-row .block.two h3 {
    margin: 15px 10px; } }
@media only screen and (max-width: 690px) {
  .news-row .block.three {
    width: 100%;
    padding: 0;
    margin: 0 0 40px; } }
@media only screen and (max-width: 520px) {
  .news-row .block-container {
    margin: 0; }
    .news-row .block-container .block.two {
      width: 100%;
      padding: 0;
      margin: 0 0 40px; } }

body.capabilities #mainBanner .container {
  padding-bottom: 130px; }
@media only screen and (max-width: 1400px) {
  body.capabilities #mainBanner p, body.capabilities #mainBanner h1 {
    font-size: 38px;
    line-height: 42px; } }
@media only screen and (max-width: 1160px) {
  body.capabilities #mainBanner .container {
    padding-bottom: 150px; }
  body.capabilities #mainBanner p, body.capabilities #mainBanner h1 {
    font-size: 34px;
    line-height: 36px;
    margin: 0 40px; } }
@media only screen and (max-width: 1024px) {
  body.capabilities #mainBanner .container {
    padding-bottom: 100px; }
  body.capabilities #mainBanner p, body.capabilities #mainBanner h1 {
    font-size: 30px;
    line-height: 32px; } }
@media only screen and (max-width: 900px) {
  body.capabilities #mainBanner .container {
    padding-bottom: 160px; }
  body.capabilities #mainBanner p, body.capabilities #mainBanner h1 {
    font-size: 24px;
    line-height: 28px; } }
@media only screen and (max-width: 640px) {
  body.capabilities #mainBanner .container {
    padding-bottom: 140px; }
  body.capabilities #mainBanner p, body.capabilities #mainBanner h1 {
    margin: 0 20px;
    font-size: 18px;
    line-height: 22px; } }

.capabilities-overview + section {
  padding: 0 0 70px; }

section.blue.client-testimonials {
  padding: 150px 0 90px; }
  @media only screen and (max-width: 1200px) {
    section.blue.client-testimonials {
      padding: 100px 0 80px; } }
  @media only screen and (max-width: 1160px) {
    section.blue.client-testimonials {
      padding: 60px 0 50px; } }
  @media only screen and (max-width: 768px) {
    section.blue.client-testimonials {
      padding: 40px 0 30px; } }
  @media only screen and (max-width: 360px) {
    section.blue.client-testimonials {
      padding: 20px 0; } }

#fabricationCapabilities li {
  text-transform: uppercase;
  font-weight: bold; }

#faroInspection p {
  font-size: 18px;
  line-height: 20px;
  letter-spacing: 0;
  max-width: 720px;
  margin: 0 auto 24px; }
  #faroInspection p:last-of-type {
    margin-bottom: 0; }
#faroInspection .block-container {
  margin: 50px auto; }
#faroInspection .block {
  max-width: 270px;
  margin: 0 25px; }
  #faroInspection .block img {
    width: 61px; }
@media only screen and (max-width: 1160px) {
  #faroInspection .shadow-box {
    padding: 80px 30px; } }
@media only screen and (max-width: 1080px) {
  #faroInspection .block-container {
    margin: 40px auto 10px; }
  #faroInspection .block.three {
    width: 50%;
    max-width: 280px;
    margin-bottom: 30px; } }
@media only screen and (max-width: 780px) {
  #faroInspection p {
    font-size: 16px;
    line-height: 18px; }
  #faroInspection .block.three {
    width: 100%;
    max-width: 300px;
    margin-left: 0;
    margin-right: 0; } }
@media only screen and (max-width: 480px) {
  #faroInspection {
    padding: 0; }
    #faroInspection .container {
      padding: 0; }
    #faroInspection .shadow-box {
      padding: 40px 20px; }
    #faroInspection .block img {
      width: 41px; }
    #faroInspection .block.three {
      width: 100%;
      max-width: none; } }

#workshop {
  padding: 0 0 60px; }
  #workshop .flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }
  @media only screen and (max-width: 860px) {
    #workshop {
      padding: 0; } }

#workshopMap {
  min-width: 1096px;
  padding: 50px 30px 0; }
  #workshopMap .container, #workshopMap .map-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0; }
  #workshopMap .map-container {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media only screen and (max-width: 860px) {
      #workshopMap .map-container {
        flex-direction: column-reverse; } }
  #workshopMap h3 {
    width: 100%;
    text-transform: uppercase;
    text-align: left;
    padding: 0 0 30px;
    margin: 0 0 35px;
    border-bottom: 1px solid #a9a8a9; }
    #workshopMap h3 span {
      font-size: 50%;
      font-weight: 400; }
  #workshopMap .map {
    width: 1036px;
    height: 480px;
    margin: 0 auto;
    background: url(../img/capabilities/workshop/map.png) no-repeat left top/100% auto; }
  #workshopMap .left-room {
    width: 365px;
    height: 100%;
    float: left;
    position: relative; }
  #workshopMap .hotspot {
    position: absolute;
    display: block;
    width: 54px;
    height: 54px;
    background-repeat: no-repeat;
    background-size: 100% auto;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    -ms-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out; }
    #workshopMap .hotspot:after {
      content: attr(data-name);
      opacity: 0;
      visibility: hidden;
      text-transform: uppercase;
      background: #3f5676;
      color: #fff;
      padding: 12px 15px 10px;
      font-size: 15px;
      line-height: 18px;
      white-space: nowrap;
      font-weight: bold;
      position: absolute;
      bottom: calc(100% + 5px);
      left: 50%;
      transform: translateX(-50%);
      letter-spacing: 0.04em;
      -webkit-transition: all 200ms ease-in-out;
      -moz-transition: all 200ms ease-in-out;
      -ms-transition: all 200ms ease-in-out;
      transition: all 200ms ease-in-out; }
      @media only screen and (max-width: 1260px) {
        #workshopMap .hotspot:after {
          font-size: 13px;
          line-height: 15px;
          padding: 10px 12px 8px; } }
      @media only screen and (max-width: 720px) {
        #workshopMap .hotspot:after {
          font-size: 11px;
          line-height: 13px;
          padding: 7px 12px 6px; } }
    #workshopMap .hotspot:hover:after {
      opacity: 1;
      visibility: visible; }
    @media only screen and (max-width: 540px) {
      #workshopMap .hotspot:hover:after {
        display: none;
        opacity: 0;
        visibility: hidden; } }
  #workshopMap [class^="lifting"], #workshopMap [class^="lifting-"], #workshopMap [class*=" lifting-"] {
    background-image: url(../img/capabilities/workshop/lifting.png); }
    #workshopMap [class^="lifting"].active, #workshopMap [class^="lifting-"].active, #workshopMap [class*=" lifting-"].active {
      background-image: url(../img/capabilities/workshop/lifting-active.png); }
  #workshopMap [class^="multi"], #workshopMap [class^="multi-"], #workshopMap [class*=" multi-"] {
    background-image: url(../img/capabilities/workshop/multi.png); }
    #workshopMap [class^="multi"].active, #workshopMap [class^="multi-"].active, #workshopMap [class*=" multi-"].active {
      background-image: url(../img/capabilities/workshop/multi-active.png); }
  #workshopMap [class^="turning"], #workshopMap [class^="turning-"], #workshopMap [class*=" turning-"] {
    background-image: url(../img/capabilities/workshop/turning.png); }
    #workshopMap [class^="turning"].active, #workshopMap [class^="turning-"].active, #workshopMap [class*=" turning-"].active {
      background-image: url(../img/capabilities/workshop/turning-active.png); }
  #workshopMap [class^="milling"], #workshopMap [class^="milling-"], #workshopMap [class*=" milling-"] {
    background-image: url(../img/capabilities/workshop/milling.png); }
    #workshopMap [class^="milling"].active, #workshopMap [class^="milling-"].active, #workshopMap [class*=" milling-"].active {
      background-image: url(../img/capabilities/workshop/milling-active.png); }
  #workshopMap .lifting-1 {
    left: 35px;
    top: 40px; }
  #workshopMap .multi-1 {
    top: 178px;
    left: 25px; }
  #workshopMap .multi-2 {
    top: 271px;
    left: 25px; }
  #workshopMap .turning-1 {
    top: 178px;
    left: 157px; }
  #workshopMap .milling-1 {
    top: 176px;
    right: 22px; }
  #workshopMap .right-room {
    width: 670px;
    height: 100%;
    float: left;
    position: relative; }
  #workshopMap .turning-2 {
    top: 24px;
    left: 24px; }
  #workshopMap .turning-3 {
    top: 24px;
    left: 117px; }
  #workshopMap .milling-2 {
    top: 24px;
    left: 212px; }
  #workshopMap .milling-3 {
    top: 24px;
    left: 306px; }
  #workshopMap .milling-4 {
    top: 24px;
    left: 402px; }
  #workshopMap .lifting-2 {
    top: 172px;
    right: 308px; }
  #workshopMap .milling-5 {
    top: 151px;
    right: 24px; }
  #workshopMap .turning-9 {
    top: 294px;
    right: 24px; }
  #workshopMap .turning-4 {
    bottom: 24px;
    left: 24px; }
  #workshopMap .turning-5 {
    bottom: 24px;
    left: 117px; }
  #workshopMap .turning-6 {
    bottom: 24px;
    left: 212px; }
  #workshopMap .turning-7 {
    bottom: 24px;
    left: 306px; }
  #workshopMap .turning-8 {
    bottom: 24px;
    left: 402px; }
  #workshopMap .multi-3 {
    bottom: 24px;
    right: 106px; }
  #workshopMap .legend {
    width: 142px; }
    #workshopMap .legend .box {
      padding: 20px 15px 10px;
      border: 1px solid #a9a8a9;
      text-align: center; }
      #workshopMap .legend .box span {
        display: block;
        margin: 0 0 30px;
        font-size: 17px;
        line-height: 20px; }
    #workshopMap .legend a, #workshopMap .legend .icon {
      display: block;
      margin: 0 auto 20px;
      padding: 50px 0 0;
      background-repeat: no-repeat;
      background-size: 40px auto;
      background-position: center top;
      font-size: 14px;
      line-height: 16px;
      text-transform: uppercase;
      vertical-align: middle; }
    @media only screen and (max-width: 1080px) {
      #workshopMap .legend {
        width: 128px; }
        #workshopMap .legend .box span {
          font-size: 15px;
          line-height: 18px; }
        #workshopMap .legend a, #workshopMap .legend .icon {
          padding: 40px 0 0;
          background-size: 30px auto;
          font-size: 13px; } }
    @media only screen and (max-width: 860px) {
      #workshopMap .legend {
        width: 100%;
        margin-top: 40px; }
        #workshopMap .legend .box {
          padding: 12px;
          text-align: left; }
          #workshopMap .legend .box span {
            display: inline-block;
            margin: 0; }
        #workshopMap .legend .keys {
          width: calc(100% - 120px);
          text-align: right;
          display: inline-block; }
        #workshopMap .legend a, #workshopMap .legend .icon {
          display: inline-block;
          margin: 0 5px;
          text-align: center; } }
    @media only screen and (max-width: 480px) {
      #workshopMap .legend {
        padding: 0;
        border: none; }
        #workshopMap .legend .box span, #workshopMap .legend .keys {
          display: block;
          width: 100%; }
        #workshopMap .legend .box {
          padding: 10px; }
          #workshopMap .legend .box span {
            font-size: 13px;
            margin: 0 0 15px; }
        #workshopMap .legend .keys {
          text-align: center; }
        #workshopMap .legend a, #workshopMap .legend .icon {
          margin: 0 12px;
          font-size: 11px;
          padding: 30px 0 0;
          background-size: 24px auto; } }

#workshopTarget {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(13, 34, 64, 0.8); }
  #workshopTarget .modal {
    position: absolute;
    width: 70%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }
  #workshopTarget .img, #workshopTarget .text {
    width: 50%; }
  #workshopTarget .img {
    background: #0d2240; }
    @media only screen and (min-width: 768px) {
      #workshopTarget .img {
        position: relative; }
        #workshopTarget .img:before {
          display: block;
          content: "";
          width: 100%;
          padding-top: 100%; }
        #workshopTarget .img > .content {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; }
        #workshopTarget .img img {
          position: absolute;
          top: 0;
          left: 0; } }
    #workshopTarget .img img {
      width: 100%; }
  #workshopTarget .text {
    background: #051120;
    padding: 25px;
    position: relative; }
    #workshopTarget .text .content {
      height: 100%;
      padding: 30px;
      border: 1px solid #2dc4f1;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; }
    #workshopTarget .text img {
      width: 105px;
      margin: 0 auto 35px; }
    #workshopTarget .text h4, #workshopTarget .text p {
      max-width: 100%; }
    #workshopTarget .text h4 {
      text-transform: uppercase;
      color: #2dc4f1;
      margin: 0 0 15px; }
    #workshopTarget .text p {
      margin: 0; }
  #workshopTarget .close-btn {
    position: absolute;
    right: -50px;
    top: 0; }

body.workshop-modal {
  overflow-y: hidden; }
  body.workshop-modal #workshopTarget {
    display: block; }

#highlySkilled .shadow-box {
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center; }
#highlySkilled .text {
  width: 50%;
  padding: 0 110px;
  align-content: center; }
#highlySkilled .img {
  width: 50%;
  overflow: hidden; }
  #highlySkilled .img img {
    width: 100%; }
@media only screen and (max-width: 1024px) {
  #highlySkilled .text {
    padding: 0 40px; } }
@media only screen and (max-width: 720px) {
  #highlySkilled .shadow-box {
    flex-direction: column; }
  #highlySkilled .text, #highlySkilled .img {
    width: 100%; }
  #highlySkilled .text {
    padding: 60px 40px; } }
@media only screen and (max-width: 460px) {
  #highlySkilled {
    padding: 0; }
    #highlySkilled .container {
      padding: 0; }
    #highlySkilled .shadow-box {
      box-shadow: none; } }
@media only screen and (max-width: 360px) {
  #highlySkilled .text {
    padding: 40px 20px; } }

@media only screen and (max-width: 1500px) {
  #workshopTarget {
        /*.img {
            &:before {
                display: none;
            }

            img {
                height: 200px;
                position: relative;
                object-fit: cover;
            }
        }*/ }
    #workshopTarget .text {
      flex: 1; }
      #workshopTarget .text .content h4 {
        font-size: 20px;
        line-height: 1.3; }
      #workshopTarget .text .content p {
        font-size: 18px;
        line-height: 1.3; }
      #workshopTarget .text img {
        width: 60px; } }
@media only screen and (max-width: 1260px) {
  #workshopMap {
    min-width: 0;
    width: 80%;
    margin: 0 auto;
    padding-bottom: 30px; }
    #workshopMap .map {
      width: 650px;
      height: 301px; }
    #workshopMap .left-room {
      width: 230px; }
    #workshopMap .right-room {
      width: 420px; }
    #workshopMap .hotspot {
      width: 38px;
      height: 38px; }
    #workshopMap .lifting-1 {
      left: 28px;
      top: 30px; }
    #workshopMap .multi-1 {
      top: 110px;
      left: 15px; }
    #workshopMap .multi-2 {
      top: 164px;
      left: 15px; }
    #workshopMap .turning-1 {
      top: 110px;
      left: 95px; }
    #workshopMap .milling-1 {
      top: 110px;
      right: 22px; }
    #workshopMap .turning-2 {
      top: 14px;
      left: 14px; }
    #workshopMap .turning-3 {
      top: 14px;
      left: 73px; }
    #workshopMap .milling-2 {
      top: 14px;
      left: 132px; }
    #workshopMap .milling-3 {
      top: 14px;
      left: 192px; }
    #workshopMap .milling-4 {
      top: 14px;
      left: 250px; }
    #workshopMap .lifting-2 {
      top: 102px;
      right: 198px; }
    #workshopMap .milling-5 {
      top: 90px;
      right: 14px; }
    #workshopMap .turning-9 {
      top: 184px;
      right: 14px; }
    #workshopMap .turning-4 {
      bottom: 14px;
      left: 14px; }
    #workshopMap .turning-5 {
      bottom: 14px;
      left: 73px; }
    #workshopMap .turning-6 {
      bottom: 14px;
      left: 132px; }
    #workshopMap .turning-7 {
      bottom: 14px;
      left: 192px; }
    #workshopMap .turning-8 {
      bottom: 14px;
      left: 250px; }
    #workshopMap .multi-3 {
      bottom: 14px;
      right: 66px; }

  #workshopTarget .modal {
    width: 80%; }
  #workshopTarget .text .content {
    padding: 20px; } }
@media only screen and (max-width: 1080px) {
  #workshopMap {
    width: 90%; }

  #workshopTarget .text .content h4 {
    font-size: 18px; }
  #workshopTarget .text .content p {
    font-size: 16px; } }
@media only screen and (max-width: 1024px) {
  #workshopTarget .modal {
    width: calc(100% - 40px); }
  #workshopTarget .text img {
    width: 40px;
    margin-bottom: 16px; }
  #workshopTarget .close-btn {
    right: 0;
    top: -50px; } }
@media only screen and (max-width: 960px) {
  #workshopMap {
    width: 100%; } }
@media only screen and (max-width: 768px) {
  #workshopTarget .modal {
    width: 500px;
    flex-direction: column; }
  #workshopTarget .img, #workshopTarget .text {
    width: 100%; }
  #workshopTarget .img {
    height: 300px; }
    #workshopTarget .img img {
      transform: translateY(-20%); }
  #workshopTarget .close-btn {
    top: 0; } }
@media only screen and (max-width: 720px) {
  #workshopMap h3 {
    font-size: 18px; }
  #workshopMap .map {
    width: 460px;
    height: 214px; }
  #workshopMap .left-room {
    width: 162px; }
  #workshopMap .right-room {
    width: 298px; }
  #workshopMap .hotspot {
    width: 24px;
    height: 24px; }
  #workshopMap .lifting-1 {
    left: 20px;
    top: 17px; }
  #workshopMap .multi-1 {
    top: 82px;
    left: 12px; }
  #workshopMap .multi-2 {
    top: 118px;
    left: 12px; }
  #workshopMap .turning-1 {
    top: 82px;
    left: 70px; }
  #workshopMap .milling-1 {
    top: 82px;
    right: 12px; }
  #workshopMap .turning-2 {
    top: 10px;
    left: 10px; }
  #workshopMap .turning-3 {
    top: 10px;
    left: 52px; }
  #workshopMap .milling-2 {
    top: 10px;
    left: 94px; }
  #workshopMap .milling-3 {
    top: 10px;
    left: 137px; }
  #workshopMap .milling-4 {
    top: 10px;
    left: 178px; }
  #workshopMap .lifting-2 {
    top: 78px;
    right: 137px; }
  #workshopMap .milling-5 {
    top: 72px;
    right: 10px; }
  #workshopMap .turning-9 {
    top: 134px;
    right: 10px; }
  #workshopMap .turning-4 {
    bottom: 10px;
    left: 10px; }
  #workshopMap .turning-5 {
    bottom: 10px;
    left: 52px; }
  #workshopMap .turning-6 {
    bottom: 10px;
    left: 94px; }
  #workshopMap .turning-7 {
    bottom: 10px;
    left: 137px; }
  #workshopMap .turning-8 {
    bottom: 10px;
    left: 178px; }
  #workshopMap .multi-3 {
    bottom: 10px;
    right: 45px; }

  #workshopTarget {
    flex-direction: column; }
    #workshopTarget .text, #workshopTarget .img {
      width: 100%; } }
@media only screen and (max-width: 640px) {
  #workshopMap {
    padding: 40px 20px 20px; }
    #workshopMap h3 {
      font-size: 16px;
      line-height: 20px; } }
@media only screen and (max-width: 540px) {
  #workshopTarget .modal {
    width: 380px; }
  #workshopTarget .img {
    height: 250px; } }
@media only screen and (max-width: 480px) {
  #workshopMap h3 {
    font-size: 18px; }
  #workshopMap .map {
    width: 300px;
    height: 140px; }
  #workshopMap .left-room {
    width: 106px; }
  #workshopMap .right-room {
    width: 194px; }
  #workshopMap .hotspot {
    width: 18px;
    height: 18px; }
  #workshopMap .lifting-1 {
    left: 11px;
    top: 12px; }
  #workshopMap .multi-1 {
    top: 50px;
    left: 5px; }
  #workshopMap .multi-2 {
    top: 77px;
    left: 5px; }
  #workshopMap .turning-1 {
    top: 50px;
    left: 40px; }
  #workshopMap .milling-1 {
    top: 50px;
    right: 12px; }
  #workshopMap .turning-2 {
    top: 6px;
    left: 6px; }
  #workshopMap .turning-3 {
    top: 6px;
    left: 35px; }
  #workshopMap .milling-2 {
    top: 6px;
    left: 64px; }
  #workshopMap .milling-3 {
    top: 6px;
    left: 92px; }
  #workshopMap .milling-4 {
    top: 6px;
    left: 118px; }
  #workshopMap .lifting-2 {
    top: 46px;
    right: 90px; }
  #workshopMap .milling-5 {
    top: 42px;
    right: 6px; }
  #workshopMap .turning-9 {
    top: 84px;
    right: 6px; }
  #workshopMap .turning-4 {
    bottom: 6px;
    left: 6px; }
  #workshopMap .turning-5 {
    bottom: 6px;
    left: 35px; }
  #workshopMap .turning-6 {
    bottom: 6px;
    left: 64px; }
  #workshopMap .turning-7 {
    bottom: 6px;
    left: 92px; }
  #workshopMap .turning-8 {
    bottom: 6px;
    left: 118px; }
  #workshopMap .multi-3 {
    bottom: 6px;
    right: 27px; }

  #workshopTarget {
    flex-direction: column; }
    #workshopTarget .text, #workshopTarget .img {
      width: 100%; } }
@media only screen and (max-width: 420px) {
  #workshopTarget .modal {
    width: auto;
    left: 10px;
    top: 10px;
    bottom: 10px;
    right: 10px;
    transform: none; }
  #workshopTarget .img {
    height: 250px; } }
@media only screen and (max-width: 330px) {
  #workshopMap {
    padding: 20px 10px 20px; } }
.standard-item {
  margin: 0 0 50px; }
  .standard-item h2 {
    border-bottom: 1px solid #485870;
    padding: 0 0 15px;
    margin: 0 0 50px; }
  .standard-item .flex-content {
    align-items: center; }
  .standard-item .img {
    max-width: 550px; }
    .standard-item .img img {
      width: 100%; }
  .standard-item .text {
    flex: 1;
    text-align: left;
    padding: 30px;
    font-size: 18px;
    line-height: 22px; }
    .standard-item .text p {
      margin: 0 0 22px; }
      .standard-item .text p:last-of-type {
        margin: 0; }
  @media only screen and (max-width: 1100px) {
    .standard-item .img {
      max-width: 400px; } }
  @media only screen and (max-width: 1024px) {
    .standard-item h2 {
      font-size: 26px;
      line-height: 30px;
      margin: 0 0 30px; }
    .standard-item .text {
      font-size: 16px;
      line-height: 20px; }
      .standard-item .text p {
        margin: 0 0 20px; } }
  @media only screen and (max-width: 768px) {
    .standard-item:last-of-type {
      margin: 0; }
    .standard-item .img {
      max-width: none;
      width: 100%;
      padding: 0 30px; } }
  @media only screen and (max-width: 640px) {
    .standard-item .img {
      padding: 0; }
    .standard-item .text {
      padding: 30px 0; } }
  @media only screen and (max-width: 480px) {
    .standard-item h2 {
      font-size: 22px;
      line-height: 24px;
      margin: 0 0 20px;
      padding: 0 0 10px; }
    .standard-item .text {
      padding: 20px 0; } }
  @media only screen and (max-width: 360px) {
    .standard-item h2 {
      font-size: 18px;
      line-height: 20px; }
    .standard-item .text {
      font-size: inherit;
      line-height: inherit; } }

.sponsorship .flex-content {
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -15px; }
.sponsorship .sponsor {
  margin: 0 15px 60px;
  width: calc(33.3333% - 30px);
  max-width: 358px; }
  .sponsorship .sponsor img {
    display: block;
    width: 100%; }
  .sponsorship .sponsor .text {
    margin: 20px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid #a9a8a9;
    font-size: 18px;
    line-height: 22px; }
@media only screen and (max-width: 1024px) {
  .sponsorship h2 {
    font-size: 26px;
    line-height: 30px; }
  .sponsorship .sponsor {
    margin: 0 10px 40px;
    width: calc(33.3333% - 20px); }
    .sponsorship .sponsor .text {
      font-size: 16px;
      line-height: 20px; } }
@media only screen and (max-width: 960px) {
  .sponsorship .sponsor {
    width: calc(50% - 20px); } }
@media only screen and (max-width: 768px) {
  .sponsorship .flex-content {
    flex-direction: row; } }
@media only screen and (max-width: 640px) {
  .sponsorship .flex-content {
    flex-direction: column;
    align-items: center;
    padding: 10px; }
  .sponsorship .sponsor {
    width: 100%;
    margin: 0 auto 40px; } }
@media only screen and (max-width: 360px) {
  .sponsorship .flex-content {
    padding: 0; }
  .sponsorship .sponsor .text {
    padding: 20px 10px 0;
    font-size: inherit;
    line-height: inherit; }
  .sponsorship h2 {
    font-size: 22px;
    line-height: 24px; } }

body.news #mainBanner .date {
  display: block;
  font-weight: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 80px; }
  body.news #mainBanner .date.blue {
    margin: 20px 0 80px;
    color: #14b3ea; }
  @media only screen and (max-width: 768px) {
    body.news #mainBanner .date {
      margin: 0 0 40px; } }
  @media only screen and (max-width: 460px) {
    body.news #mainBanner .date {
      margin: 0 0 20px; } }

body.news-article #mainBanner {
  min-height: 300px; }
  @media only screen and (max-width: 460px) {
    body.news-article #mainBanner {
      min-height: 200px; } }
body.news-article .news-row .container {
  padding: 45px 0 0;
  border-top: 1px solid #a9a8a9; }
@media only screen and (max-width: 680px) {
  body.news-article .block-container {
    margin: 0;
    padding: 0 60px; } }
@media only screen and (max-width: 480px) {
  body.news-article .block-container {
    padding: 0 30px; } }
@media only screen and (max-width: 420px) {
  body.news-article .block-container {
    padding: 0 20px; } }
@media only screen and (max-width: 360px) {
  body.news-article .block-container {
    padding: 0 10px; } }

.news-landing {
  font-size: 0;
  margin: 0 -15px; }
  .news-landing .col {
    display: inline-block;
    vertical-align: top;
    font-size: 21px;
    line-height: 25px;
    letter-spacing: 0.08em; }
    .news-landing .col:nth-of-type(1) {
      width: 70%; }
    .news-landing .col:nth-of-type(2) {
      width: 30%;
      max-width: 360px; }
  .news-landing .articles {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    margin-top: -15px; }
    .news-landing .articles p {
      font-size: 16px;
      line-height: 1.2;
      display: block;
      text-align: left; }
      .news-landing .articles p a {
        font-weight: bold; }
  .news-landing .article {
    width: calc(50% - 15px); }
  .news-landing .sidebar {
    text-align: left; }
    .news-landing .sidebar h3 {
      text-transform: uppercase;
      font-size: 21px;
      line-height: 24px;
      margin: 0 0 20px; }
    .news-landing .sidebar ul {
      border-top: 1px solid #a9a8a9;
      margin: 0; }
    .news-landing .sidebar li {
      padding: 17px 0 16px;
      border-bottom: 1px solid #a9a8a9; }
    .news-landing .sidebar aside {
      margin: 0 0 78px;
      font-size: 18px;
      line-height: 22px; }
  @media only screen and (max-width: 1024px) {
    .news-landing .col {
      display: block; }
      .news-landing .col:nth-of-type(1), .news-landing .col:nth-of-type(2) {
        width: 100%;
        max-width: none; }
    .news-landing .sidebar {
      font-size: 0;
      text-align: center;
      margin: 20px 0 0;
      padding: 20px 0 0;
      border-top: 1px solid #a9a8a9; }
      .news-landing .sidebar aside {
        display: inline-block;
        width: calc(50% - 15px);
        vertical-align: top;
        padding: 15px;
        text-align: left; }
      .news-landing .sidebar li {
        padding: 12px 0 11px; } }
@media only screen and (max-width: 1024px) and (max-width: 768px) {
  .news-landing .sidebar aside {
    font-size: 16px;
    line-height: 20px; } }
@media only screen and (max-width: 1024px) and (max-width: 640px) {
  .news-landing .sidebar aside {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0 0 40px; } }
@media only screen and (max-width: 1024px) and (max-width: 580px) {
  .news-landing .articles {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column; }
  .news-landing .article {
    width: 100%; } }
@media only screen and (max-width: 1024px) and (max-width: 360px) {
  .news-landing .sidebar aside {
    padding: 0 10px; } }

div.article {
  padding: 15px; }
  div.article .img {
    width: 100%;
    overflow: hidden;
    height: 215px;
    margin: 0 0 30px;
    background: #fff; }
  div.article h2 {
    text-transform: none;
    font-size: 21px;
    line-height: 25px;
    margin: 0 20px 10px; }
  div.article .date {
    font-size: 16px;
    line-height: 18px;
    font-weight: normal;
    text-transform: uppercase;
    display: block;
    margin: 0 0 20px; }
  div.article .btn {
    width: 190px; }
  @media only screen and (max-width: 640px) {
    div.article h2 {
      margin: 0 0 10px;
      font-size: 20px;
      line-height: 22px; } }

.back-news {
  display: block;
  font-size: 16px;
  text-transform: uppercase;
  text-align: left; }
  .back-news .container {
    padding-top: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #a9a8a9; }
  .back-news a:before {
    content: "\2039";
    margin-right: 10px; }

section.article {
  padding-top: 40px;
  letter-spacing: 0.08em;
  text-align: left; }
  section.article .container {
    display: flex;
    flex-direction: row;
    align-items: flex-start; }
  section.article .heading {
    padding: 0 0 35px;
    margin: 0 0 40px;
    text-align: left;
    border-bottom: 1px solid #a9a8a9; }
    section.article .heading h1 {
      font-size: 24px;
      line-height: 28px;
      text-transform: none;
      margin: 0; }
    section.article .heading .date {
      font-size: 16px;
      line-height: 20px;
      text-transform: uppercase;
      font-weight: normal; }
  section.article .image {
    width: 44%;
    margin-right: 6%; }
    section.article .image img {
      display: block;
      width: 100%;
      height: auto;
      margin: 0; }
  section.article .content {
    flex: 1;
    font-size: 16px;
    line-height: 28px; }
  @media only screen and (max-width: 1024px) {
    section.article {
      letter-spacing: 0.04em;
      padding-top: 50px; }
      section.article .content {
        line-height: 24px; } }
  @media only screen and (max-width: 840px) {
    section.article .container {
      display: block; }
    section.article .image {
      width: 100%;
      margin-right: 0;
      margin-bottom: 30px; }
    section.article .heading .date {
      font-size: 15px;
      display: block;
      margin: 10px 0 0; } }
  @media only screen and (max-width: 560px) {
    section.article {
      padding-top: 30px; } }

section.twitter {
  padding: 0;
  margin-bottom: 60px;
  background: url(../img/graphics/twitter.png) no-repeat center top 90px/61px auto;
  text-align: center; }
  section.twitter .container {
    padding: 180px 0 70px;
    border-top: 1px solid #a9a8a9;
    border-bottom: 1px solid #a9a8a9; }
  section.twitter .tweet {
    font-weight: bold;
    letter-spacing: 0.04em;
    padding: 0 30px; }
  section.twitter .date {
    display: block;
    font-weight: normal;
    font-size: 18px;
    margin: 24px auto 0; }
  @media only screen and (max-width: 1200px) {
    section.twitter {
      background-position: center top 60px; }
      section.twitter .container {
        padding: 150px 0 60px; } }
  @media only screen and (max-width: 768px) {
    section.twitter {
      margin-bottom: 0;
      background-size: 48px auto;
      background-position: center top 50px; }
      section.twitter .container {
        border-bottom: none;
        padding: 120px 0 50px; }
      section.twitter .date {
        font-size: 14px;
        line-height: 20px; }
      section.twitter .tweet {
        padding: 0 20px; } }
  @media only screen and (max-width: 480px) {
    section.twitter {
      background-size: 38px auto;
      background-position: center top 30px; }
      section.twitter .container {
        padding: 80px 0 40px; } }

body.about .alternate-layout {
  padding: 120px 0 70px; }
  body.about .alternate-layout .row:nth-of-type(1) .text p {
    max-width: 420px; }
  body.about .alternate-layout .row:nth-of-type(3) .text p {
    max-width: 100%; }
  body.about .alternate-layout .row:nth-of-type(4) .text p {
    max-width: 420px; }
body.about .video {
  background: url(../img/about/video.jpg) no-repeat center;
  background-size: cover; }

body.contact {
  background: #1a2f4d;
  color: #fff; }
  body.contact .location {
    margin: -25px 0 0;
    position: relative;
    padding: 0;
    font-size: 18px;
    line-height: 24px; }
    body.contact .location .container {
      height: 960px;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      align-items: center; }
      @media only screen and (max-width: 1366px) {
        body.contact .location .container {
          height: 800px; } }
      @media only screen and (max-width: 1160px) {
        body.contact .location .container {
          height: 600px; } }
      @media only screen and (max-width: 1024px) {
        body.contact .location .container {
          height: 500px; } }
    body.contact .location .text {
      text-align: left;
      width: 400px; }
    body.contact .location h1 {
      font-size: 36px;
      line-height: 38px;
      margin: 0 0 20px; }
    body.contact .location p {
      margin: 0 0 20px -45px;
      padding: 0 0 0 45px; }
      body.contact .location p.address {
        padding-top: 5px;
        background: url(../img/graphics/location.png) no-repeat left top/21px auto; }
      body.contact .location p.phone {
        height: 28px;
        line-height: 28px;
        background: url(../img/graphics/phone.png) no-repeat left center/25px auto; }
      body.contact .location p.email {
        background: url(../img/graphics/email.png) no-repeat left top/28px auto; }
    @media only screen and (max-width: 1270px) {
      body.contact .location p {
        margin-left: 0; } }
    @media only screen and (max-width: 1024px) {
      body.contact .location {
        font-size: 16px;
        line-height: 22px; }
        body.contact .location h1 {
          font-size: 28px;
          line-height: 30px; }
        body.contact .location p {
          margin: 0 0 14px;
          padding: 0 0 0 32px; }
          body.contact .location p.address {
            padding-top: 2px;
            background-size: 16px auto; }
          body.contact .location p.phone {
            height: 24px;
            line-height: 25px;
            background-size: 20px auto; }
          body.contact .location p.email {
            background: url(../img/graphics/email.png) no-repeat left top 1px/22px auto; } }
    @media only screen and (max-width: 900px) {
      body.contact .location {
        margin: 0; }
        body.contact .location .container {
          height: auto; } }
    @media only screen and (max-width: 768px) {
      body.contact .location .container {
        flex-direction: column-reverse;
        padding: 0; }
      body.contact .location .text {
        width: auto;
        padding: 0 30px;
        text-align: center; }
      body.contact .location p {
        height: auto;
        padding: 0; }
        body.contact .location p.address {
          padding-top: 30px;
          background-position: center top;
          background-size: 16px auto; }
          body.contact .location p.address + p {
            margin-bottom: 20px; }
        body.contact .location p.phone {
          padding-top: 30px;
          margin-bottom: 20px;
          height: auto;
          background-position: center top;
          background-size: 20px auto; }
        body.contact .location p.email {
          padding-top: 30px;
          margin-bottom: 20px;
          background-position: center top; } }
    @media only screen and (max-width: 480px) {
      body.contact .location {
        font-size: 15px;
        line-height: 18px; } }

#mapWrapper {
  position: absolute;
  left: 50%;
  top: 0;
  width: 960px;
  height: 960px;
  overflow: hidden; }
  #mapWrapper #map {
    width: 100%;
    height: calc(100% + 25px); }
  @media only screen and (max-width: 1366px) {
    #mapWrapper {
      width: 800px;
      height: 800px; } }
  @media only screen and (max-width: 1160px) {
    #mapWrapper {
      width: 600px;
      height: 600px; } }
  @media only screen and (max-width: 1024px) {
    #mapWrapper {
      width: 500px;
      height: 500px; } }
  @media only screen and (max-width: 900px) {
    #mapWrapper {
      position: relative;
      left: auto;
      margin-right: -30px; } }
  @media only screen and (max-width: 768px) {
    #mapWrapper {
      width: 100%;
      height: 300px;
      margin: 0 0 30px; } }
  @media only screen and (max-width: 480px) {
    #mapWrapper {
      height: 230px;
      margin: 0 0 20px; } }

#salesAgents {
  font-size: 18px;
  line-height: 20px; }
  #salesAgents .container {
    padding: 40px 0;
    border-top: 1px solid #a9a8a9;
    border-bottom: 1px solid #a9a8a9; }
  #salesAgents h2 {
    font-size: 36px;
    line-height: 38px;
    margin: 0 0 30px; }
  #salesAgents h3 {
    text-transform: uppercase;
    margin: 0 0 20px; }
  #salesAgents p {
    margin: 0 0 20px; }
    #salesAgents p:last-child {
      margin: 0; }
  @media only screen and (max-width: 1024px) {
    #salesAgents {
      font-size: 15px;
      line-height: 18px; }
      #salesAgents h2 {
        font-size: 30px;
        line-height: 32px; } }
  @media only screen and (max-width: 768px) {
    #salesAgents .container {
      border-bottom: none;
      padding-bottom: 0; } }

.contact-form h2 {
  font-size: 36px;
  line-height: 38px; }
.contact-form .shadow-box {
  padding: 35px 10px; }
.contact-form label {
  font-size: 0;
  display: inline-block;
  padding: 15px;
  width: calc(50% - 10px); }
.contact-form form {
  font-size: 0; }
  .contact-form form div {
    padding: 15px 25px; }
.contact-form textarea {
  height: 198px; }
@media only screen and (max-width: 1024px) {
  .contact-form h2 {
    font-size: 30px;
    line-height: 32px; }
  .contact-form textarea {
    height: 140px; } }
@media only screen and (max-width: 768px) {
  .contact-form .shadow-box {
    padding: 35px 30px; }
  .contact-form label {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0 0 12px; }
  .contact-form form div {
    padding: 0; } }
@media only screen and (max-width: 640px) {
  .contact-form h2 {
    font-size: 28px;
    line-height: 30px; } }
@media only screen and (max-width: 540px) {
  .contact-form {
    padding: 0; }
    .contact-form .container {
      padding: 0; }
    .contact-form .btn {
      width: 100%;
      max-width: none; } }
@media only screen and (max-width: 460px) {
  .contact-form .shadow-box {
    padding: 30px 10px; }
  .contact-form textarea {
    height: 100px; }
  .contact-form h2 {
    font-size: 22px;
    line-height: 24px; } }

body.careers .text-left ul {
  margin: 0 0 0 20px; }
body.careers .text-left li {
  list-style: disc;
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
  break-inside: avoid; }

#apprenticeshipScheme .shadow-box {
  padding: 90px 100px; }
  @media only screen and (max-width: 1024px) {
    #apprenticeshipScheme .shadow-box {
      padding: 60px; } }
  @media only screen and (max-width: 680px) {
    #apprenticeshipScheme .shadow-box {
      padding: 50px 40px; } }
  @media only screen and (max-width: 480px) {
    #apprenticeshipScheme .shadow-box {
      padding: 40px 30px; } }

.work-experience {
  padding: 110px 0;
  background: url(../img/backgrounds/work-experience.jpg?v=2) no-repeat center bottom/cover; }
  .work-experience h2 {
    font-size: 24px;
    line-height: 24px;
    margin: 0 0 26px; }
  .work-experience p {
    letter-spacing: 0.03em; }
  @media only screen and (max-width: 1024px) {
    .work-experience {
      padding: 70px 0; }
      .work-experience p {
        letter-spacing: 0; } }
  @media only screen and (max-width: 480px) {
    .work-experience {
      padding: 50px 0; } }

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
/*.slick-list {
    .slick-loading & {
        background: #fff slick-image-url("ajax-loader.gif") center center no-repeat;
    }
}*/
/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: white;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: white;
      opacity: 0.75; }

/*# sourceMappingURL=main.css.map */
