@charset "UTF-8";
/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on November 8, 2018 */
@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/montserrat-bold-webfont.woff2") format("woff2"), url("../fonts/montserrat-bold-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/montserrat-bolditalic-webfont.woff2") format("woff2"), url("../fonts/montserrat-bolditalic-webfont.woff") format("woff");
  font-weight: 700;
  font-style: italic; }

@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/montserrat-thin-webfont.woff2") format("woff2"), url("../fonts/montserrat-thin-webfont.woff") format("woff");
  font-weight: 100;
  font-style: normal; }

@font-face {
  font-family: 'Montserrat';
  src: url("../fonts/montserrat-thinitalic-webfont.woff2") format("woff2"), url("../fonts/montserrat-thinitalic-webfont.woff") format("woff");
  font-weight: 100;
  font-style: italic; }

@font-face {
  font-family: 'Open Sans';
  src: url("../fonts/opensans-italic-webfont.woff2") format("woff2"), url("../fonts/opensans-italic-webfont.woff") format("woff");
  font-weight: 400;
  font-style: italic; }

@font-face {
  font-family: 'Open Sans';
  src: url("../fonts/opensans-regular-webfont.woff2") format("woff2"), url("../fonts/opensans-regular-webfont.woff") format("woff");
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'Open Sans';
  src: url("../fonts/opensans-semibold-webfont.woff2") format("woff2"), url("../fonts/opensans-semibold-webfont.woff") format("woff");
  font-weight: 600;
  font-style: normal; }

@font-face {
  font-family: 'Open Sans';
  src: url("../fonts/opensans-bold-webfont.woff2") format("woff2"), url("../fonts/opensans-bold-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'Open Sans';
  src: url("../fonts/opensans-bolditalic-webfont.woff2") format("woff2"), url("../fonts/opensans-bolditalic-webfont.woff") format("woff");
  font-weight: 700;
  font-style: italic; }

@font-face {
  font-family: 'Open Sans';
  src: url("../fonts/opensans-extrabold-webfont.woff2") format("woff2"), url("../fonts/opensans-extrabold-webfont.woff") format("woff");
  font-weight: 800;
  font-style: normal; }

* {
  outline: none;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent; }
  *::before, *::after {
    box-sizing: border-box; }

html {
  overflow-y: scroll;
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  line-height: 1.15; }

img {
  border: 0;
  max-width: 100%;
  vertical-align: middle; }

textarea {
  resize: none; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block; }

a {
  background-color: transparent;
  color: inherit;
  text-decoration: none; }
  a:active, a:hover {
    outline: 0; }

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  margin: 0; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
  border-radius: 0; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

li {
  list-style: none; }

u {
  text-decoration: underline; }

::-webkit-file-upload-button {
  cursor: pointer; }

textarea,
input[type="text"],
input[type="password"] {
  border-radius: 0;
  -webkit-appearance: none; }

/* structures */
.center-contents {
  max-width: 1240px;
  padding: 0 30px;
  margin: 0 auto;
  position: relative; }

.page {
  padding: 50px 0;
  /* this brings more perfomance and better engine rending, use it in a container that don't have any fixed element, use only on mobile enabled websites */
  /*    
    transform: translate3d(0,0,0);
    -webkit-transform: translate3d(0,0,0);
    */ }

/* ui components */
.button {
  padding: 8px 20px;
  background-color: #2d2a6f;
  color: #FFFFFF;
  cursor: pointer;
  text-align: center;
  border: none;
  border-radius: 4px;
  font-size: 1.2rem; }
  .button.large {
    padding: 12px 30px;
    font-size: 1.5rem; }

.card {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px; }
  .card .image {
    overflow: hidden;
    height: 200px;
    display: block;
    width: 100%; }
    .card .image .img {
      height: 100%;
      background-size: cover;
      background-position: 50% 50%;
      transition: all 300ms ease; }
  .card .text-group {
    flex-grow: 1; }
  .card .title {
    padding: 6px 0;
    color: #2d2a6f; }
  .card .link {
    color: #2d2a6f;
    margin-top: 15px;
    display: inline-block; }
  .card.link-bottom .text-group {
    padding-bottom: 40px; }
  .card.link-bottom .link {
    position: absolute;
    bottom: 10px; }

.pagination {
  padding: 10px 0;
  display: flex;
  align-items: center; }
  .pagination .of {
    padding: 0 5px; }
  .pagination a {
    padding: 0.4rem 0px;
    width: 3rem;
    background-color: #2d2a6f;
    color: #FFFFFF;
    text-align: center;
    margin-right: 4px;
    border: solid 1px #2d2a6f;
    transition: all 300ms ease; }
    .pagination a.selected, .pagination a:hover {
      color: #2d2a6f;
      background-color: #FFFFFF; }

/* typography */
.long-text, .short-text {
  color: #000;
  font-size: 1.6rem; }
  .long-text p, .short-text p {
    color: #000; }
  .long-text a, .short-text a {
    text-decoration: underline;
    transition: all 300ms ease; }
    .long-text a:hover, .short-text a:hover {
      opacity: 0.8; }
  .long-text ul li, .short-text ul li {
    position: relative;
    padding-left: 12px; }
    .long-text ul li:before, .short-text ul li:before {
      content: "•";
      position: absolute;
      top: -1px;
      left: 0; }

.brand-color {
  color: #2d2a6f; }

/* grids */
.gutter15 {
  margin-left: -15px !important;
  margin-right: -15px !important; }
  .gutter15 .col {
    padding-left: 15px;
    padding-right: 15px; }

.gutter3 {
  margin-left: -5px !important;
  margin-right: -5px !important; }
  .gutter3 .col {
    padding-left: 5px;
    padding-right: 5px; }

.gutter0 {
  margin-left: 0 !important;
  margin-right: 0 !important; }
  .gutter0 .col {
    padding-left: 0;
    padding-right: 0; }

/* animations */
.fade-it {
  transition: opacity 300ms ease; }
  .fade-it:hover {
    opacity: 0.8; }

.zoom-in {
  transition: all 300ms ease; }
  .zoom-in:hover {
    transform-origin: 50% 50%;
    transform: scale(1.1);
    webkit-transform-origin: 50% 50%;
    webkit-transform: scale(1.1); }

/* misc */
.sprite {
  /*background-image: url('/images/sprites.png');	*/ }

.slideshow .contents .item {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: table; }
  .slideshow .contents .item:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 90; }
  .slideshow .contents .item .text-group {
    display: table-cell;
    vertical-align: middle;
    height: 100%;
    white-space: normal;
    color: #FFFFFF;
    position: relative;
    z-index: 91; }
    .slideshow .contents .item .text-group .title {
      padding: 0 80px;
      font-size: 2.2rem;
      margin-bottom: 5px; }
    .slideshow .contents .item .text-group .short-text {
      color: #FFFFFF;
      padding: 0 80px; }

.slideshow .bullets {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
  text-align: center; }
  .slideshow .bullets .item {
    display: inline-block;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    font-size: 0;
    background-color: rgba(255, 255, 255, 0.7);
    margin: 0 5px;
    cursor: pointer; }
    .slideshow .bullets .item.item-selected {
      background-color: white; }

.btn {
  display: inline-block;
  border-radius: 50px;
  padding: 1.7rem 4.5rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  color: white;
  font-size: 10px;
  text-transform: uppercase;
  border: none;
  background: none;
  letter-spacing: 0.24rem;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 300ms ease; }
  .btn.btn-brand {
    background-color: #38b5b7;
    color: white; }
  .btn.btn-contrast {
    background-color: #FFFFFF;
    color: #2bb6b7; }
  .btn:hover.btn-brand {
    background-color: transparent;
    color: #38b5b7;
    border-color: #38b5b7; }
  .btn:hover.btn-contrast {
    background-color: transparent;
    border-color: #FFFFFF;
    color: #FFFFFF; }

.page-title {
  font-family: "Montserrat", sans-serif;
  font-weight: 100;
  font-size: 5rem;
  padding-bottom: 2rem; }
  @media screen and (max-width: 767px) {
    .page-title {
      text-align: center; } }

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }
  @media (min-width: 480px) {
    .container {
      max-width: 540px; } }
  @media (min-width: 768px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 1024px) {
    .container {
      max-width: 960px; } }
  @media (min-width: 1200px) {
    .container {
      max-width: 1140px; } }

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto; }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px; }

.no-gutters {
  margin-right: 0;
  margin-left: 0; }
  .no-gutters > .col,
  .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0; }

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs,
.col-xs-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

@media (min-width: 320px) {
  .col-xs {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-xs-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-xs-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xs-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xs-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-xs-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xs-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xs-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-xs-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xs-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xs-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-xs-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xs-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-xs-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-xs-first {
    order: -1; }
  .order-xs-1 {
    order: 1; }
  .order-xs-2 {
    order: 2; }
  .order-xs-3 {
    order: 3; }
  .order-xs-4 {
    order: 4; }
  .order-xs-5 {
    order: 5; }
  .order-xs-6 {
    order: 6; }
  .order-xs-7 {
    order: 7; }
  .order-xs-8 {
    order: 8; }
  .order-xs-9 {
    order: 9; }
  .order-xs-10 {
    order: 10; }
  .order-xs-11 {
    order: 11; }
  .order-xs-12 {
    order: 12; }
  .offset-xs-0 {
    margin-left: 0; }
  .offset-xs-1 {
    margin-left: 8.33333%; }
  .offset-xs-2 {
    margin-left: 16.66667%; }
  .offset-xs-3 {
    margin-left: 25%; }
  .offset-xs-4 {
    margin-left: 33.33333%; }
  .offset-xs-5 {
    margin-left: 41.66667%; }
  .offset-xs-6 {
    margin-left: 50%; }
  .offset-xs-7 {
    margin-left: 58.33333%; }
  .offset-xs-8 {
    margin-left: 66.66667%; }
  .offset-xs-9 {
    margin-left: 75%; }
  .offset-xs-10 {
    margin-left: 83.33333%; }
  .offset-xs-11 {
    margin-left: 91.66667%; } }

@media (min-width: 480px) {
  .col-sm {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-sm-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-sm-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-sm-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-sm-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-sm-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-sm-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-sm-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-sm-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-sm-first {
    order: -1; }
  .order-sm-1 {
    order: 1; }
  .order-sm-2 {
    order: 2; }
  .order-sm-3 {
    order: 3; }
  .order-sm-4 {
    order: 4; }
  .order-sm-5 {
    order: 5; }
  .order-sm-6 {
    order: 6; }
  .order-sm-7 {
    order: 7; }
  .order-sm-8 {
    order: 8; }
  .order-sm-9 {
    order: 9; }
  .order-sm-10 {
    order: 10; }
  .order-sm-11 {
    order: 11; }
  .order-sm-12 {
    order: 12; }
  .offset-sm-0 {
    margin-left: 0; }
  .offset-sm-1 {
    margin-left: 8.33333%; }
  .offset-sm-2 {
    margin-left: 16.66667%; }
  .offset-sm-3 {
    margin-left: 25%; }
  .offset-sm-4 {
    margin-left: 33.33333%; }
  .offset-sm-5 {
    margin-left: 41.66667%; }
  .offset-sm-6 {
    margin-left: 50%; }
  .offset-sm-7 {
    margin-left: 58.33333%; }
  .offset-sm-8 {
    margin-left: 66.66667%; }
  .offset-sm-9 {
    margin-left: 75%; }
  .offset-sm-10 {
    margin-left: 83.33333%; }
  .offset-sm-11 {
    margin-left: 91.66667%; } }

@media (min-width: 768px) {
  .col-md {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-md-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-md-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-md-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-md-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-md-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-md-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-md-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-md-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-md-first {
    order: -1; }
  .order-md-1 {
    order: 1; }
  .order-md-2 {
    order: 2; }
  .order-md-3 {
    order: 3; }
  .order-md-4 {
    order: 4; }
  .order-md-5 {
    order: 5; }
  .order-md-6 {
    order: 6; }
  .order-md-7 {
    order: 7; }
  .order-md-8 {
    order: 8; }
  .order-md-9 {
    order: 9; }
  .order-md-10 {
    order: 10; }
  .order-md-11 {
    order: 11; }
  .order-md-12 {
    order: 12; }
  .offset-md-0 {
    margin-left: 0; }
  .offset-md-1 {
    margin-left: 8.33333%; }
  .offset-md-2 {
    margin-left: 16.66667%; }
  .offset-md-3 {
    margin-left: 25%; }
  .offset-md-4 {
    margin-left: 33.33333%; }
  .offset-md-5 {
    margin-left: 41.66667%; }
  .offset-md-6 {
    margin-left: 50%; }
  .offset-md-7 {
    margin-left: 58.33333%; }
  .offset-md-8 {
    margin-left: 66.66667%; }
  .offset-md-9 {
    margin-left: 75%; }
  .offset-md-10 {
    margin-left: 83.33333%; }
  .offset-md-11 {
    margin-left: 91.66667%; } }

@media (min-width: 1024px) {
  .col-lg {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-lg-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-lg-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-lg-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-lg-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-lg-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-lg-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-lg-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-lg-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-lg-first {
    order: -1; }
  .order-lg-1 {
    order: 1; }
  .order-lg-2 {
    order: 2; }
  .order-lg-3 {
    order: 3; }
  .order-lg-4 {
    order: 4; }
  .order-lg-5 {
    order: 5; }
  .order-lg-6 {
    order: 6; }
  .order-lg-7 {
    order: 7; }
  .order-lg-8 {
    order: 8; }
  .order-lg-9 {
    order: 9; }
  .order-lg-10 {
    order: 10; }
  .order-lg-11 {
    order: 11; }
  .order-lg-12 {
    order: 12; }
  .offset-lg-0 {
    margin-left: 0; }
  .offset-lg-1 {
    margin-left: 8.33333%; }
  .offset-lg-2 {
    margin-left: 16.66667%; }
  .offset-lg-3 {
    margin-left: 25%; }
  .offset-lg-4 {
    margin-left: 33.33333%; }
  .offset-lg-5 {
    margin-left: 41.66667%; }
  .offset-lg-6 {
    margin-left: 50%; }
  .offset-lg-7 {
    margin-left: 58.33333%; }
  .offset-lg-8 {
    margin-left: 66.66667%; }
  .offset-lg-9 {
    margin-left: 75%; }
  .offset-lg-10 {
    margin-left: 83.33333%; }
  .offset-lg-11 {
    margin-left: 91.66667%; } }

@media (min-width: 1200px) {
  .col-xl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%; }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .col-xl-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .col-xl-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%; }
  .col-xl-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .col-xl-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%; }
  .col-xl-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .col-xl-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%; }
  .col-xl-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .col-xl-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%; }
  .order-xl-first {
    order: -1; }
  .order-xl-1 {
    order: 1; }
  .order-xl-2 {
    order: 2; }
  .order-xl-3 {
    order: 3; }
  .order-xl-4 {
    order: 4; }
  .order-xl-5 {
    order: 5; }
  .order-xl-6 {
    order: 6; }
  .order-xl-7 {
    order: 7; }
  .order-xl-8 {
    order: 8; }
  .order-xl-9 {
    order: 9; }
  .order-xl-10 {
    order: 10; }
  .order-xl-11 {
    order: 11; }
  .order-xl-12 {
    order: 12; }
  .offset-xl-0 {
    margin-left: 0; }
  .offset-xl-1 {
    margin-left: 8.33333%; }
  .offset-xl-2 {
    margin-left: 16.66667%; }
  .offset-xl-3 {
    margin-left: 25%; }
  .offset-xl-4 {
    margin-left: 33.33333%; }
  .offset-xl-5 {
    margin-left: 41.66667%; }
  .offset-xl-6 {
    margin-left: 50%; }
  .offset-xl-7 {
    margin-left: 58.33333%; }
  .offset-xl-8 {
    margin-left: 66.66667%; }
  .offset-xl-9 {
    margin-left: 75%; }
  .offset-xl-10 {
    margin-left: 83.33333%; }
  .offset-xl-11 {
    margin-left: 91.66667%; } }

.visible {
  visibility: visible !important; }

.invisible {
  visibility: hidden !important; }

.text-lowercase {
  text-transform: lowercase !important; }

.text-uppercase {
  text-transform: uppercase !important; }

.text-capitalize {
  text-transform: capitalize !important; }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.pull-right {
  float: right !important; }

.pull-left {
  float: left !important; }

.hide {
  display: none !important; }

.show {
  display: block !important; }

.affix {
  position: fixed; }

.text-center {
  text-align: center; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.interactive {
  cursor: pointer;
  transition: opacity 400ms ease-out; }
  .interactive:hover {
    opacity: 0.6; }

.text-contrast {
  color: #FFFFFF !important; }

.form-container .form-group {
  padding-bottom: 10px;
  display: flex;
  flex-direction: column;
  width: 100%; }

.form-container .form-label {
  display: block;
  font-size: 1.4rem;
  padding-bottom: 3px; }

.form-container input[type="text"], .form-containerinput[type="password"], .form-containerinput[type="email"], .form-container select {
  border: solid 1px #CCCCCC;
  height: 30px;
  width: 100%;
  border-radius: 4px;
  padding: 0 8px; }

.form-container textarea {
  height: 150px;
  border: solid 1px #CCCCCC;
  width: 100%;
  border-radius: 4px;
  padding: 8px; }

.form-container .combobox {
  position: relative; }
  .form-container .combobox:after {
    width: 30px;
    height: 30px;
    background: #2d2a6f;
    content: '▾';
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
    color: #FFFFFF;
    font-size: 2rem;
    text-align: center;
    padding-top: 2px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px; }

.form-container .checkbox, .form-container .radio {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
  align-items: center; }
  .form-container .checkbox .form-input, .form-container .radio .form-input {
    width: 30px;
    height: 30px;
    opacity: 0;
    z-index: 3;
    position: relative;
    cursor: pointer; }
    .form-container .checkbox .form-input:checked + .form-label:after, .form-container .radio .form-input:checked + .form-label:after {
      content: '✔';
      background: #2d2a6f;
      color: #FFFFFF;
      text-align: center;
      padding-top: 5px; }
  .form-container .checkbox .form-label, .form-container .radio .form-label {
    z-index: 2;
    padding-left: 10px;
    padding-right: 10px; }
    .form-container .checkbox .form-label:empty, .form-container .radio .form-label:empty {
      padding: 0; }
    .form-container .checkbox .form-label:after, .form-container .radio .form-label:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 30px;
      height: 30px;
      background: #FFFFFF;
      opacity: 1;
      border: solid 1px #CCCCCC;
      cursor: pointer;
      z-index: 2;
      border-radius: 4px; }

.form-container .radio .form-label:after {
  border-radius: 50%; }

.form-container .radio .form-input:checked + .form-label:after {
  content: '';
  background: #FFFFFF; }

.form-container .radio .form-input:checked + .form-label:before {
  content: '';
  width: 12px;
  height: 12px;
  position: absolute;
  background: #2d2a6f;
  top: 9px;
  left: 9px;
  z-index: 5;
  border-radius: 50%; }

.form-container .file-input {
  display: flex;
  position: relative;
  cursor: pointer; }
  .form-container .file-input .button {
    pointer-events: none;
    width: 100px;
    height: 30px;
    line-height: 30px;
    padding: 0; }
  .form-container .file-input .file-value {
    background: #FFFFFF;
    border: solid 1px #CCCCCC;
    height: 30px;
    line-height: 30px;
    margin-right: 10px;
    overflow: hidden;
    flex-grow: 1;
    border-radius: 4px; }
  .form-container .file-input input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    cursor: pointer;
    opacity: 0;
    height: 100%; }
    .form-container .file-input input.input-error + .file-value, .form-container .file-input input.input-error + .button {
      background: #C99 !important; }

.form-container .input-error {
  background: #C99 !important; }
  .form-container .input-error + .form-label:after {
    background: #C99 !important; }

.form-container .form-message {
  color: #C99;
  padding: 5px 10px;
  margin: 20px 0;
  text-align: center;
  width: 100%; }
  .form-container .form-message.error {
    color: #FF0000;
    background: #C99; }
  .form-container .form-message.success {
    background: #090;
    color: #00FF00; }

.form-container.inline-labels .form-group {
  flex-direction: row; }
  .form-container.inline-labels .form-group > .text-right {
    width: 100%; }
  .form-container.inline-labels .form-group > .form-label {
    line-height: 30px;
    width: 100px;
    flex-shrink: 0;
    padding-right: 10px; }
    .form-container.inline-labels .form-group > .form-label:empty {
      width: auto; }

/* Slider */
.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-loading .slick-list {
  background: #fff 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.75; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 1;
    -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: 8px;
        line-height: 20px;
        text-align: center;
        color: #b6b6b6;
        opacity: 0.75;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #7f7f7f;
      opacity: 1; }

#section-home {
  position: relative; }
  #section-home .slideshow {
    position: absolute;
    top: 0;
    left: 0;
    right: 5.7rem;
    bottom: 5.7rem; }
    @media screen and (max-width: 767px) {
      #section-home .slideshow {
        right: 0;
        bottom: 0; } }
    #section-home .slideshow .image {
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center; }
      @media screen and (max-width: 767px) {
        #section-home .slideshow .image {
          height: 100vh; } }
  #section-home .banner-contents {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    left: 14rem;
    right: 30px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start; }
    @media screen and (max-width: 767px) {
      #section-home .banner-contents {
        left: 30px;
        right: 30px;
        align-items: center; } }
    #section-home .banner-contents .logotype {
      max-width: 69rem;
      padding-bottom: 4rem; }
      @media screen and (max-width: 767px) {
        #section-home .banner-contents .logotype {
          width: 100%;
          padding-bottom: 130px; } }

@media screen and (max-width: 767px) {
  #section-about {
    margin-bottom: 0; } }

#section-about .page-title {
  padding-top: 5rem;
  padding-bottom: 5.3rem;
  display: block;
  position: relative;
  line-height: 1; }
  @media screen and (max-width: 767px) {
    #section-about .page-title {
      padding-top: 320px;
      padding-bottom: 34px;
      margin-bottom: 100px; }
      #section-about .page-title .text {
        color: #FFFFFF;
        position: relative;
        z-index: 5; } }
  #section-about .page-title .gradient {
    display: none; }
    @media screen and (max-width: 767px) {
      #section-about .page-title .gradient {
        /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#2f2a70+0,39b6b8+100 */
        background: #2f2a70;
        /* Old browsers */
        background: -moz-linear-gradient(left, #2f2a70 0%, #39b6b8 100%);
        /* FF3.6-15 */
        background: -webkit-linear-gradient(left, #2f2a70 0%, #39b6b8 100%);
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to right, #2f2a70 0%, #39b6b8 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2f2a70', endColorstr='#39b6b8',GradientType=1 );
        /* IE6-9 */
        display: block;
        top: 0;
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -120px;
        right: -30px; }
        #section-about .page-title .gradient .big-image {
          position: absolute;
          height: 260px;
          top: 20px;
          left: -52px;
          max-width: none; } }

#section-about .contents {
  position: relative; }
  #section-about .contents .gradient-line {
    position: absolute;
    height: 11px;
    top: -18px;
    right: 0;
    left: 40%;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#2f2a70+0,39b6b8+100 */
    background: #2f2a70;
    /* Old browsers */
    background: -moz-linear-gradient(left, #2f2a70 0%, #39b6b8 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #2f2a70 0%, #39b6b8 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #2f2a70 0%, #39b6b8 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2f2a70', endColorstr='#39b6b8',GradientType=1 );
    /* IE6-9 */ }
    @media screen and (max-width: 1340px) and (min-width: 768px) {
      #section-about .contents .gradient-line {
        left: 200px; } }
    @media screen and (max-width: 767px) {
      #section-about .contents .gradient-line {
        display: none; } }

#section-about .d-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  font-family: "Open Sans", sans-serif; }
  #section-about .d-flex .left {
    flex: 1;
    margin-top: 9rem;
    position: relative; }
    @media screen and (max-width: 1340px) and (min-width: 768px) {
      #section-about .d-flex .left {
        width: 50%;
        margin-top: 50px; } }
    @media screen and (max-width: 767px) {
      #section-about .d-flex .left {
        width: 100%;
        padding-right: 0;
        margin-top: 0;
        padding-bottom: 55px; } }
    #section-about .d-flex .left .gradient-wrapper {
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#2f2a70+0,39b6b8+100 */
      background: #2f2a70;
      /* Old browsers */
      background: -moz-linear-gradient(left, #2f2a70 0%, #39b6b8 100%);
      /* FF3.6-15 */
      background: -webkit-linear-gradient(left, #2f2a70 0%, #39b6b8 100%);
      /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to right, #2f2a70 0%, #39b6b8 100%);
      /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2f2a70', endColorstr='#39b6b8',GradientType=1 );
      /* IE6-9 */
      height: 100%;
      margin-left: -45px;
      display: flex;
      padding: 15rem 5.6rem 6rem;
      margin-right: -12rem;
      position: relative;
      z-index: 2; }
      @media screen and (max-width: 1340px) and (min-width: 1121px) {
        #section-about .d-flex .left .gradient-wrapper {
          margin-right: -90px !important; } }
      @media screen and (max-width: 1340px) and (min-width: 768px) {
        #section-about .d-flex .left .gradient-wrapper {
          margin-left: -30px;
          margin-right: -30px;
          padding: 180px 30px 30px; } }
      @media screen and (max-width: 1020px) {
        #section-about .d-flex .left .gradient-wrapper {
          margin-right: 0; } }
      @media screen and (max-width: 767px) {
        #section-about .d-flex .left .gradient-wrapper {
          background: none;
          padding: 0;
          margin-left: 0; } }
      #section-about .d-flex .left .gradient-wrapper .text {
        width: 48%;
        margin-top: auto;
        margin-left: auto;
        color: #FFFFFF;
        font-size: 3rem;
        font-style: italic; }
        @media screen and (max-width: 1340px) and (min-width: 768px) {
          #section-about .d-flex .left .gradient-wrapper .text {
            width: 100%; } }
        @media screen and (max-width: 767px) {
          #section-about .d-flex .left .gradient-wrapper .text {
            color: #000;
            width: 100%;
            text-align: center;
            margin: 0; } }
        #section-about .d-flex .left .gradient-wrapper .text > strong {
          font-weight: 700; }
    #section-about .d-flex .left .big-image {
      position: absolute;
      height: 544px;
      z-index: 2;
      top: -195px;
      max-width: unset; }
      @media screen and (max-width: 1340px) and (min-width: 768px) {
        #section-about .d-flex .left .big-image {
          top: -100px;
          height: 250px; } }
      @media screen and (max-width: 767px) {
        #section-about .d-flex .left .big-image {
          display: none; } }
  #section-about .d-flex .right {
    width: calc(50% - 4rem);
    background-color: #f2f2f2;
    padding: 12rem 5.5rem 0 165px;
    position: relative;
    display: flex;
    flex-direction: column; }
    @media screen and (max-width: 1490px) {
      #section-about .d-flex .right {
        width: calc(50% - 30px); } }
    @media screen and (max-width: 1340px) {
      #section-about .d-flex .right {
        padding-top: 5.5rem; } }
    @media screen and (max-width: 1340px) and (min-width: 1121px) {
      #section-about .d-flex .right {
        padding-left: 120px;
        padding-right: 30px; } }
    @media screen and (max-width: 1120px) and (min-width: 1021px) {
      #section-about .d-flex .right {
        width: 100%;
        padding: 30px;
        height: unset;
        margin-bottom: 8rem;
        padding-top: 5.5rem; } }
    @media screen and (max-width: 1020px) and (min-width: 768px) {
      #section-about .d-flex .right {
        padding-left: 5.5rem;
        height: unset;
        padding-bottom: 10rem; } }
    @media screen and (max-width: 767px) {
      #section-about .d-flex .right {
        width: unset;
        margin-left: -30px;
        margin-right: -30px;
        align-items: center;
        text-align: center;
        padding: 58px 30px 80px;
        height: unset; } }
    #section-about .d-flex .right .highlight {
      color: #1ead97;
      font-size: 3rem;
      font-style: italic;
      font-weight: 400;
      padding-bottom: 2.3rem; }
      #section-about .d-flex .right .highlight > strong {
        font-weight: 700; }
      @media screen and (max-width: 767px) {
        #section-about .d-flex .right .highlight {
          order: 2;
          width: 80%;
          padding-bottom: 50px; } }
    #section-about .d-flex .right .icons {
      width: 220px;
      margin-bottom: 3rem; }
      @media screen and (max-width: 767px) {
        #section-about .d-flex .right .icons {
          order: 1;
          margin-bottom: 80px; } }
    #section-about .d-flex .right .text {
      font-size: 1.65rem; }
      @media screen and (max-width: 767px) {
        #section-about .d-flex .right .text {
          order: 3;
          width: 88%; } }
      #section-about .d-flex .right .text > strong {
        font-weight: 600; }

#section-services {
  padding-top: 3rem;
  overflow-x: hidden; }
  @media screen and (max-width: 767px) {
    #section-services {
      padding-top: 57px; }
      #section-services .page-title {
        padding-bottom: 36px !important; } }
  #section-services .services {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin-left: -4rem;
    margin-right: -4rem; }
    #section-services .services > div, #section-services .services .col {
      padding-left: 4rem;
      padding-right: 4rem; }
    @media screen and (max-width: 1490px) {
      #section-services .services {
        margin-left: -30px;
        margin-right: -30px; }
        #section-services .services > div, #section-services .services .col {
          padding-left: 30px;
          padding-right: 30px; } }
    @media screen and (max-width: 1020px) {
      #section-services .services {
        margin-left: -15px;
        margin-right: -15px;
        margin-bottom: calc(86px - 4rem); }
        #section-services .services > div, #section-services .services .col {
          padding-left: 15px;
          padding-right: 15px; } }
    @media screen and (max-width: 767px) {
      #section-services .services {
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 86px;
        margin-left: -30px;
        margin-right: -30px; }
        #section-services .services > div, #section-services .services .col {
          padding-left: 0;
          padding-right: 0; } }
    #section-services .services .slick-slide {
      padding: 0 8px; }
    #section-services .services .slick-list {
      padding: 0 30px 40px;
      margin: 0 -8px; }
    #section-services .services .slick-dots {
      bottom: -15px; }
    #section-services .services .item-service {
      display: flex !important;
      flex-direction: column;
      width: 50%; }
      @media screen and (max-width: 767px) {
        #section-services .services .item-service {
          box-shadow: 6px 8px 32.5px 0px rgba(0, 0, 0, 0.33);
          height: 550px;
          width: 100%; } }
      #section-services .services .item-service .text-holder {
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 3.5rem;
        margin-left: -1.5rem;
        margin-right: -1.5rem; }
        #section-services .services .item-service .text-holder > div, #section-services .services .item-service .text-holder .col {
          padding-left: 1.5rem;
          padding-right: 1.5rem; }
        @media screen and (max-width: 767px) {
          #section-services .services .item-service .text-holder {
            order: 2;
            margin-left: 0;
            margin-right: 0;
            width: 90%;
            margin: 0 auto;
            text-align: center;
            padding-top: 60px;
            padding-bottom: 70px; }
            #section-services .services .item-service .text-holder > div, #section-services .services .item-service .text-holder .col {
              padding-left: 0;
              padding-right: 0; } }
        #section-services .services .item-service .text-holder > div {
          width: 50%; }
          @media screen and (max-width: 1490px) {
            #section-services .services .item-service .text-holder > div {
              width: 100%; } }
        #section-services .services .item-service .text-holder .title {
          font-family: "Montserrat", sans-serif;
          font-weight: 700;
          color: #2bb6b7;
          font-size: 3.5rem;
          line-height: 0.8; }
        #section-services .services .item-service .text-holder .text {
          font-family: "Open Sans", sans-serif;
          font-weight: 400;
          padding-top: 10px; }
          #section-services .services .item-service .text-holder .text > strong {
            font-weight: 600; }
          @media screen and (max-width: 767px) {
            #section-services .services .item-service .text-holder .text {
              padding-top: 30px; } }
      #section-services .services .item-service .image {
        padding-left: 7.5rem;
        position: relative;
        margin-top: auto; }
        @media screen and (min-width: 1024px) and (max-height: 780px) {
          #section-services .services .item-service .image {
            text-align: center; }
            #section-services .services .item-service .image img {
              max-width: 78%; } }
        @media screen and (max-width: 1340px) {
          #section-services .services .item-service .image {
            padding-left: 0; }
            #section-services .services .item-service .image:before {
              display: none; } }
        @media screen and (max-width: 767px) {
          #section-services .services .item-service .image {
            order: 1;
            margin-top: unset; } }
        #section-services .services .item-service .image:before {
          content: "";
          position: absolute;
          left: 0;
          height: 30px;
          width: 2px;
          background-color: #2bb6b7; }
        #section-services .services .item-service .image img {
          box-shadow: 21px 23px 41px 0px rgba(0, 0, 0, 0.33); }
          @media screen and (max-width: 767px) {
            #section-services .services .item-service .image img {
              box-shadow: none; } }
  #section-services .partners-list {
    margin-top: 8.5rem;
    padding-bottom: 4rem;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-left: -2rem;
    margin-right: -2rem; }
    #section-services .partners-list > div, #section-services .partners-list .col {
      padding-left: 2rem;
      padding-right: 2rem; }
    @media screen and (max-height: 720px) {
      #section-services .partners-list {
        margin-top: 4rem; } }
    @media screen and (max-width: 1020px) {
      #section-services .partners-list {
        margin-left: -12.5px;
        margin-right: -12.5px;
        justify-content: space-between;
        width: 70%;
        margin: 0 auto !important; }
        #section-services .partners-list > div, #section-services .partners-list .col {
          padding-left: 12.5px;
          padding-right: 12.5px; } }
    #section-services .partners-list .section-name {
      font-family: "Montserrat", sans-serif;
      font-weight: 700;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 0.26rem;
      margin-right: 3rem;
      color: #2bb6b7; }
      @media screen and (max-width: 1020px) {
        #section-services .partners-list .section-name {
          width: 100%;
          display: block;
          text-align: center;
          padding-bottom: 28px;
          margin-right: 0; } }
    @media screen and (max-width: 1020px) {
      #section-services .partners-list .item-partner {
        width: 50%;
        padding-bottom: 2.6rem; } }
    #section-services .partners-list .item-partner:hover img {
      opacity: 1; }
    #section-services .partners-list .item-partner img {
      height: 4rem;
      opacity: 0.5;
      transition: opacity 300ms ease; }
      @media screen and (max-width: 1020px) {
        #section-services .partners-list .item-partner img {
          height: unset; } }

#section-contacts {
  height: 100vh;
  background: url("../images/contacts-bg.png"), #2bb6b7;
  /* Old browsers */
  background: url("../images/contacts-bg.png"), -moz-linear-gradient(left, #2bb6b7 0%, #2d2a6f 100%);
  /* FF3.6-15 */
  background: url("../images/contacts-bg.png"), -webkit-linear-gradient(left, #2bb6b7 0%, #2d2a6f 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: url("../images/contacts-bg.png"), linear-gradient(to right, #2bb6b7 0%, #2d2a6f 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-blend-mode: screen;
  overflow: hidden;
  padding-top: 18rem; }
  @media screen and (max-width: 1340px) {
    #section-contacts {
      padding-top: 80px; } }
  @media screen and (max-width: 1020px) {
    #section-contacts {
      padding-top: 30px; } }
  @media screen and (max-width: 767px) {
    #section-contacts {
      height: unset; } }
  #section-contacts .d-flex {
    display: flex;
    height: 100%;
    flex-wrap: wrap;
    align-items: center; }
    #section-contacts .d-flex .col {
      width: 50%; }
      @media screen and (max-width: 767px) {
        #section-contacts .d-flex .col {
          width: 100%; } }
  #section-contacts .container-form {
    padding-right: 10rem; }
    @media screen and (max-width: 1020px) {
      #section-contacts .container-form {
        padding-top: 45px;
        padding-right: 45px; } }
    @media screen and (max-width: 767px) {
      #section-contacts .container-form {
        padding-right: 0;
        text-align: center;
        margin-bottom: 48px; } }
    #section-contacts .container-form .contact-form .form-control {
      background: transparent;
      border: none;
      border-bottom: 1px solid #FFFFFF;
      display: block;
      width: 100%;
      padding: 15px;
      font-family: "Open Sans", sans-serif;
      font-weight: 300;
      color: #FFFFFF;
      font-size: 1.45rem;
      margin-bottom: 1.7rem; }
      #section-contacts .container-form .contact-form .form-control::placeholder {
        font-family: "Open Sans", sans-serif;
        font-weight: 300;
        color: #FFFFFF;
        font-size: 1.45rem; }
        @media screen and (max-width: 767px) {
          #section-contacts .container-form .contact-form .form-control::placeholder {
            text-align: center; } }
    #section-contacts .container-form .contact-form .btn {
      margin-top: 2.3rem; }
    #section-contacts .container-form .contact-form .form-message {
      display: block;
      font-family: "Open Sans", sans-serif;
      font-weight: 300;
      color: #FFFFFF;
      font-size: 1.45rem;
      margin-top: 2rem; }
  #section-contacts .container-contacts {
    padding: 0 9rem 0;
    position: relative;
    font-family: "Open Sans", sans-serif;
    align-self: stretch;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 767px) {
      #section-contacts .container-contacts {
        padding-top: 50px;
        padding-left: 16px;
        padding-right: 16px; } }
    #section-contacts .container-contacts .foreground {
      position: relative;
      z-index: 5;
      display: flex;
      flex-direction: column; }
      @media screen and (max-width: 767px) {
        #section-contacts .container-contacts .foreground {
          flex-direction: row;
          flex-wrap: wrap;
          justify-content: space-between; }
          #section-contacts .container-contacts .foreground .name {
            order: 1;
            width: 55% !important;
            padding-bottom: 22px !important; }
          #section-contacts .container-contacts .foreground .social-icons {
            order: 2;
            width: 40% !important;
            padding-bottom: 0 !important;
            margin-bottom: 0 !important; }
          #section-contacts .container-contacts .foreground .address {
            order: 3;
            width: 60% !important; }
          #section-contacts .container-contacts .foreground .contacts-holder {
            order: 4;
            width: 40% !important; } }
      #section-contacts .container-contacts .foreground .social-icons {
        padding-bottom: 8rem; }
      #section-contacts .container-contacts .foreground .name {
        font-family: "Open Sans", sans-serif;
        font-weight: 800;
        font-size: 2.8rem;
        line-height: 2.1rem;
        text-transform: uppercase;
        padding-bottom: 1.3rem; }
        #section-contacts .container-contacts .foreground .name .text-secondary {
          color: #2bb6b7;
          font-size: 2rem; }
      #section-contacts .container-contacts .foreground .address {
        font-size: 1.25rem;
        padding-bottom: 4rem; }
      #section-contacts .container-contacts .foreground .contacts-title {
        font-size: 1.25rem;
        color: #2bb6b7;
        text-transform: uppercase;
        font-weight: 700;
        padding-bottom: 9px; }
      #section-contacts .container-contacts .foreground .contacts {
        font-weight: 700;
        font-size: 1.45rem; }
        #section-contacts .container-contacts .foreground .contacts > a {
          text-decoration: underline; }
    #section-contacts .container-contacts .background {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: -1000px;
      bottom: 0;
      z-index: 1;
      background-color: white; }
      @media screen and (max-width: 767px) {
        #section-contacts .container-contacts .background {
          left: -30px;
          right: -30px; } }

html {
  font-size: 62.5%; }
  @media screen and (max-width: 1020px) {
    html {
      font-size: 60%; } }
  @media screen and (max-width: 767px) {
    html {
      font-size: 56%; } }

body {
  font-size: 1.6rem; }

html, body {
  height: 100%;
  background-color: #FFFFFF;
  font-family: "Arial", "sans-serif";
  color: #000; }

#site {
  position: relative;
  min-height: 100%; }

header {
  height: 100%;
  width: 250px;
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  overflow-x: hidden;
  /* Disable horizontal scroll */ }
  @media screen and (max-width: 1020px) {
    header {
      position: absolute;
      width: 100%;
      height: 0;
      right: 0;
      padding: 0;
      overflow-x: visible; } }
  header #header {
    display: flex;
    flex-direction: column;
    height: 100vh;
    padding: 5.6rem 4.5rem 3.2rem;
    background: #2d2a6f;
    position: relative; }
    @media screen and (max-width: 1020px) {
      header #header {
        display: none;
        z-index: 99;
        text-align: center;
        padding-bottom: 35px;
        padding-top: 40px; } }
    @media screen and (min-width: 1021px) {
      header #header {
        display: flex !important; } }
  header #menu {
    margin-top: auto;
    margin-bottom: auto; }
    @media screen and (max-width: 1020px) {
      header #menu {
        padding: 40px 0; } }
    header #menu .menu-item {
      display: block;
      position: relative;
      padding: 10px 0;
      margin: 15px 0; }
      header #menu .menu-item .title {
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
        color: #FFFFFF;
        transition: color 0.3s linear;
        font-size: 1.25rem;
        text-transform: uppercase;
        letter-spacing: 0.48rem;
        cursor: pointer; }
        @media screen and (max-width: 1020px) {
          header #menu .menu-item .title {
            font-size: 20px; } }
      header #menu .menu-item:after {
        content: "";
        position: absolute;
        left: -10px;
        right: 0;
        bottom: 0;
        height: 2px;
        display: none;
        /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#39b6b8+0,2f2a70+100 */
        background: #39b6b8;
        /* Old browsers */
        background: -moz-linear-gradient(left, #39b6b8 0%, #2f2a70 100%);
        /* FF3.6-15 */
        background: -webkit-linear-gradient(left, #39b6b8 0%, #2f2a70 100%);
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to right, #39b6b8 0%, #2f2a70 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#39b6b8', endColorstr='#2f2a70',GradientType=1 );
        /* IE6-9 */ }
        @media screen and (max-width: 1020px) {
          header #menu .menu-item:after {
            display: none !important; } }
      header #menu .menu-item.selected:after {
        display: block; }
      header #menu .menu-item:hover .submenu {
        display: block; }
    @media screen and (min-width: 1021px) {
      header #menu {
        display: block !important; } }
  header #menu-mobile-icon {
    display: none; }
    @media screen and (max-width: 1020px) {
      header #menu-mobile-icon {
        display: block;
        position: absolute;
        top: 11px;
        right: 64.6px;
        z-index: 100;
        width: 40.8px;
        height: 36.4px;
        cursor: pointer; }
        header #menu-mobile-icon .bar {
          width: 28px;
          height: 3.6px;
          background-color: #fff;
          position: absolute;
          left: 6.4px;
          transform-origin: center;
          -webkit-transform-origin: center;
          transition: all 300ms linear; }
        header #menu-mobile-icon.closed .bar1 {
          top: 6.4px;
          opacity: 1;
          transform: none;
          -webkit-transform: none; }
        header #menu-mobile-icon.closed .bar2 {
          top: 16.4px;
          transform: none;
          -webkit-transform: none;
          opacity: 1; }
        header #menu-mobile-icon.closed .bar3 {
          top: 26.4px;
          transform: none;
          -webkit-transform: none;
          opacity: 1; }
        header #menu-mobile-icon .bar1 {
          top: 13.2px;
          transform: rotate(-45deg);
          -webkit-transform: rotate(-45deg); }
        header #menu-mobile-icon .bar2 {
          top: 13.2px;
          transform: rotate(45deg);
          -webkit-transform: rotate(45deg);
          background-color: #2bb6b7; }
        header #menu-mobile-icon .bar3 {
          width: 18px;
          left: unset;
          right: 6.4px;
          opacity: 0;
          top: 34px; } }
    @media screen and (max-width: 767px) {
      header #menu-mobile-icon {
        right: 9.6px; } }
  header #logotype {
    display: inline-block;
    width: 128px;
    height: 143px;
    background-image: url("../images/logotype-alternative.svg");
    background-repeat: no-repeat;
    background-position: top left; }
    @media screen and (max-width: 1020px) {
      header #logotype {
        background-image: url("../images/logo-mobile.svg");
        width: 215px;
        height: 68px; } }
  @media screen and (max-width: 1020px) {
    header .sidebar-footer {
      position: absolute;
      bottom: 35px;
      left: 0;
      right: 0; }
      header .sidebar-footer .social-icons {
        justify-content: center;
        margin-bottom: 10px; } }
  @media screen and (max-width: 767px) {
    header .sidebar-footer .social-icons .item-social > img {
      height: 20px; } }
  header .sidebar-footer #langs .lang-item {
    font-family: "Open Sans", sans-serif;
    font-size: 1.4rem;
    color: #ffffff;
    transition: color 0.3s linear;
    margin-left: 8px;
    margin-right: 8px; }
    header .sidebar-footer #langs .lang-item:first-child {
      margin-left: 0; }
    header .sidebar-footer #langs .lang-item:last-child {
      margin-right: 0; }
    header .sidebar-footer #langs .lang-item:hover, header .sidebar-footer #langs .lang-item.selected {
      color: #2bb6b7;
      text-decoration: underline; }

main {
  padding-left: 250px;
  padding-bottom: 0px;
  padding-top: 0px; }
  @media screen and (max-width: 1020px) {
    main {
      padding-left: 0; } }

footer {
  display: none; }
  @media screen and (max-width: 767px) {
    footer {
      display: block;
      width: 100%;
      background-color: #fff;
      padding: 30px 0;
      text-align: center; }
      footer .logotype {
        padding: 0 16px;
        width: 100%;
        max-width: 375px; } }

#networks {
  padding: 4px; }

#page-banner {
  height: 220px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

.secondary-menu {
  padding: 10px 0 30px 0; }
  .secondary-menu .sec-menu-item {
    color: #FFF;
    display: inline-block;
    padding: 0 10px; }

#page-home #mainhighlight {
  width: 100%;
  height: 600px; }

#page-home .home-highlights {
  margin-top: 40px;
  margin-bottom: 40px; }
  #page-home .home-highlights .col .text-group {
    background-color: #EEEEEE;
    padding-top: 15px;
    padding-left: 15px;
    padding-right: 15px; }

#page-home .partners-list {
  margin-bottom: 40px; }
  #page-home .partners-list .wrap-col {
    background-color: #DDDDDD;
    padding: 15px; }

#page-home .animation-example {
  margin-bottom: 40px; }
  #page-home .animation-example h1 {
    font-size: 2rem; }

#page-login .form-container {
  margin: 50px auto;
  max-width: 300px; }

#page-product-detail h2 {
  color: #2bb6b7;
  font-size: 1.6rem;
  line-height: 1em; }

#page-product-detail h3 {
  color: #000;
  font-size: 1.3rem;
  line-height: 1em; }

#page-cart .cart-list {
  font-size: 0;
  margin-bottom: 20px;
  padding-right: 50px; }
  #page-cart .cart-list .cart-row {
    margin-bottom: 10px; }
    #page-cart .cart-list .cart-row.heading {
      font-weight: bold; }
  #page-cart .cart-list .image {
    display: inline-block;
    width: 20%;
    vertical-align: top;
    padding-right: 25px;
    height: auto;
    font-size: 1.2rem; }
  #page-cart .cart-list .description {
    display: inline-block;
    width: 45%;
    font-size: 1.2rem;
    padding-right: 25px; }
  #page-cart .cart-list .price {
    display: inline-block;
    width: 15%;
    font-size: 1.2rem;
    vertical-align: top; }
  #page-cart .cart-list .remove {
    display: inline-block;
    width: 18%;
    font-size: 1.2rem;
    vertical-align: top; }
    #page-cart .cart-list .remove a {
      text-decoration: underline;
      cursor: pointer; }

#page-cart .cart-values .text {
  width: 70%;
  float: left;
  font-weight: bold;
  margin-bottom: 10px; }

#page-cart .cart-values .value {
  float: right;
  width: 30%;
  text-align: right; }

#page-cart .cart-values .total {
  border-top: solid 1px #CCCCCC;
  padding-top: 10px; }

#page-cart .cart-info {
  border-left: solid 1px #CCCCCC;
  padding-left: 40px; }

#page-cart .button-apply-discount {
  width: 100%;
  margin: 10px 0; }

#page-account .form-container {
  max-width: 600px; }

#page-list .row {
  margin: 20px 0 0 0; }

#page-list .grid-item {
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: solid 1px #2d2a6f; }
  #page-list .grid-item .image {
    float: left;
    width: 12%;
    height: 100px;
    margin-right: 2%; }
  #page-list .grid-item .text-group {
    float: left;
    width: 86%; }

#page-text .image-left-float {
  margin-right: 20px;
  margin-bottom: 10px;
  float: left; }

#page-text .image-right-float {
  margin-left: 20px;
  margin-bottom: 10px;
  float: right; }

#page-text .gallery {
  height: 156px;
  background-color: #F5F5F5;
  padding: 20px 20px;
  margin-top: 45px; }
  #page-text .gallery .gallery-thumb {
    width: 150px;
    height: 124px;
    overflow: hidden;
    margin-right: 5px;
    float: left; }
    #page-text .gallery .gallery-thumb img {
      width: 160px; }

#page-text .zoom {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  display: none;
  z-index: 1100;
  pointer-events: none; }
  #page-text .zoom .slideshow .nav {
    position: absolute;
    top: -20px; }
  #page-text .zoom .slideshow-frame {
    background: #EAEAEA;
    width: 820px;
    height: 620px;
    padding: 42px 30px 25px 30px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -310px;
    margin-left: -410px;
    pointer-events: auto; }
    #page-text .zoom .slideshow-frame .close {
      position: absolute;
      top: 7px;
      right: 30px;
      font-size: 30px;
      color: #888888; }

#page-text .documents {
  margin: 20px 0px; }
  #page-text .documents .doc-item {
    padding: 4px 10px;
    color: #FFFFFF;
    background: #2d2a6f;
    padding-right: 20px;
    display: block;
    display: inline-block;
    margin-right: 3px;
    text-align: center;
    font-size: 1.3rem; }

#page-contacts {
  padding-top: 40px; }
  #page-contacts .form-container {
    max-width: 400px; }
  #page-contacts .center-contents {
    margin-bottom: 50px; }
  #page-contacts #form2 {
    max-width: 800px;
    margin-top: 50px; }
  #page-contacts #form3 {
    max-width: 800px;
    margin-top: 50px; }

/* FORMS */
.aygmaps {
  width: 100%;
  height: 404px; }
  @media screen and (max-width: 1020px) {
    .aygmaps {
      height: 300px; } }

#video {
  width: 100%;
  height: 400px; }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1000; }

/* others */
.newsletter {
  position: absolute;
  top: 0;
  right: 10px;
  width: 200px;
  font-size: 0; }
  .newsletter #newsletter_tf {
    width: 80%;
    border: none;
    height: 22px;
    line-height: 22px;
    padding: 0 5px;
    background-color: #FFFFFF;
    display: inline-block;
    vertical-align: top; }
  .newsletter .newsletter-button {
    height: 22px;
    width: 18%;
    line-height: 22px;
    background-color: #FFFFFF;
    color: #333333;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    font-size: 1.4rem;
    margin-left: 2%; }
  .newsletter #newsletter-msg {
    font-size: 1.4rem;
    color: #FFFFFF;
    padding-top: 5px; }

.social-icons {
  display: flex;
  margin-bottom: 2.4rem; }
  .social-icons .item-social {
    margin-left: 9.5px;
    margin-right: 9.5px;
    padding: 6px 3px; }
    .social-icons .item-social:first-child {
      margin-left: 0; }
    .social-icons .item-social:last-child {
      margin-right: 0; }
    .social-icons .item-social > img {
      height: 16px; }

.mobile {
  display: none;
  z-index: 0;
  position: absolute; }
  @media screen and (max-width: 1020px) {
    .mobile {
      z-index: 1; } }
  @media screen and (max-width: 767px) {
    .mobile {
      z-index: 2; } }

.slick-dots li {
  height: 10px;
  width: 10px;
  margin: 0 3px; }
  .slick-dots li button {
    height: 10px;
    width: 10px;
    padding: 0px; }
    .slick-dots li button:before {
      width: 10px;
      height: 10px;
      font-size: 10px;
      line-height: 10px; }

.page-section {
  min-height: 100vh; }
