/*! v1.0.0 */
@import url(https://fonts.googleapis.com/css?family=Titillium+Web:200,300,400,600,700);@charset "UTF-8";
/* 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; }
  .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(68b0c4fcb84d239f261c1a5e65818142.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(9077da5df0856ddbf02c509848e3f7d8.svg#slick) format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  width: 30px;
  height: 87px;
  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;
  opacity: 0.7; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent;
    opacity: 1; }
  .slick-prev.slick-disabled,
  .slick-next.slick-disabled {
    opacity: 0; }

.slick-next:after, .slick-next:before, .slick-prev:after, .slick-prev:before {
  content: "";
  height: 2px;
  width: 50px;
  background: #000;
  position: absolute;
  left: -12px;
  top: 21px;
  display: block;
  transform: rotate(-60deg); }

.slick-next:after, .slick-prev:after {
  transform: rotate(60deg);
  top: 64px; }

.slick-prev {
  left: -35px; }

.slick-next {
  right: -35px; }
  .slick-next:before {
    transform: rotate(60deg); }
  .slick-next:after {
    transform: rotate(-60deg); }

/* 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: "\2022";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

@media screen and (min-width: 1366px) {
  .slick-prev {
    left: -125px; }
  .slick-next {
    right: -125px; } }

.navbar-container {
  background: rgba(255, 255, 255, 0.8);
  height: 80px;
  position: fixed;
  z-index: 123;
  top: 0;
  left: 0;
  right: 0; }
  .navbar-container .logo {
    position: relative;
    top: 17px;
    left: 15px;
    float: left; }
    .navbar-container .logo a {
      display: block; }
      .navbar-container .logo a img {
        max-height: 45px;
        width: auto; }
  .navbar-container .navbar-wrapper {
    max-width: 1366px;
    width: 100%;
    padding: 0 15px;
    position: relative;
    margin: 0 auto; }
    .navbar-container .navbar-wrapper:after {
      display: table;
      content: "";
      clear: both; }

.mobile-menu-toggler {
  display: none;
  padding: 0;
  position: fixed;
  right: 20px;
  top: 22px;
  background: transparent;
  border: none;
  z-index: 1234; }
  .mobile-menu-toggler .icon-bar {
    background: #404041;
    width: 33px;
    height: 2px;
    display: block;
    margin-bottom: 9px;
    position: relative;
    top: 0;
    opacity: 1;
    transition: all .3s ease-out; }
    .mobile-menu-toggler .icon-bar:last-child {
      margin: 0; }
  .mobile-menu-toggler.open .icon-bar:nth-of-type(3) {
    transform: rotate(-45deg);
    top: -11px; }
  .mobile-menu-toggler.open .icon-bar:nth-of-type(2) {
    opacity: 0; }
  .mobile-menu-toggler.open .icon-bar:nth-of-type(1) {
    transform: rotate(45deg);
    top: 11px; }

.navbar-talisman {
  border: none;
  transition: all .4s ease-out;
  position: absolute;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
  top: 18px;
  right: 0;
  min-height: auto;
  background: transparent;
  width: calc(100% - 360px);
  padding-left: 100px; }
  .navbar-talisman .navbar-collapse {
    padding: 0; }
    .navbar-talisman .navbar-collapse .nav {
      margin: 0; }
      .navbar-talisman .navbar-collapse .nav li {
        margin: 0;
        position: relative; }
        .navbar-talisman .navbar-collapse .nav li a {
          color: #404041;
          padding: 10px 5px;
          font-size: 15px;
          text-align: center;
          text-transform: uppercase; }
          .navbar-talisman .navbar-collapse .nav li a span {
            display: inline-block;
            position: relative; }
            .navbar-talisman .navbar-collapse .nav li a span:before {
              content: "";
              display: block;
              position: absolute;
              width: calc(100% + 10px);
              height: 3px;
              top: auto;
              bottom: -5px;
              left: -5px;
              background-color: #f6be15;
              z-index: 2;
              transition: .3s;
              transition-timing-function: cubic-bezier(0.58, 0.3, 0.005, 1);
              transform: scale(0);
              opacity: 0; }
          .navbar-talisman .navbar-collapse .nav li a:hover {
            background: transparent;
            color: #404041; }
            .navbar-talisman .navbar-collapse .nav li a:hover span:before {
              transform: scale(1);
              opacity: 1; }
        .navbar-talisman .navbar-collapse .nav li.wpml-ls-item svg {
          display: none; }
        .navbar-talisman .navbar-collapse .nav li.active a,
        .navbar-talisman .navbar-collapse .nav li.active a:hover {
          background: transparent;
          color: #404041; }
          .navbar-talisman .navbar-collapse .nav li.active a span:before,
          .navbar-talisman .navbar-collapse .nav li.active a:hover span:before {
            transform: scale(1);
            opacity: 1; }

@media screen and (max-width: 767px) {
  .navbar-container {
    height: 70px;
    top: 0; }
    .navbar-container .logo {
      float: left;
      left: 10px;
      margin: 0 auto;
      width: auto;
      top: 22px; }
      .navbar-container .logo a {
        display: block; }
        .navbar-container .logo a img {
          height: 30px; }
  .mobile-menu-toggler {
    display: block; }
  .navbar-talisman {
    position: fixed;
    top: 70px;
    bottom: 0;
    background: rgba(0, 0, 0, 0.9);
    width: 100%;
    left: 0;
    right: 0;
    padding: 0;
    transform: none;
    display: none;
    visibility: hidden;
    z-index: 1234567; }
    .navbar-talisman.open {
      display: block !important;
      visibility: visible !important; }
    .navbar-talisman .navbar-collapse {
      display: block;
      opacity: 1;
      visibility: visible;
      width: 100%;
      margin: 0;
      top: 80px;
      position: relative;
      box-shadow: none; }
      .navbar-talisman .navbar-collapse .nav {
        margin: 0;
        padding: 0;
        text-align: center;
        width: 100%; }
        .navbar-talisman .navbar-collapse .nav li {
          display: block;
          float: none;
          margin: 0;
          margin-bottom: 40px; }
          .navbar-talisman .navbar-collapse .nav li a {
            text-align: center; }
            .navbar-talisman .navbar-collapse .nav li a span:before {
              top: 50px;
              opacity: 1;
              transform: scale(1);
              width: 20px;
              left: 50%;
              margin-left: -10px; }
          .navbar-talisman .navbar-collapse .nav li a,
          .navbar-talisman .navbar-collapse .nav li a:hover,
          .navbar-talisman .navbar-collapse .nav li a:focus {
            background: transparent;
            color: #fff;
            font-weight: 400; }
          .navbar-talisman .navbar-collapse .nav li.active a,
          .navbar-talisman .navbar-collapse .nav li.active a:hover {
            background: transparent;
            color: #fff;
            font-weight: 700; }
          .navbar-talisman .navbar-collapse .nav li:last-child a span:before {
            display: none; } }

html.no-admin {
  margin-top: 0 !important; }

html.no-admin #wpadminbar {
  display: none !important; }

body {
  position: relative;
  font-size: 12px;
  color: #404041;
  background: #fff;
  font-family: "BrasiliaShort";
  overflow-x: hidden; }

h2 {
  font-size: 23px;
  margin-bottom: 60px;
  text-align: left;
  position: relative;
  letter-spacing: 7px;
  line-height: 1.8em; }
  h2.decorated span {
    position: relative;
    z-index: 2; }
  h2.decorated:after, h2.decorated:before {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    z-index: 1;
    left: -50px;
    transform: translateY(-50%);
    top: 50%; }
  h2.decorated:after {
    background: #f6be15; }
  h2.decorated:before {
    left: -42px;
    margin-top: 8px;
    border: solid 1px #ab8310; }

h1.section-heading {
  letter-spacing: 3px;
  font-size: 15px;
  text-transform: uppercase;
  margin: 0 0 85px;
  text-align: center; }
  h1.section-heading span {
    display: inline-block;
    position: relative; }
    h1.section-heading span:before {
      content: "";
      display: block;
      position: absolute;
      width: calc(100% + 10px);
      height: 3px;
      top: auto;
      bottom: -10px;
      left: -5px;
      background-color: #f6be15;
      z-index: 2;
      transition: .3s;
      transition-timing-function: cubic-bezier(0.58, 0.3, 0.005, 1); }

p,
li,
a {
  font-size: 18px; }

p {
  margin-bottom: 20px;
  letter-spacing: 2px;
  line-height: 2em; }

li {
  letter-spacing: 3px; }

p, ul, ol, li {
  font-family: "HelveticaNeue"; }

a {
  color: #404041; }
  a:hover {
    color: #ab7855; }

button,
a {
  outline: none !important; }
  button.btn,
  a.btn {
    font-family: "HelveticaNeue"; }
    button.btn.btn-talisman,
    a.btn.btn-talisman {
      position: relative;
      height: 65px;
      padding: 0;
      padding-right: 30px;
      background: transparent !important;
      border: none !important;
      color: #fff;
      letter-spacing: 2px;
      font-size: 14px; }
      button.btn.btn-talisman span,
      a.btn.btn-talisman span {
        position: relative;
        z-index: 2;
        text-transform: uppercase; }
      button.btn.btn-talisman i,
      a.btn.btn-talisman i {
        display: inline-block;
        width: 25px;
        height: 10px;
        background-image: url(211dd7e9f2c8fb139022af18a01fc3c4.png);
        background-repeat: no-repeat;
        position: relative;
        top: 1px;
        transition: all .3s;
        margin-left: 15px; }
      button.btn.btn-talisman:after, button.btn.btn-talisman:before,
      a.btn.btn-talisman:after,
      a.btn.btn-talisman:before {
        content: "";
        position: absolute;
        width: 85px;
        height: 65px;
        z-index: 1;
        left: -40px;
        transform: translateY(-50%);
        top: 50%; }
      button.btn.btn-talisman:after,
      a.btn.btn-talisman:after {
        background: #f6be15; }
      button.btn.btn-talisman:before,
      a.btn.btn-talisman:before {
        left: -35px;
        margin-top: 5px;
        border: solid 1px #f6be15; }
      button.btn.btn-talisman.btn-talisman-full,
      a.btn.btn-talisman.btn-talisman-full {
        height: 62px;
        font-size: 18px;
        background: #f6be15;
        color: #404041;
        padding: 0 30px; }
        button.btn.btn-talisman.btn-talisman-full:after,
        a.btn.btn-talisman.btn-talisman-full:after {
          width: 100%;
          left: 0; }
        button.btn.btn-talisman.btn-talisman-full:before,
        a.btn.btn-talisman.btn-talisman-full:before {
          left: 5px;
          width: 100%; }

.no-padding {
  padding: 0 !important; }

.page-title {
  display: none; }

.text-bold {
  font-weight: 500; }

.vertical-align {
  display: flex;
  align-items: center; }

.lang-en {
  font-family: "Myriad Pro"; }

#swipebox-overlay {
  background: rgba(42, 67, 91, 0.7) !important; }

#swipebox-bottom-bar,
#swipebox-top-bar {
  display: none !important;
  background: #2a435b !important; }

#projectMap {
  height: 65vh;
  max-height: 800px;
  width: 100%; }

.nav.nav-pills.nav-pills-talisman {
  width: 100%;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: none;
  z-index: 12;
  border: none;
  padding-bottom: 20px;
  text-align: center; }
  .nav.nav-pills.nav-pills-talisman > li:not(.item) {
    display: inline-block;
    float: none;
    margin: 0 90px;
    position: relative; }
    .nav.nav-pills.nav-pills-talisman > li:not(.item):after {
      content: "/";
      display: block;
      position: absolute;
      z-index: 2;
      top: 1px;
      left: -95px;
      font-size: 20px; }
    .nav.nav-pills.nav-pills-talisman > li:not(.item):first-child:after {
      display: none; }
    .nav.nav-pills.nav-pills-talisman > li:not(.item) > a {
      margin: 0;
      border-radius: 0;
      border: none !important;
      background-color: transparent;
      color: #404041;
      padding: 3px 10px;
      font-size: 15px;
      text-transform: uppercase; }
      .nav.nav-pills.nav-pills-talisman > li:not(.item) > a:before {
        content: "";
        display: block;
        position: absolute;
        width: calc(100% + 10px);
        height: 3px;
        top: auto;
        bottom: -5px;
        left: -5px;
        background-color: #f6be15;
        z-index: 2;
        transition: .3s;
        transition-timing-function: cubic-bezier(0.58, 0.3, 0.005, 1);
        transform: scale(0);
        opacity: 0; }
      .nav.nav-pills.nav-pills-talisman > li:not(.item) > a:hover:before {
        opacity: 1;
        transform: scale(1); }
    .nav.nav-pills.nav-pills-talisman > li:not(.item).active a:before {
      opacity: 1;
      transform: scale(1); }

.clients-logos {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  align-items: center; }
  .clients-logos .item {
    width: 16.6666665%;
    padding: 30px 15px; }
    .clients-logos .item img {
      display: inline-block;
      max-width: 100%;
      vertical-align: middle; }

.text-container {
  max-width: 900px;
  margin: 0 auto; }

@media only screen and (min-width: 768px) {
  .nav-pills-squares {
    margin-top: 50px; }
    .nav-pills-squares li {
      display: block;
      float: none;
      margin-bottom: 70px; }
      .nav-pills-squares li a {
        display: block;
        color: #000;
        letter-spacing: 7px;
        max-width: 230px;
        border-radius: 0; }
        .nav-pills-squares li a:hover {
          background: transparent; }
          .nav-pills-squares li a:hover:after {
            background: #f6be15; }
          .nav-pills-squares li a:hover:before {
            border: solid 1px #f6be15; }
        .nav-pills-squares li a span {
          position: relative;
          z-index: 2; }
        .nav-pills-squares li a:after, .nav-pills-squares li a:before {
          content: "";
          position: absolute;
          width: 120px;
          height: 85px;
          z-index: 1;
          left: -50px;
          transform: translateY(-50%);
          top: 50%;
          transition: all .3s; }
        .nav-pills-squares li a:after {
          background: #f2f5f6; }
        .nav-pills-squares li a:before {
          left: -42px;
          margin-top: 8px;
          border: solid 1px #f2f5f6; }
      .nav-pills-squares li.active a,
      .nav-pills-squares li.active a:hover,
      .nav-pills-squares li.active a:focus {
        background: transparent;
        color: #000; }
        .nav-pills-squares li.active a:after,
        .nav-pills-squares li.active a:hover:after,
        .nav-pills-squares li.active a:focus:after {
          background: #f6be15; }
        .nav-pills-squares li.active a:before,
        .nav-pills-squares li.active a:hover:before,
        .nav-pills-squares li.active a:focus:before {
          border: solid 1px #f6be15; } }

section {
  position: relative;
  padding: 15px; }
  section.section-home-about {
    background: #f2f5f6;
    margin: 0;
    padding: 60px 0; }
    section.section-home-about .text-container {
      padding: 120px 0; }
      section.section-home-about .text-container p {
        margin-bottom: 30px;
        text-align: justify; }
  section.section-home-projects {
    padding: 75px 0 0; }
    section.section-home-projects .projects-slider-container {
      margin-top: 75px;
      margin-bottom: 75px; }
  section.section-about {
    background: #f2f5f6;
    padding: 70px 15px; }
  section.section-expertises {
    padding: 70px 15px; }
    section.section-expertises .service-mobile-content {
      display: none; }
    section.section-expertises .nav-pills-squares a {
      font-family: "BrasiliaShort"; }
    section.section-expertises .tab-pane h2, section.section-expertises .service-mobile-content h2 {
      margin-top: 50px;
      margin-bottom: 50px;
      letter-spacing: 10px;
      color: #f6be15; }
    section.section-expertises .read-more-text {
      display: none; }
  section.section-about-contact {
    background-size: cover;
    background-position: center;
    padding: 135px 15px; }
    section.section-about-contact:after {
      position: absolute;
      display: block;
      content: "";
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.65); }
    section.section-about-contact .section-content {
      position: relative;
      z-index: 2; }
    section.section-about-contact .btn-talisman {
      margin: 0 80px; }
    section.section-about-contact h2 {
      color: #fff; }
  section.section-about-clients {
    padding: 110px 15px; }
  section.section-media {
    padding: 80px 50px; }
    section.section-media h1.section-heading {
      margin-bottom: 55px; }
  section.section-projects {
    padding: 30px 30px 30px; }
    section.section-projects .nav.nav-pills.nav-pills-talisman {
      padding-bottom: 35px; }
      section.section-projects .nav.nav-pills.nav-pills-talisman li a {
        pointer-events: none; }
  section.section-contact {
    padding: 80px 10%; }
  section.section-map {
    padding: 0px; }
  section.section-project {
    padding: 60px 15px; }

footer {
  text-align: center;
  width: 100%;
  padding: 15px 0 10px;
  background: #6d6e71; }
  footer .copyright {
    color: #fff;
    font-size: 16px;
    font-family: "HelveticaNeue"; }
  footer span {
    margin: 0 10px; }
  footer img {
    position: relative;
    top: -2px; }

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.2
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2017 Daniel Eden
 */
.animated {
  animation-duration: 1s;
  animation-fill-mode: both; }

.animated.infinite {
  animation-iteration-count: infinite; }

.animated.hinge {
  animation-duration: 2s; }

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  animation-duration: .75s; }

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0); }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0); }
  90% {
    transform: translate3d(0, -4px, 0); } }

.bounce {
  animation-name: bounce;
  transform-origin: center bottom; }

@keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1); }
  50% {
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    transform: scale3d(1, 1, 1); } }

.pulse {
  animation-name: pulse; }

@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1); }
  30% {
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    transform: scale3d(1.05, 0.95, 1); }
  to {
    transform: scale3d(1, 1, 1); } }

.rubberBand {
  animation-name: rubberBand; }

@keyframes shake {
  from, to {
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0); } }

.shake {
  animation-name: shake; }

@keyframes headShake {
  0% {
    transform: translateX(0); }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    transform: translateX(2px) rotateY(3deg); }
  50% {
    transform: translateX(0); } }

.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake; }

@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  transform-origin: top center;
  animation-name: swing; }

@keyframes tada {
  from {
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    transform: scale3d(1, 1, 1); } }

.tada {
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
  from {
    transform: none; }
  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    transform: none; } }

.wobble {
  animation-name: wobble; }

@keyframes jello {
  from, 11.1%, to {
    transform: none; }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.jello {
  animation-name: jello;
  transform-origin: center; }

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1); } }

.bounceIn {
  animation-name: bounceIn; }

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0); }
  75% {
    transform: translate3d(0, -10px, 0); }
  90% {
    transform: translate3d(0, 5px, 0); }
  to {
    transform: none; } }

.bounceInDown {
  animation-name: bounceInDown; }

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0); }
  75% {
    transform: translate3d(-10px, 0, 0); }
  90% {
    transform: translate3d(5px, 0, 0); }
  to {
    transform: none; } }

.bounceInLeft {
  animation-name: bounceInLeft; }

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0); }
  75% {
    transform: translate3d(10px, 0, 0); }
  90% {
    transform: translate3d(-5px, 0, 0); }
  to {
    transform: none; } }

.bounceInRight {
  animation-name: bounceInRight; }

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0); }
  75% {
    transform: translate3d(0, 10px, 0); }
  90% {
    transform: translate3d(0, -5px, 0); }
  to {
    transform: translate3d(0, 0, 0); } }

.bounceInUp {
  animation-name: bounceInUp; }

@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  animation-name: bounceOut; }

@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0); } }

.bounceOutDown {
  animation-name: bounceOutDown; }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0); } }

.bounceOutLeft {
  animation-name: bounceOutLeft; }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0); } }

.bounceOutRight {
  animation-name: bounceOutRight; }

@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0); } }

.bounceOutUp {
  animation-name: bounceOutUp; }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  animation-name: fadeIn; }

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInDown {
  animation-name: fadeInDown; }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInDownBig {
  animation-name: fadeInDownBig; }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInLeft {
  animation-name: fadeInLeft; }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInLeftBig {
  animation-name: fadeInLeftBig; }

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInRight {
  animation-name: fadeInRight; }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInRightBig {
  animation-name: fadeInRightBig; }

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInUp {
  animation-name: fadeInUp; }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    transform: none; } }

.fadeInUpBig {
  animation-name: fadeInUpBig; }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  animation-name: fadeOut; }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  animation-name: fadeOutDown; }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0); } }

.fadeOutDownBig {
  animation-name: fadeOutDownBig; }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  animation-name: fadeOutLeft; }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0); } }

.fadeOutLeftBig {
  animation-name: fadeOutLeftBig; }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0); } }

.fadeOutRight {
  animation-name: fadeOutRight; }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0); } }

.fadeOutRightBig {
  animation-name: fadeOutRightBig; }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0); } }

.fadeOutUp {
  animation-name: fadeOutUp; }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0); } }

.fadeOutUpBig {
  animation-name: fadeOutUpBig; }

@keyframes flip {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out; }
  40% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out; }
  50% {
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in; }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    animation-timing-function: ease-in; }
  to {
    transform: perspective(400px);
    animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation-name: flip; }

@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in; }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    transform: perspective(400px); } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInX; }

@keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in; }
  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    transform: perspective(400px); } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInY; }

@keyframes flipOutX {
  from {
    transform: perspective(400px); }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.flipOutX {
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@keyframes flipOutY {
  from {
    transform: perspective(400px); }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipOutY; }

@keyframes lightSpeedIn {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    transform: none;
    opacity: 1; } }

.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out; }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in; }

@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    transform-origin: center;
    transform: none;
    opacity: 1; } }

.rotateIn {
  animation-name: rotateIn; }

@keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1; } }

.rotateInDownLeft {
  animation-name: rotateInDownLeft; }

@keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1; } }

.rotateInDownRight {
  animation-name: rotateInDownRight; }

@keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    transform-origin: left bottom;
    transform: none;
    opacity: 1; } }

.rotateInUpLeft {
  animation-name: rotateInUpLeft; }

@keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    transform-origin: right bottom;
    transform: none;
    opacity: 1; } }

.rotateInUpRight {
  animation-name: rotateInUpRight; }

@keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1; }
  to {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.rotateOut {
  animation-name: rotateOut; }

@keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1; }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  animation-name: rotateOutDownLeft; }

@keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1; }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownRight {
  animation-name: rotateOutDownRight; }

@keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1; }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  animation-name: rotateOutUpLeft; }

@keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1; }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.rotateOutUpRight {
  animation-name: rotateOutUpRight; }

@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.hinge {
  animation-name: hinge; }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom; }
  50% {
    transform: rotate(-10deg); }
  70% {
    transform: rotate(3deg); }
  to {
    opacity: 1;
    transform: scale(1); } }

.jackInTheBox {
  animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    transform: none; } }

.rollIn {
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.rollOut {
  animation-name: rollOut; }

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  animation-name: zoomIn; }

@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  animation-name: zoomInDown; }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  animation-name: zoomInLeft; }

@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  animation-name: zoomInRight; }

@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  animation-name: zoomInUp; }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.zoomOut {
  animation-name: zoomOut; }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  animation-name: zoomOutDown; }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center; } }

.zoomOutLeft {
  animation-name: zoomOutLeft; }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center; } }

.zoomOutRight {
  animation-name: zoomOutRight; }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  animation-name: zoomOutUp; }

@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

.slideInDown {
  animation-name: slideInDown; }

@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

.slideInLeft {
  animation-name: slideInLeft; }

@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

.slideInRight {
  animation-name: slideInRight; }

@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    transform: translate3d(0, 0, 0); } }

.slideInUp {
  animation-name: slideInUp; }

@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  animation-name: slideOutDown; }

@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  animation-name: slideOutLeft; }

@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  animation-name: slideOutRight; }

@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  animation-name: slideOutUp; }

.loader-wrapper {
  position: fixed;
  direction: ltr;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #6d6e71;
  z-index: 999999999;
  opacity: 0;
  -webkit-transition: all 1s ease-out;
  -moz-transition: all 1s ease-out;
  -o-transition: all 1s ease-out;
  transition: all 1s ease-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.loader-wrapper.open {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1; }

.loader-wrapper.loader-ajax {
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
  display: none; }

.loader-wrapper .loader {
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  width: 150px;
  height: 150px;
  margin: -75px 0 0 -75px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #fff;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite; }

.loader-wrapper .loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #fff;
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3s linear infinite; }

.loader-wrapper .loader:after {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #fff;
  -webkit-animation: spin 1.5s linear infinite;
  animation: spin 1.5s linear infinite; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg); } }

.wrap_marker {
  position: absolute; }

.wrap_marker.show_info .wrap_marker_text {
  display: block;
  left: 50%;
  margin-left: -150px;
  top: 65px; }

.wrap_marker_text {
  border: solid 2px #211f43;
  background: rgba(54, 51, 83, 0.85);
  width: 300px;
  padding: 20px 10px 10px;
  z-index: 9;
  position: absolute;
  display: none;
  text-align: center; }

.text_marker {
  color: #fff;
  font-size: 22px;
  letter-spacing: 1px;
  line-height: 27px; }

.title_marker {
  color: #fff;
  font-size: 26px; }

.link_marker {
  color: #ffffff;
  font-size: 22px;
  display: block;
  letter-spacing: 1px;
  padding: 10px 3px;
  background: #322f4f;
  border: solid 1px #fff;
  text-align: center;
  width: 70%;
  margin: 15px auto 0; }
  .link_marker:hover {
    color: #fff; }

.marker_box {
  background: url(adda75695c9859b33afd821b9cc06012.png) 100%/contain no-repeat;
  cursor: pointer;
  position: absolute;
  height: 58px;
  width: 37px;
  -webkit-transition: 0.3s;
  transition: 0.3s; }

.marker_box.active-glow {
  background: url(adda75695c9859b33afd821b9cc06012.png) 100%/contain no-repeat; }

@media only screen and (min-width: 990px) {
  .text_marker {
    font-size: 20px !important;
    padding: 20px !important; }
  .title_marker {
    font-size: 30px !important;
    font-weight: 300;
    text-transform: uppercase;
    line-height: .8;
    border-right: none !important;
    border-left: none !important;
    padding: 0 !important;
    text-align: center !important;
    letter-spacing: -2px;
    padding-top: 15px !important;
    position: relative; }
    .title_marker:after {
      display: block;
      content: "";
      position: absolute;
      width: 80px;
      left: 50%;
      margin-left: -40px;
      height: 1px;
      bottom: -22px;
      background: #fff; }
  .marker_box {
    width: 32px !important; }
  .wrap_marker.show_info .wrap_marker_text {
    display: block !important; } }

section.section-home-projects .mobile-projects-list {
  display: none !important;
  padding: 0;
  margin: 0 !important; }
  section.section-home-projects .mobile-projects-list.active {
    display: block !important; }

.projects,
.projects-slider {
  width: 100%; }
  .projects:after,
  .projects-slider:after {
    content: "";
    display: table;
    clear: both; }
  .projects .item,
  .projects-slider .item {
    position: relative;
    width: 33.3333332%;
    padding-bottom: calc(26.66666665% - 50px);
    float: left; }
    .projects .item .item-content,
    .projects-slider .item .item-content {
      position: absolute;
      width: 35%;
      top: 0;
      bottom: 0;
      right: 0;
      background: #fff;
      transition: all 300ms ease-in;
      z-index: 1;
      border: solid 1px #dbdbdb;
      border-left: none; }
      .projects .item .item-content p.title,
      .projects-slider .item .item-content p.title {
        position: relative;
        display: block;
        font-size: 18px;
        margin: 0;
        top: 90px;
        left: -30px;
        text-transform: uppercase;
        line-height: 1.5em;
        font-family: "BrasiliaShort"; }
        .projects .item .item-content p.title span,
        .projects-slider .item .item-content p.title span {
          position: relative;
          z-index: 2; }
        .projects .item .item-content p.title:after, .projects .item .item-content p.title:before,
        .projects-slider .item .item-content p.title:after,
        .projects-slider .item .item-content p.title:before {
          content: "";
          position: absolute;
          width: 120px;
          height: 85px;
          z-index: 1;
          left: -50px;
          transform: translateY(-50%);
          top: 50%;
          transition: all .3s; }
        .projects .item .item-content p.title:after,
        .projects-slider .item .item-content p.title:after {
          background: #f2f5f6; }
        .projects .item .item-content p.title:before,
        .projects-slider .item .item-content p.title:before {
          left: -42px;
          margin-top: 8px;
          border: solid 1px #f2f5f6; }
      .projects .item .item-content p.readmore,
      .projects-slider .item .item-content p.readmore {
        font-size: 13px;
        position: absolute;
        bottom: 5px;
        text-align: center;
        width: 100%;
        text-transform: uppercase;
        margin: 0; }
        .projects .item .item-content p.readmore i,
        .projects-slider .item .item-content p.readmore i {
          display: inline-block;
          width: 25px;
          height: 10px;
          background-image: url(918ef4eebf81f8d8ed7780e869699873.png);
          background-repeat: no-repeat;
          position: relative;
          top: 1px;
          transition: all .3s; }
    .projects .item a,
    .projects-slider .item a {
      background-size: cover;
      position: absolute;
      display: block;
      height: 100%;
      top: 0;
      left: 25px;
      right: 25px;
      cursor: pointer;
      color: #000000; }
      .projects .item a:hover .item-content p.title:after,
      .projects-slider .item a:hover .item-content p.title:after {
        background: #f6be15; }
      .projects .item a:hover .item-content p.title:before,
      .projects-slider .item a:hover .item-content p.title:before {
        border: solid 1px #f6be15; }
      .projects .item a:hover .item-content p.readmore i,
      .projects-slider .item a:hover .item-content p.readmore i {
        background-image: url(1b316e9691c673872e777c0a5f612198.png); }

.projects-slider .item {
  width: 100%;
  float: none;
  padding-bottom: calc(26vw - 50px); }

.projects.projects-grid .item {
  margin-bottom: 40px;
  margin-top: 40px;
  padding-bottom: calc(27% - 50px); }

.projects-slider-container {
  padding: 0 50px 0px; }
  .projects-slider-container .bx-wrapper .bx-controls-direction {
    position: relative;
    text-align: center;
    height: 70px;
    padding-top: 60px; }
    .projects-slider-container .bx-wrapper .bx-controls-direction a {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      float: none;
      display: inline-block; }

.projects-details {
  padding: 35px 55px 30px; }
  .projects-details h3.decorated {
    position: relative;
    font-size: 18px;
    letter-spacing: 6px;
    display: flex;
    align-items: center; }
    .projects-details h3.decorated span {
      position: relative;
      z-index: 2; }
    .projects-details h3.decorated i {
      position: relative;
      left: 50px;
      display: inline-block;
      width: 120px;
      height: 120px; }
      .projects-details h3.decorated i:after, .projects-details h3.decorated i:before {
        content: "";
        position: absolute;
        width: 120px;
        height: 85px;
        z-index: 1;
        left: 0px;
        transform: translateY(-50%);
        top: 50%; }
      .projects-details h3.decorated i:after {
        background: #f6be15; }
      .projects-details h3.decorated i:before {
        left: 8px;
        margin-top: 8px;
        border: solid 1px #f6be15; }

.modal-backdrop.in {
  background: #000;
  opacity: 0.85;
  z-index: 1234; }

.modal {
  z-index: 1235; }
  .modal .modal-dialog {
    background: transparent;
    width: 100%;
    max-width: 1366px; }
  .modal .modal-content {
    background: #f2f5f6;
    border-radius: 0;
    box-shadow: none;
    border: none; }
    .modal .modal-content .close {
      position: absolute;
      top: 10px;
      color: #404041;
      z-index: 1;
      opacity: 1;
      right: 10px;
      font-weight: 300;
      padding: 2px 8px; }
    .modal .modal-content .modal-body {
      padding: 0; }
    .modal .modal-content .modal-header,
    .modal .modal-content .modal-footer {
      border: none; }

@media screen and (max-width: 767px) {
  .projects,
  .projects.projects-grid {
    width: 100%; }
    .projects .item,
    .projects.projects-grid .item {
      position: relative;
      width: 100%;
      padding-bottom: 50%;
      float: none;
      margin: 0;
      margin-bottom: 20px; }
      .projects .item a,
      .projects.projects-grid .item a {
        background-position: center;
        left: 0;
        right: 0;
        bottom: 0;
        top: 0; }
      .projects .item .item-content,
      .projects.projects-grid .item .item-content {
        width: 45%; }
        .projects .item .item-content p.title,
        .projects.projects-grid .item .item-content p.title {
          top: 40px;
          font-size: 15px; }
        .projects .item .item-content p.readmore,
        .projects.projects-grid .item .item-content p.readmore {
          font-size: 11px; }
  .projects-slider.bxslider {
    padding-top: 25px; }
    .projects-slider.bxslider .item {
      width: 100%;
      float: none;
      margin-bottom: 30px; }
  .projects-details {
    padding: 85px 40px 30px; }
    .projects-details h3.decorated {
      color: #fff;
      margin: 0;
      display: block;
      text-align: left;
      font-size: 18px;
      margin-bottom: 50px; }
      .projects-details h3.decorated span {
        display: block;
        position: relative;
        z-index: 2; }
      .projects-details h3.decorated i {
        position: absolute;
        left: 0px;
        display: block;
        width: 50px;
        height: 34px; }
        .projects-details h3.decorated i:after, .projects-details h3.decorated i:before {
          content: "";
          position: absolute;
          width: 120px;
          height: 85px;
          z-index: 1;
          left: -20px;
          transform: translateY(-50%);
          top: 50%; }
        .projects-details h3.decorated i:after {
          background: #f6be15; }
        .projects-details h3.decorated i:before {
          left: -15px;
          margin-top: 5px; }
    .projects-details p {
      color: #fff;
      text-align: justify; }
  .modal-backdrop.in {
    background: #000;
    opacity: 0.85;
    z-index: 1234; }
  .modal .modal-dialog {
    top: 0;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0; }
  .modal .modal-content {
    background: transparent; }
    .modal .modal-content .close {
      position: fixed;
      color: #fff;
      font-size: 24px; } }

.media-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0; }
  .media-list .item {
    padding: 3px;
    position: relative;
    width: 33.33333332%;
    display: block;
    padding: 37px 30px; }
    .media-list .item .content .photo {
      padding-bottom: 36%;
      background-size: cover;
      background-position: center; }
    .media-list .item .content p.title {
      position: relative;
      width: calc(100% - 75px);
      left: 75px;
      text-transform: uppercase;
      line-height: 1.5em;
      font-family: "BrasiliaShort"; }
      .media-list .item .content p.title span {
        position: relative;
        z-index: 2; }
      .media-list .item .content p.title:after, .media-list .item .content p.title:before {
        content: "";
        position: absolute;
        width: 120px;
        height: 110px;
        z-index: 1;
        left: -50px;
        bottom: -10px;
        transition: all .3s; }
      .media-list .item .content p.title:after {
        background: #f2f5f6; }
      .media-list .item .content p.title:before {
        left: -42px;
        bottom: -18px;
        border: solid 1px #f2f5f6; }
    .media-list .item .content p.readmore {
      font-size: 13px;
      position: absolute;
      bottom: -40px;
      text-align: right;
      width: 100%;
      text-transform: uppercase;
      margin: 0; }
      .media-list .item .content p.readmore i {
        display: inline-block;
        width: 25px;
        height: 10px;
        background-image: url(918ef4eebf81f8d8ed7780e869699873.png);
        background-repeat: no-repeat;
        position: relative;
        top: 1px;
        transition: all .3s; }
    .media-list .item .content a {
      position: relative;
      font-size: 18px;
      display: block;
      color: #404041; }
      .media-list .item .content a:hover {
        text-decoration: none; }
        .media-list .item .content a:hover p.title:after {
          background: #f6be15; }
        .media-list .item .content a:hover p.title:before {
          border: solid 1px #f6be15; }
        .media-list .item .content a:hover p.readmore i {
          background-image: url(1b316e9691c673872e777c0a5f612198.png); }

@media only screen and (max-width: 768px) {
  .media-list .item {
    border: solid 1px #d8d8d9;
    padding: 0;
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 20px; }
    .media-list .item .content p.title {
      top: 5px;
      left: 30px;
      width: calc(100% - 30px);
      font-size: 14px; }
      .media-list .item .content p.title span {
        position: relative;
        z-index: 2; }
      .media-list .item .content p.title:after, .media-list .item .content p.title:before {
        content: "";
        position: absolute;
        width: 70px;
        height: 65px;
        z-index: 1;
        left: -20px;
        bottom: -5px;
        transition: all .3s; }
      .media-list .item .content p.title:before {
        left: -15px;
        bottom: -10px;
        border: solid 1px #f2f5f6; }
    .media-list .item .content p.readmore {
      right: 15px;
      bottom: -34px;
      font-size: 12px; } }

.contact-form {
  max-width: 80%;
  padding-top: 20px; }
  .contact-form form:after {
    content: "";
    display: table;
    clear: both; }
  .contact-form form .form-required {
    display: none; }
  .contact-form form .form-group {
    position: relative;
    margin: 25px 0; }
    .contact-form form .form-group:first-child {
      margin-top: 0; }
    .contact-form form .form-group .form-control {
      letter-spacing: 3px;
      height: 35px;
      background-color: transparent;
      border-color: #fff;
      border-radius: 0;
      font-size: 13px;
      box-shadow: none;
      padding-left: 0;
      border-bottom: solid 2px #f7c326; }
    .contact-form form .form-group .checkbox-group {
      padding: 30px 0; }
      .contact-form form .form-group .checkbox-group span {
        margin: 0;
        letter-spacing: 3px;
        text-transform: uppercase; }

.message-sent {
  display: block;
  width: 100%;
  text-align: center;
  padding: 100px 0; }
  .message-sent p {
    font-size: 25px;
    font-weight: 600; }

.contact-details {
  text-transform: uppercase; }
  .contact-details p {
    font-family: "BrasiliaShort";
    font-size: 23px;
    letter-spacing: 7px; }
    .contact-details p a {
      font-size: 23px;
      color: #404041; }

.map-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-bottom: 40px; }

.map-container {
  width: 100%;
  height: 400px;
  position: relative;
  overflow: hidden; }

#contactMap {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0; }

.contact-message-text,
.contact-form-message {
  font-size: 30px;
  text-align: center;
  padding: 100px 0px; }

.contact-form-message {
  font-size: 50px;
  padding: 120px 0px; }

@media only screen and (max-width: 767px) {
  .contact-details {
    background: #f2f5f6;
    margin: 0 -20px;
    padding: 20px; }
    .contact-details h2,
    .contact-details p {
      font-size: 14px;
      letter-spacing: 3px; }
      .contact-details h2 a,
      .contact-details p a {
        font-size: 14px;
        color: #404041; }
    .contact-details h2.decorated:before, .contact-details h2.decorated:after {
      height: 55px;
      width: 55px;
      left: -10px; }
    .contact-details h2.decorated:before {
      left: -4px;
      margin-top: 6px;
      border: solid 1px #ab8310; }
    .contact-details h2.decorated span {
      left: 5%;
      width: 95%; }
  .contact-form {
    max-width: 100%;
    margin: 0 auto;
    padding: 30px 15px 0; }
    .contact-form form .form-group {
      margin: 15px 0; }
      .contact-form form .form-group .form-control {
        font-size: 14px; }
      .contact-form form .form-group .checkbox-group {
        padding: 10px 0;
        font-size: 10px;
        letter-spacing: 2px; }
      .contact-form form .form-group .btn {
        height: 50px; }
        .contact-form form .form-group .btn:after, .contact-form form .form-group .btn:before {
          height: 50px; }
  .map-container {
    height: 250px; } }

.carousel-fade .carousel-inner .item {
  opacity: 0;
  transition-property: opacity; }

.carousel-fade .carousel-inner .active {
  opacity: 1; }

.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  opacity: 0;
  z-index: 1; }

.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
  opacity: 1; }

.carousel .carousel-controls {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  height: 40px; }
  .carousel .carousel-controls .carousel-control {
    z-index: 2;
    outline: 0;
    width: 57px;
    height: 23px;
    margin: 0 30px;
    text-indent: -9999px;
    z-index: 99;
    transition: all 0.3s;
    opacity: 1;
    top: 8px;
    box-shadow: none; }
    .carousel .carousel-controls .carousel-control.left {
      background: url(92e13167f79a008b8d8ef88da8cd9afe.png);
      background-size: contain;
      background-repeat: no-repeat; }
      .carousel .carousel-controls .carousel-control.left:hover {
        background: url(cc9ac6f172644612c42ad7a34a107999.png); }
    .carousel .carousel-controls .carousel-control.right {
      background: url(6d6aa131ab6971da023ffc0b28a84d1c.png);
      background-size: contain;
      background-repeat: no-repeat; }
      .carousel .carousel-controls .carousel-control.right:hover {
        background: url(bdb00cbc303ead095a482aae52cd14f2.png); }

@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-fade .carousel-inner > .item.next,
  .carousel-fade .carousel-inner > .item.active.right {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  .carousel-fade .carousel-inner > .item.prev,
  .carousel-fade .carousel-inner > .item.active.left {
    opacity: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  .carousel-fade .carousel-inner > .item.next.left,
  .carousel-fade .carousel-inner > .item.prev.right,
  .carousel-fade .carousel-inner > .item.active {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.home-carousel .item,
.page-carousel .item,
.project-carousel .item {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }

.carousel {
  z-index: 1; }
  .carousel .carousel-inner {
    height: 100%; }
    .carousel .carousel-inner .item {
      position: absolute;
      width: 100%;
      height: 100%; }
      .carousel .carousel-inner .item.img-cover {
        overflow: hidden;
        position: relative; }
        .carousel .carousel-inner .item.img-cover img {
          position: absolute;
          top: -9999px;
          right: -9999px;
          bottom: -9999px;
          left: -9999px;
          margin: auto;
          min-width: 100%;
          min-height: 100%;
          max-width: inherit;
          opacity: 0;
          transform: scale(0); }

.home-carousel {
  height: 100vh; }

.page-carousel {
  height: 380px; }

.project-carousel-wrapper {
  padding-bottom: 82%;
  position: relative; }
  .project-carousel-wrapper .project-carousel {
    position: absolute;
    left: 0;
    width: 100%;
    top: 0;
    height: 100%; }

.carousel-indicators li {
  width: 15px;
  height: 15px;
  margin: 0 6px;
  background: transparent;
  border-color: #f6be15;
  border-radius: 0; }
  .carousel-indicators li.active {
    width: 15px;
    height: 15px;
    background: #f6be15;
    margin: 0 6px; }

@media only screen and (max-width: 767px) {
  .home-carousel {
    height: 250px; }
  .page-carousel {
    height: 150px; }
  .project-carousel-wrapper {
    margin-bottom: 80px;
    padding-bottom: 62.5%; }
    .project-carousel-wrapper .project-carousel {
      left: 20px;
      right: 20px;
      width: auto; }
      .project-carousel-wrapper .project-carousel .carousel-controls {
        bottom: -60px;
        background: transparent; }
        .project-carousel-wrapper .project-carousel .carousel-controls .carousel-control {
          margin: 0; }
          .project-carousel-wrapper .project-carousel .carousel-controls .carousel-control.left {
            background: url(5bb8a6494e780ff6e221b8a090b13238.png); }
            .project-carousel-wrapper .project-carousel .carousel-controls .carousel-control.left:hover {
              background: url(5bb8a6494e780ff6e221b8a090b13238.png); }
          .project-carousel-wrapper .project-carousel .carousel-controls .carousel-control.right {
            background: url(93884b512778d90327c209549a5f153c.png); }
            .project-carousel-wrapper .project-carousel .carousel-controls .carousel-control.right:hover {
              background: url(93884b512778d90327c209549a5f153c.png); } }

@media only screen and (max-width: 767px) {
  p,
  li {
    font-size: 14px; }
    p.lang-en,
    li.lang-en {
      font-size: 18px; }
  span.lang-en {
    font-size: 18px; }
  h2 {
    font-size: 16px;
    margin-top: 10px;
    margin-bottom: 35px;
    letter-spacing: 2px; }
    h2.decorated span {
      position: relative;
      z-index: 2;
      display: block;
      width: 90%;
      left: 10%; }
    h2.decorated:after, h2.decorated:before {
      width: 80px;
      height: 60px;
      height: calc(100% + 20px);
      left: calc(10% - 30px); }
    h2.decorated:before {
      left: calc(10% - 24px);
      margin-top: 6px; }
  h3,
  .title-h3 {
    text-align: center;
    font-size: 24px;
    margin-top: 10px;
    margin-bottom: 20px; }
  footer {
    padding: 10px 0; }
    footer .copyright {
      font-size: 13px; }
      footer .copyright img {
        height: 11px;
        top: 0px; }
  .mobile-menu-bar {
    display: block; }
  .scrolldown {
    display: none; }
  .vertical-align {
    display: block; }
  .page-title {
    position: absolute;
    top: 20px;
    left: 70px;
    display: block;
    color: #ac7955;
    font-size: 25px; }
  .tab-content .tab-pane {
    border: none !important; }
  .clients-logos .item {
    width: 33.333332%;
    padding: 30px 5px;
    min-height: 150px;
    vertical-align: middle;
    position: relative; }
    .clients-logos .item img {
      display: block;
      max-width: 100%;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: calc(100% - 10px); }
  .nav.nav-pills.nav-pills-talisman,
  .nav-pills-squares {
    padding: 10px 0; }
    .nav.nav-pills.nav-pills-talisman > li:not(.item),
    .nav-pills-squares > li:not(.item) {
      display: block;
      float: none;
      margin: 14px 0; }
      .nav.nav-pills.nav-pills-talisman > li:not(.item) > a,
      .nav-pills-squares > li:not(.item) > a {
        background: transparent !important;
        padding: 10px 20px;
        font-size: 13px;
        color: #000 !important;
        font-weight: bold;
        border: solid 1px #f6be15 !important;
        text-align: left;
        border-radius: 0; }
        .nav.nav-pills.nav-pills-talisman > li:not(.item) > a:before,
        .nav-pills-squares > li:not(.item) > a:before {
          display: none; }
        .nav.nav-pills.nav-pills-talisman > li:not(.item) > a:after,
        .nav-pills-squares > li:not(.item) > a:after {
          position: absolute;
          content: "";
          display: block;
          width: 37px;
          height: 16px;
          background-image: url(bdb00cbc303ead095a482aae52cd14f2.png);
          background-repeat: no-repeat;
          background-size: contain;
          top: 13px;
          right: 5px;
          transition: all .3s; }
      .nav.nav-pills.nav-pills-talisman > li:not(.item).active a,
      .nav-pills-squares > li:not(.item).active a {
        background-color: #f6be15 !important;
        color: #000 !important; }
        .nav.nav-pills.nav-pills-talisman > li:not(.item).active a:after,
        .nav-pills-squares > li:not(.item).active a:after {
          width: 13px;
          height: 13px;
          right: 10px;
          background-image: url(ba9afac142ff38e13031db1f5aae9c90.png); }
      .nav.nav-pills.nav-pills-talisman > li:not(.item).active .service-mobile-content,
      .nav-pills-squares > li:not(.item).active .service-mobile-content {
        display: block; }
  .text-container {
    padding: 20px; }
  h1.section-heading {
    margin-bottom: 30px; }
  section {
    padding: 10px 15px;
    margin: 0;
    overflow-x: hidden; }
    section.section-home-about, section.section-about {
      padding: 15px 0; }
      section.section-home-about p, section.section-about p {
        margin-bottom: 10px; }
      section.section-home-about ul, section.section-about ul {
        list-style: disc;
        padding-left: 20px; }
        section.section-home-about ul li, section.section-about ul li {
          padding-left: 1em;
          text-indent: -1em; }
          section.section-home-about ul li:before, section.section-about ul li:before {
            display: none; }
      section.section-home-about .text-container, section.section-about .text-container {
        padding: 20px; }
    section.section-about-contact {
      padding: 30px 15px; }
      section.section-about-contact h2 {
        font-size: 12px; }
      section.section-about-contact .btn-talisman {
        padding-right: 0;
        margin: 20px auto;
        display: block; }
        section.section-about-contact .btn-talisman:before, section.section-about-contact .btn-talisman:after {
          height: 45px; }
    section.section-expertises {
      padding: 20px 15px;
      min-height: calc(100vh - 195px); }
      section.section-expertises h1 {
        display: none; }
      section.section-expertises .tab-content {
        display: none; }
      section.section-expertises .tab-content h2,
      section.section-expertises .service-mobile-content h2 {
        margin: 20px 0;
        letter-spacing: 4px; }
        section.section-expertises .tab-content h2.decorated-title,
        section.section-expertises .service-mobile-content h2.decorated-title {
          margin: 40px 0; }
          section.section-expertises .tab-content h2.decorated-title span,
          section.section-expertises .service-mobile-content h2.decorated-title span {
            position: relative;
            z-index: 2;
            padding-left: 35px;
            color: #000; }
          section.section-expertises .tab-content h2.decorated-title:after, section.section-expertises .tab-content h2.decorated-title:before,
          section.section-expertises .service-mobile-content h2.decorated-title:after,
          section.section-expertises .service-mobile-content h2.decorated-title:before {
            content: "";
            position: absolute;
            width: 80px;
            height: 65px;
            z-index: 1;
            left: 0;
            transform: translateY(-50%);
            top: 50%;
            transition: all .3s; }
          section.section-expertises .tab-content h2.decorated-title:before,
          section.section-expertises .service-mobile-content h2.decorated-title:before {
            background: #f6be15; }
          section.section-expertises .tab-content h2.decorated-title:after,
          section.section-expertises .service-mobile-content h2.decorated-title:after {
            left: 5px;
            margin-top: 5px;
            border: solid 1px #f6be15; }
    section.section-about-clients {
      padding: 30px 30px; }
    section.section-home-projects {
      padding: 10px 15px; }
      section.section-home-projects .projects-slider-container {
        display: none; }
    section.section-projects {
      padding: 20px; }
      section.section-projects h1.section-heading {
        margin-bottom: 30px; }
    section.section-media {
      margin: 0;
      padding: 20px; }
      section.section-media h1.section-heading {
        margin-bottom: 30px; }
      section.section-media .media-list {
        padding: 0; }
    section.section-contact {
      padding: 20px; }
      section.section-contact .row {
        margin: 0; }
        section.section-contact .row .col-md-6 {
          padding: 0; }
      section.section-contact .map-wrapper {
        left: 0; }
        section.section-contact .map-wrapper .map-container {
          border-radius: 0;
          width: 100%;
          height: 300px; }
    section.section-project {
      padding: 15px; }
      section.section-project .project-details {
        padding: 10px; }
      section.section-project .nav-tabs {
        margin: 0 -15px; }
      section.section-project .tab-pane {
        margin: 0 -15px;
        padding: 15px; }
        section.section-project .tab-pane.no-padding {
          padding: 0 !important; }
      section.section-project .project-carousel {
        margin-bottom: 40px; }
        section.section-project .project-carousel .carousel-indicators {
          bottom: -45px; }
      section.section-project h2 {
        color: #fff;
        display: inline-block;
        font-size: 26px;
        line-height: 40px;
        padding: 4px 10px;
        background: #272746; } }

@media only screen and (min-width: 768px) {
  .col-flip-ltr {
    float: right; }
  .flex-cols {
    position: relative;
    display: flex; }
    .flex-cols.cols-flip-ltr {
      flex-direction: row-reverse; }
    .flex-cols .col-flex-8 {
      width: 66.66666666665%; }
    .flex-cols .col-flex-4 {
      width: 33.33333333332%; }
  .project-details-column {
    position: absolute;
    top: 0;
    bottom: 0;
    overflow-y: auto; } }

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