/* ------------------------------------------------------------------------------

  1.  Global

      1.1 General
      1.2 Typography
      1.3 Fields
      1.4 Buttons
      1.5 Forms
      1.6 Preloader

  2.  Header

  3.  Home Zoom Parallax

  4.  Home Horizontal

      4.1 Home Horizontal Navs
      4.2 Home Horizontal Setting
      4.3 Home Horizontal Animation
      4.4 Home Horizontal Dark Settings


  5.  Home Piling

  6.  Home Minimal

  7.  Home Video

  8.  Home 3D

  9.  Home Flash

  10. Work Pages

  11. Project Card

  12. News Pages

  13. Pages

  14. Footer

  15. Nav-panel

  16. Expertise

  17. Metodologia

  18. Clientes


*/


/*-------------------------------------------------------------------------------
  1. Global
-------------------------------------------------------------------------------*/


/* 1.1 General */

/*
@import url('https://fonts.googleapis.com/css?family=Karla:400,400i,700,700i');
@import url('https://fonts.googleapis.com/css?family=Teko:400,500,700');
@import url('https://fonts.googleapis.com/css?family=Libre+Baskerville:400,400i,700');
@import url('https://fonts.googleapis.com/css?family=Abril+Fatface');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap');

@font-face {
  font-family: 'Butler';
  src: url('../fonts/butler_regular-webfont.eot');
  src: url('../fonts/butler_regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/butler_regular-webfont.woff2') format('woff2'), url('../fonts/butler_regular-webfont.woff') format('woff'), url('../fonts/butler_regular-webfont.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Butler';
  src: url('../fonts/butler_bold-webfont.eot');
  src: url('../fonts/butler_bold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/butler_bold-webfont.woff2') format('woff2'), url('../fonts/butler_bold-webfont.woff') format('woff'), url('../fonts/butler_bold-webfont.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'Butler';
  src: url('../fonts/butler_extrabold-webfont.eot');
  src: url('../fonts/butler_extrabold-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/butler_extrabold-webfont.woff2') format('woff2'), url('../fonts/butler_extrabold-webfont.woff') format('woff'), url('../fonts/butler_extrabold-webfont.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Butler Stencil Bold';
  font-style: normal;
  font-weight: normal;
  src: local('Butler Stencil Bold'), url('../fonts/Butler_Bold_Stencil.woff') format('woff');
}
*/
/*
@font-face {
  font-family: 'FunnelDisplay';
  src: url('../fonts/FunnelDisplay-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'FunnelDisplay';
  src: url('../fonts/FunnelDisplay-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'FunnelDisplay';
  src: url('../fonts/FunnelDisplay-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'FunnelDisplay';
  src: url('../fonts/FunnelDisplay-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'FunnelDisplay';
  src: url('../fonts/FunnelDisplay-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'FunnelDisplay';
  src: url('../fonts/FunnelDisplay-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
}
*/
html {
  font-size: 12px;
}

body {
  -webkit-font-smoothing: antialiased;
  /*font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;*/
  font-family: "Funnel Display", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #000000;
}

html>body .underline {
  text-decoration: underline;
}

html>body .underline:hover {
  text-decoration: none;
}

::selection {
  background-color: #2d1a6a;
  color: #ffffff;
  text-shadow: none;
}

-webkit-::selection {
  background-color: #2d1a6a;
  color: #ffffff;
  text-shadow: none;
}

::-moz-selection {
  background-color: #2d1a6a;
  color: #ffffff;
  text-shadow: none;
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-thumb {
  cursor: pointer;
  background: #2e2e2e;
}

.container-fluid-md {
  padding-left: 15px;
  padding-right: 15px;
}

.logo{
  width:10rem;
}

.hidden {
  display: none;
}

.menu-title {  
  font-style: normal;
  font-weight: 600;
  font-size: 24px;
  line-height: 29px;
  color: #EFF7FF;
  margin-top: 17px;
  margin-bottom: 0;
}

.menu-title-capacidades {  
  font-style: normal;
  font-weight: 700;
  font-size: 40px;
  line-height: 46px;
  letter-spacing: -.05em;
  display: flex;
  align-items: center;
  color: #0E3541;
  margin-bottom: 30px;
}

.expertise-description-capacidades {  
  font-style: normal;
  font-weight: 300;
  font-size: 22px;
  line-height: 28px;
  color: #000000;
}

.logoBP4 {
  /*width: 3rem;*/
  width:150px;
}

.burger-button-width {
  width: 3rem;
}

.flex {
  display: flex;
}

.flex-column {
  flex-direction: column;
}

.img-responsive {
  max-width: 100%;
  height: auto;
}

.row-10 {
  margin-left: -5px;
  margin-right: -5px;
}

.row-10>[class^="col-"],
.row-10>[class*=" col-"] {
  padding-left: 5px;
  padding-right: 5px;
}

#capacidades2 .video-container,
#clientes .video-container {
  z-index: 1;
}

/** EOM **/
#capacidades2 .modal-header .close {
  opacity: 1 !important;
}

#capacidades2 .modal-header .close img {
  margin: 20px;
  padding: 0;
}

/** EOM **/
#capacidades2 .expertise-img {
  /*width: 100%;*/
  width: auto;
}

@media (min-width: 1280px) {
  .container {
    max-width: 87%;
  }

  #producto .container {
    max-width: 72%;
  }

  #nuestras-metodologias .container {
    max-width: 72%;
  }

  .row-60 {
    margin-left: -1.875rem;
    margin-right: -1.875rem;
  }

  .row-60>[class^="col-"],
  .row-60>[class*=" col-"] {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}

@media (min-width: 1600px) {
  .container-fluid {
    padding-left: 3.75rem;
    padding-right: 3.75rem;
  }

  .container-fluid-md {
    padding-left: 7.5rem;
    padding-right: 7.5rem;
  }
}

@media screen and (max-width: 768px) {
  .menu-title-capacidades {
    font-size: 30px;
    line-height: 42px;
    margin-bottom: 20px;
  }

  .expertise-description-capacidades {
    font-size: 18px;
    line-height: 25px;
  }

  .modal-responsive {
    display: contents !important;
    width: 100%;
    border-radius: 0;
    min-height: 100vh !important;
    margin: 0;
    padding: 0;
  }

  .modal-responsive .modal-card-height {
    min-height: 100vh;
  }

  .modal-responsive .modal-content {
    -webkit-border-radius: 0px !important;
    -moz-border-radius: 0px !important;
    border-radius: 0px !important;
  }

  #capacidades2 .video-container,
  #clientes .video-container {
    z-index: 0;
  }

  #capacidades2 .modal-header .close img {
    margin: 20px;
    padding: 0;
  }

  #capacidades2 .modal-header .close {
    padding: 0rem;
    /*margin: -1rem -1rem -1rem auto;*/
  }

  #capacidades2 .expertise-img {
    width: 100%;
  }

  #capacidades2 .linea-footer {
    border-top: 1px solid #B9D8E9;
    width: 100%;
    padding: 15px 0 5px;
  }

  #capacidades2 .clientes-footer-b,
  .clientes-footer-m,
  .clientes-footer-l {
    margin-bottom: 5px;
    color: white;
  }

  /** EOM **/
  /* .fondo-modal-mobile {
  background-size: cover;
  background-image: url("../img/fondo-modal.png");
  background-repeat: no-repeat;
 }*/
}

.full-height {
  min-height: 100vh;
  position: relative;
  display: flex;
}


/* 1.2 Typography */

h2,
.h2,
h3,
.h3 {
  font-weight: bold;
}

h4,
.h4 {
  margin-bottom: 1.75rem;
  letter-spacing: -.035em;
  font-weight: bold;
}

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

.text-normal {
  font-weight: normal;
}

.text-underline {
  text-decoration: underline;
}

html>body .text-black {
  color: #000000;
}

html>body .text-grey-primary {
  color: #cccccc;
}

html>body .text-grey {
  color: #666666;
}

html>body .text-white {
  color: #fff;
}

html>body .text-celeste {
  color: #B9D8E9;
}

html>body .text-white a,
html>body .text-black a {
  color: inherit;
}

html>body .text-grey-light {
  color: #999999;
}

html>body .lh-sm {
  line-height: 1.25;
}

html>body .lh-md {
  line-height: 1.625;
}

html>body .lh-lg {
  line-height: 1.875;
}

html>body .lh-lg2 {
  line-height: 1.8;
}

html>body .fs14 {
  font-size: .875rem;
}

html>body .fs18 {
  font-size: 1.125rem;
}

html>body .fs20 {
  font-size: 1.25rem;
}

html>body .fs28 {
  font-size: 1.75rem;
}

html>body .fs30 {
  font-size: 1.875rem;
}

html>body .fs36 {
  font-size: 2.25rem;
}

html>body .fs42 {
  font-size: 2.625rem;
}

html>body .fs48 {
  font-size: 3rem;
}

html>body .fs60 {
  font-size: 2.75rem;
  line-height: 1.36666667;
}

.fs18.text-grey {
  line-height: 1.66666667;
}



.h1-lg {
  font-size: 3.5rem;
  font-weight: bold;
  letter-spacing: -.025em;
}

@media (min-width: 576px) {
  .text-right-sm {
    text-align: right !important;
  }

  html>body .fs60 {
    font-size: 3.75rem;
    line-height: 1.16666667;
    /*1.36666667*/
  }
}

@media (min-width: 768px) {
  .text-right-md {
    text-align: right !important;
  }

  .h1-lg {
    font-size: 4.5rem;
    line-height: 1.13888889;
  }
}

.font-custom {
  
}

.font-teko {
  
}

.font-libre {
  
}

.font-abril {
  
  font-weight: normal;
}

.base-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.base-list>li {
  padding-left: 1rem;
  position: relative;
  margin-bottom: 1.25rem;
}

.base-list>li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: .7em;
  width: .25rem;
  height: .25rem;
  border-radius: 5rem;
  background: #000000;
}

.more {
  /*text-transform: uppercase;*/
}

.more-lg {
  /*text-transform: uppercase;*/
  font-size: 1.25rem;
  font-weight: bold;
}

.more-xl {
  /*text-transform: uppercase;*/
  font-size: 1.5rem;
  font-weight: bold;
}

.more a,
.more-lg a {
  color: #000000;
  text-decoration: none;
}

.more a:hover,
.more-lg a:hover,
.more-total a:hover {
  color: #b11d11;
}

.more-lg i {
  display: inline-block;
  vertical-align: middle;
  margin-left: .5em;
  font-size: 110%;
  line-height: .75;
}

.ion-ios-arrow-left,
.ion-ios-arrow-right,
.ion-android-arrow-down,
.ion-android-arrow-forward,
.ion-happy-outline {
  transform: translateX(0);
  transition: transform .3s ease-in-out;
}

a:hover .ion-ios-arrow-right,
button:hover .ion-ios-arrow-right,
.btn:hover .ion-ios-arrow-right,
a:hover .ion-android-arrow-forward,
button:hover .ion-android-arrow-forward,
.btn:hover .ion-android-arrow-forward,
a:hover .ion-happy-outline,
button:hover .ion-happy-outline,
.btn:hover .ion-happy-outline {
  transform: translateX(.25rem);
}

a:hover .ion-ios-arrow-left,
button:hover .ion-ios-arrow-left,
.btn:hover .ion-ios-arrow-left {
  transform: translateX(-.25rem);
}

a:hover .ion-android-arrow-down,
button:hover .ion-android-arrow-down,
.btn:hover .ion-android-arrow-down{
  transform: translateY(.25rem);
}


/* 1.3 Fields */

html>body .mr20 {
  margin-right: 1.25rem;
}

html>body .mt5 {
  margin-top: 5px;
}

html>body .mt10 {
  margin-top: .625rem;
}

html>body .mt20 {
  margin-top: 1.25rem;
}

html>body .mt30 {
  margin-top: 1.875rem;
}

html>body .mt40 {
  margin-top: 2.5rem;
}

html>body .mt50 {
  margin-top: 3.125rem;
}

html>body .mt55 {
  margin-top: 3.4375rem;
}

html>body .mt60 {
  margin-top: 3.75rem;
}

html>body .mt65 {
  margin-top: 4.0625rem;
}

html>body .mt70 {
  margin-top: 4.375rem;
}

html>body .mt80 {
  margin-top: 5rem;
}

html>body .mt90 {
  margin-top: 5.625rem;
}

html>body .mt100 {
  margin-top: 6.5rem;
}

html>body .mt150 {
  margin-top: 9.375rem;
}

html>body .mb5 {
  margin-bottom: 5px;
}

html>body .mb10 {
  margin-bottom: .625rem;
}

html>body .mb20 {
  margin-bottom: 1.25rem;
}

html>body .mb30 {
  margin-bottom: 1.875rem;
}

html>body .mb35 {
  margin-bottom: 2.1875rem;
}

html>body .mb40 {
  margin-bottom: 2.5rem;
}

html>body .mb45 {
  margin-bottom: 2.8125rem;
}

html>body .mb50 {
  margin-bottom: 3.125rem;
}

html>body .mb55 {
  margin-bottom: 3.4375rem;
}

html>body .mb60 {
  margin-bottom: 3.75rem;
}

html>body .mb65 {
  margin-bottom: 4.0625rem;
}

html>body .mb70 {
  margin-bottom: 4.375rem;
}

html>body .mb75 {
  margin-bottom: 4.6875rem;
}

html>body .mb80 {
  margin-bottom: 5rem;
}

html>body .mb90 {
  margin-bottom: 5.625rem;
}

html>body .mb100 {
  margin-bottom: 6.25rem;
}

html>body .mb120 {
  margin-bottom: 7.5rem;
}

html>body .mb130 {
  margin-bottom: 8.125rem;
}


/* 1.4 Buttons */

button:focus,
input:focus {
  outline: none;
}

.btn {
  padding: .75rem 2rem .75rem;
  font-weight: bold;
  /*text-transform: uppercase;*/
  border-radius: 0;
}

.btn-sm {
  padding: .875rem 1.5rem .8125rem;
}

.btn-md {
  padding: .875rem 2rem .9375rem;
}

.btn-xs {
  border-color: #cccccc;
  padding: 3px 12px 3px;
  font-size: .75rem;
  color: #a7a9b8;
  letter-spacing: .025em;
}

.btn-light {
  background: #ffffff;
  border-color: #999999;
}

.btn-dark {
  background: #000000;
  border-color: #000000;
}

.btn-dark:hover,
.btn-dark:not(:disabled):not(.disabled):active {
  background: #23272b;
  border-color: #23272b;
}

.btn .icon {
  margin-left: .75rem;
  display: inline-block;
  vertical-align: middle;
  margin-top: -.375rem;
  margin-bottom: -.25rem;
  line-height: 1;
  font-size: 1.25rem;
}

.btn-sm .icon {
  font-size: 1.125rem;
  line-height: .75;
}

.btn-sm .ion-ios-email-outline {
  font-size: 1.5rem;
}

.btn-light:hover,
.btn-light:not(:disabled):not(.disabled):active {
  background-color: #b11d11;
  border-color: #b11d11;
  color: #ffffff;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:not(:disabled):not(.disabled):active {
  background-color: #ffffff;
  border-color: #b11d11;
  color: #b11d11;
}

.btn-danger {
  background: #b11d11;
  border-color: #b11d11;
}

.btn-rounded {
  border-radius: 30px;
}

.btn-link.text-black:hover {
  color: #000000;
}


/* 1.5 Forms */

.form-control {
  border-radius: 0;
  padding: .625rem 1.25rem .625rem;
  height: calc(1.5em + 1.25rem + 2px);
}

.form-control-lg {
  padding: .875rem 1.25rem .9375rem;
  height: calc(1.5em + 1.8125rem + 2px);
  font-size: 1rem;
}

.control-with-icon {
  position: relative;
}

.control-with-icon .form-control {
  padding-right: 3rem;
}

.control-icon {
  padding-top: 1px;
  position: absolute;
  top: 50%;
  right: 20px;
  font-size: 1.5rem;
  color: #999999;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

.control-icon i,
.control-icon i:before {
  display: block;
  line-height: .75;
}

.control-btn {
  margin-top: 2.75rem;
}

.label-custom {
  margin-bottom: 0;
  display: block;
  /*text-transform: uppercase;*/
  font-size: .75rem;
  font-weight: bold;
}

.form-control-custom {
  border: none;
  border-bottom: #cccccc 1px solid;
  padding: 0 0 .625rem;
  height: calc(1.5em + .625rem + 1px);
  color: #000000;
  font-weight: normal;
}

.form-control-custom::-webkit-input-placeholder {
  color: #999999;
}

.form-control-custom::-moz-placeholder {
  color: #999999;
}

.form-control-custom:-ms-input-placeholder {
  color: #999999;
}

.form-control-custom::-ms-input-placeholder {
  color: #999999;
}

.form-control-custom::placeholder {
  color: #999999;
}

.form-control-custom:focus {
  border-color: #000000;
}


/* 1.6 Preloader */

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff; /* o transparente si querés */
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.preloader-img {
  width: 100px; /* ajustalo según tu imagen */
  height: auto;
}



.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.double-bounce1,
.double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #308DBF;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out;
}

.double-bounce2 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

@-webkit-keyframes sk-bounce {

  0%,
  100% {
    -webkit-transform: scale(0.0)
  }

  50% {
    -webkit-transform: scale(1.0)
  }
}

@keyframes sk-bounce {

  0%,
  100% {
    transform: scale(0.0);
    -webkit-transform: scale(0.0);
  }

  50% {
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
  }
}


/*-------------------------------------------------------------------------------
  2. Header
-------------------------------------------------------------------------------*/

.header {
  padding-top: 1.5rem;
  /*transition: color .2s ease-in-out;*/
  transition: margin-top .5s ease-in-out;
  margin-top: 0;
}

@media (min-width: 768px) {
  .header {
    padding-top: 1.625rem;
  }
}

.header-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 900;
}

.header-affix {
  position: fixed !important;
  top: -5rem !important;
  left: 0;
  width: 100%;
  z-index: 900;
  background: #ffffff;
  padding-top: .75rem !important;
  padding-bottom: .5rem !important;
  box-shadow: rgba(0, 0, 0, .1) 0 3px 15px;
  margin-top: 5rem;
}

.header-affix .nav-logo {
  transform: scale(.45);
}

@media (max-width: 767px) {
  .header-affix .nav-logo {
    margin-left: -50%;
  }
}

.menu .menu-lang,
.menu .menu-main,
.menu .social,
.menu .menu-copyright {
  opacity: 0;
  transform: translateY(3rem);
  transition: all .5s ease-in-out;
}

.menu .menu-lang {
  transition-delay: .2s;
}

.menu .menu-main {
  transition-delay: .4s;
}

.menu .social {
  transition-delay: .6s;
}

.menu .menu-copyright {
  transition-delay: .8s;
}

.body-menu-opened .menu .menu-lang,
.body-menu-opened .menu .menu-main,
.body-menu-opened .menu .social,
.body-menu-opened .menu .menu-copyright {
  opacity: 1;
  transform: translateY(0);
}

.brand {
  float: left;
  margin-right: 1rem;
  white-space: nowrap;
  position: relative;
  z-index: 995;
}

.brand a {
  color: inherit;
  text-decoration: none;
}

.brand-name,
.brand-text {
  display: inline-block;
  vertical-align: middle;
}

.brand-name {
  margin-right: .875rem;  
  font-size: 2.875rem;
  font-weight: 900;
  line-height: 1.1;
}

.brand-text {
  margin-bottom: .375rem;
  font-size: 1.125rem;
  line-height: 1.15;
  letter-spacing: -.5px;
}

.header-content {
  margin-left: 17.5%;
  margin-right: 17.5%;
}

.header-contacts {
  padding-top: .5rem;
  font-weight: bold;
}

.header-contact-item,
.header-contact-divider {
  display: inline-block;
  vertical-align: middle;
}

.header-contact-divider {
  margin-left: 1.875rem;
  margin-right: 1.875rem;
  opacity: .2;
}

.phone-link,
.phone-link:hover,
.mail-link,
.mail-link:hover {
  color: inherit;
  text-decoration: none;
}

.phone-link {
  cursor: default;
}

.nav-toggle-btn {
  background: none;
  border: none;
  padding: 0;
  margin: .25rem 0 0;
  border-radius: 0;
  outline: none;
  float: right;
  position: relative;
  z-index: 995;
  font-weight: bold;
  /*text-transform: uppercase;*/
  color: inherit;
}

.nav-toggle-btn:hover {
  color: #b11d11;
}

.nav-toggle-btn:focus {
  outline: none;
}

.nav-toggle-title {
  display: inline-block;
  vertical-align: middle;
  margin-right: .75rem;
}

.nav-toggle {
  width: 29px;
  height: 29px;
  display: inline-flex;
  vertical-align: middle;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: auto;
  cursor: pointer;
}

.nav-toggle-sm {
  transform: scale(.65);
  margin-right: -.3125rem;
}

.stick {
  width: 29px;
  height: 3px;
  margin-bottom: 5px;
  /*background-color: #000000;*/
  display: inline-block;
}

.nav-toggle-btn:hover .stick {
  /*background-color: #b11d11;*/
}

.body-menu-opened .nav-toggle-btn {
  color: #FFFFFF;
}

/*
.body-menu-opened .nav-toggle-btn .stick {
  background-color: #FFFFFF;
}

.stick:last-child {
  margin-bottom: 0px;
}

.nav-toggle:hover .stick-2 {
  width: 29px;
}

.body-menu-opened .stick-1 {
  animation: stick-1-open .85s ease-out forwards;
}

.body-menu-opened .stick-2 {
  animation: stick-2-open .85s linear forwards;
  width: 29px;
  margin-left: 0px;
}

.body-menu-opened .stick-3 {
  animation: stick-3-open .85s linear forwards;
}

@-webkit-keyframes stick-1-open {
  0% {
    width: 29px;
  }

  30% {
    width: 3px;
    transform: translate(14px, 0px);
  }

  65% {
    width: 3px;
    transform: translate(14px, -29px);
    animation-timing-function: cubic-bezier(0, 1, 1, 1);
  }

  100% {
    width: 2px;
    transform: translate(9px, 17px);
  }
}

@keyframes stick-1-open {
  0% {
    width: 29px;
  }

  30% {
    width: 3px;
    transform: translate(14px, 0px);
  }

  65% {
    width: 3px;
    transform: translate(14px, -29px);
    animation-timing-function: cubic-bezier(0, 1, 1, 1);
  }

  100% {
    width: 2px;
    transform: translate(9px, 17px);
  }
}

@-webkit-keyframes stick-2-open {
  65% {
    width: 29px;
    transform: translate(0px, 0px) rotate(0deg);
  }

  100% {
    width: 29px;
    transform: translate(0px, 0px) rotate(45deg);
  }
}

@keyframes stick-2-open {
  65% {
    width: 29px;
    transform: translate(0px, 0px) rotate(0deg);
  }

  100% {
    width: 29px;
    transform: translate(0px, 0px) rotate(45deg);
  }
}

@-webkit-keyframes stick-3-open {
  65% {
    transform: translate(0px, 0px) rotate(0deg);
  }

  100% {
    transform: translate(0px, -8px) rotate(-45deg);
  }
}

@keyframes stick-3-open {
  65% {
    transform: translate(0px, 0px) rotate(0deg);
  }

  100% {
    transform: translate(0px, -8px) rotate(-45deg);
  }
}

.body-menu-close .stick-1 {
  width: 3px;
  animation: stick-1-close .85s ease-out forwards;
}

.body-menu-close .stick-2 {
  animation: stick-2-close .85s ease-out forwards;
  margin-left: 0px;
}

.body-menu-close .stick-3 {
  animation: stick-3-close .85s ease-out forwards;
}

@-webkit-keyframes stick-1-close {

  0%,
  70% {
    width: 0px;
    transform: translate(0, 0);
  }

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

@keyframes stick-1-close {

  0%,
  70% {
    width: 0px;
    transform: translate(0, 0);
  }

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

@-webkit-keyframes stick-2-close {
  0% {
    width: 29px;
    transform: translate(0px, 0px) rotate(45deg);
  }

  20% {
    width: 3px;
    transform: translate(0, 0px) rotate(45deg);
  }

  40% {
    width: 0px;
  }

  65% {
    transform: translate(0, -26px);
    animation-timing-function: cubic-bezier(0, 1, 1, 1);
  }

  80% {
    width: 0px;
  }

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

@keyframes stick-2-close {
  0% {
    width: 29px;
    transform: translate(0px, 0px) rotate(45deg);
  }

  20% {
    width: 3px;
    transform: translate(0, 0px) rotate(45deg);
  }

  40% {
    width: 0px;
  }

  65% {
    transform: translate(0, -26px);
    animation-timing-function: cubic-bezier(0, 1, 1, 1);
  }

  80% {
    width: 0px;
  }

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

@-webkit-keyframes stick-3-close {
  0% {
    width: 29px;
    transform: translate(0px, -8px) rotate(-45deg);
  }

  20% {
    width: 3px;
    transform: translate(0, -8px) rotate(-45deg);
  }

  40% {}

  65% {
    transform: translate(0, -35px);
    animation-timing-function: cubic-bezier(0, 1, 1, 1);
  }

  90% {
    width: 3px;
  }

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

@keyframes stick-3-close {
  0% {
    width: 29px;
    transform: translate(0px, -8px) rotate(-45deg);
  }

  20% {
    width: 3px;
    transform: translate(0, -8px) rotate(-45deg);
  }

  40% {}

  65% {
    transform: translate(0, -35px);
    animation-timing-function: cubic-bezier(0, 1, 1, 1);
  }

  90% {
    width: 3px;
  }

  100% {
    width: 29px;
    transform: translate(0, 0px);
  }
}
  */

  /* Estilos base: 3 puntos */

.nav-toggle .stick {
  width: 40px;
  height: 100%;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('../img/MenuHorizontal.png');
  
}

.nav-toggle .stick-azul {
  background-color: #081b38;
  -webkit-mask-image: url('../img/MenuHorizontal.png');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: url('../img/MenuHorizontal.png');
  mask-repeat: no-repeat;
  mask-size: contain;
  background-image: none;
}




@-webkit-keyframes fadeZoom {
  0% {
    width: 100%;
  }

  100% {
    width: 0;
  }
}

@keyframes fadeZoom {
  0% {
    width: 100%;
  }

  100% {
    width: 0;
  }
}

.navbar-nav {
  margin-left: 8rem;
  margin-right: 8rem;
  text-align: center;
  font-size: 1rem;
  /*text-transform: uppercase;*/
}

.navbar-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.navbar-nav>ul>li {
  display: inline-block;
  vertical-align: middle;
  padding-left: 1rem;
  padding-right: 1rem;
}

.navbar-nav a {
  position: relative;
  color: #999999;
  text-decoration: none;
  transition: color 0.3s cubic-bezier(0.82, 0, 0.21, 1);
}

.navbar-nav a:before {
  content: attr(data-text);
  position: absolute;
  width: 0%;
  transition: width cubic-bezier(0.82, 0, 0.21, 1) 0.3s;
  color: #b11d11;
  z-index: 2;
  overflow: hidden;
}

.navbar-nav li.active>a,
.navbar-nav a:hover {
  color: #999999;
}

.navbar-nav li.active>a:before,
.navbar-nav a:hover:before {
  width: 100%;
}

.navbar-nav li.active>a {
  font-weight: bold;
  color: transparent !important;
}

.menu-main li.active>a {
  color: #FFFFFF;
  
}

.navbar-nav .dropdown-toggle::after {
  display: none;
}

.navbar-nav .dropdown-menu {
  width: 25rem;
  padding: 27px 40px 22px;
  border: none;
  background: #ffffff;
  border-radius: 0;
  margin-top: 1.125rem;
  margin-left: -40px;
  text-transform: none;
  box-shadow: 0 15px 25px rgba(0, 0, 0, 0.05);
  position: absolute;
  left: 20px !important;
  top: 100% !important;
  transform: translate3d(0, 0, 0) !important;
}

.navbar-nav .dropdown:hover .dropdown-menu {
  animation: transform .3s ease-in-out forwards;
}

.navbar-nav .dropdown-menu:before {
  content: "";
  display: block;
  width: 100%;
  height: 1.125rem;
  position: absolute;
  left: 0;
  right: 0;
  top: -1.125rem;
}

@keyframes transform {
  0% {
    margin-top: 3rem;
    opacity: 0;
  }

  100% {
    margin-top: 1.125rem;
    opacity: 1;
  }
}

.navbar-nav .dropdown-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.navbar-nav .dropdown-menu ul li {
  margin-bottom: 6px;
}

.navbar-nav .dropdown-menu a {
  white-space: nowrap;
  color: #999999;
}

.navbar-nav .dropdown-menu .active a {
  font-weight: normal;
}

.dropdown-menu-title {
  margin-bottom: 24px;
  /*text-transform: uppercase;*/
  color: #000000;
  font-weight: bold;
}


/*
.menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 990;
  background: #0e223e;
  
  max-width: 100%;
  width: 100%;
  padding: 3.75rem 4.375rem 1.2rem;
  display: flex;
  flex-direction: column;
  transition: transform .4s ease-in-out;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
*/

.menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 990;
  /*
  background: linear-gradient(
    to left,
    rgba(8, 27, 56, 1) 0%,
    rgba(8, 27, 56, 0.12) 80%,
    rgba(8, 27, 56, 0) 100%
  );
*/
  background: linear-gradient(to left, rgba(8, 27, 56, 1) 0%, rgba(8, 27, 56, 0.80) 40%, rgba(8, 27, 56, 0.35) 70%, rgba(8, 27, 56, 0.12) 85%, rgba(8, 27, 56, 0) 100%);
  max-width: 100%;
  width: 100%;
  padding: 3.75rem 4.375rem 1.2rem;
  display: flex;
  flex-direction: column;
  transition: transform .4s ease-in-out;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}



.body-menu-opened .menu {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}

@media (min-width: 576px) {
  .menu {
    width: 26rem;
  }
}

@media (min-width: 992px) {
  .navbar-nav {
    margin-left: 15rem;
    margin-right: 15rem;
  }

  .navbar-nav>ul>li {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.body-menu-opened body {
  /*overflow: hidden;*/
  /*width: 100%;*/
  /*height: 100%;*/
}

@media (max-width: 575px) {
  .body-menu-opened {
    overflow: hidden;
    width: 100%;
    height: 100%;
  }
}

/** EOM **/
.hide-menu {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 100%;
  /*background: rgba(14, 52, 65, .5);*/
  z-index: 980;
}

.body-menu-opened .hide-menu {
  bottom: 0;
}

.header-custom-top{
  padding-left: 4.375rem;
  padding-right: 4.375rem;
}

.menu-lang {
  font-size: .875rem;
  font-weight: bold;
  /*text-transform: uppercase;*/
}

.menu .menu-lang {
  padding-bottom: 3rem;
}

.menu-lang.float-right,
.text-right .menu-lang {
  margin-right: -1rem;
}

.menu-lang-item,
.menu .menu-lang-item {
  margin-right: 1rem;
  color: #FFFFFF;
}

.menu-lang-item:hover {
  color: #b11d11;
  text-decoration: none;
}

.menu-lang-item.active {
  color: #b11d11;
}

.menu-lang .divider {
  margin-right: 1rem;
}

.menu-main {
  /*height: 100%;*/
  overflow-x: hidden;
  overflow-y: auto;
  display: inline-flex;
  flex-direction: column;
  padding-right: 5px;
  margin-top: 18px;
  /*justify-content: center;*/
}

.menu-item {
  color: white;
  font-size: 18px;
  margin: 6px 14px;
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
  margin-left: auto;
}

.menu-item::after {
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid white;
  background-color: #0e223e;
  position: absolute;
  right: -17px;
  z-index: 100;
  margin-top: 3px;
}

.menu-item.active::after {
  background-color: white;
  z-index: 102;
}

.menu-item::before {
  content: '';
  position: absolute;
  width: 5px;
  height: 40px;
  background-color: #0e223e;
  left: auto;
  right: -14px;
  z-index: 101;
}

.menu-line-left,
.menu-line-right {
  position: absolute;
  /*top: 35px;
  bottom: 35px;
  */
  top: 20px;
  bottom: 18px;
  width: 2px;
  background-color: white;
  z-index: 1;
}

.menu-line-left {
  /*right: -46px;*/
  right: 9px;
}

.menu-line-right {
  /*right: -36px;*/
  right:4px;
}

.menu-item:first-child::after,
.menu-item:last-child::after {
  width: 12px;
  height: 12px;
}

.menu .menu-item:nth-of-type(3)::before{
  top:12px;
}


.menu-item:last-child::before {
  bottom:12px;
}

.menu-item-first::before {
  top:12px;
}



/** EOM **/
.menu-main>ul {
  margin: 0;
  /*margin-top: 2rem;*/
  padding: 0;
  list-style: none;
}

.menu-main>ul>li {
  margin-bottom: .8375rem;
  color: #FFFFFF;
}

/** EOM **/
.menu-main>ul>li>a,
.menu-main>ul>li>span {
  font-size: 1.1rem;
  font-weight: bold;
  color: #FFFFFF;
}

.menu-main>ul>li ul {
  padding: 1rem 0 1px .875rem;
  margin: 0;
  list-style: none;
}

.menu-main>ul>li ul>li {
  margin-bottom: .375rem;
}

.menu-main>ul>li ul>li>a,
.menu-main>ul>li ul>li>span {
  color: #999999;
}

.menu-main a,
.menu-main a:hover {
  position: relative;
  text-decoration: none;
  /*text-transform: uppercase;*/
  color: rgb(0, 139, 215) !important;
}

.menu-main a:before {
  content: attr(data-text);
  position: absolute;
  width: 0%;
  transition: width cubic-bezier(0.82, 0, 0.21, 1) 0.3s;
  color: #b11d11;
  z-index: 2;
  overflow: hidden;
  white-space: nowrap;
}

/** EOM **/
.menu-main li.active>a:before,
.menu-main a:hover:before {
  width: 100%;
  /*text-transform: uppercase;*/
  color: #FFFFFF;
}

.menu-footer {
  padding-top: 1rem;
}

.menu-copyright {
  margin-top: 18px;
  font-size: .75rem;
  line-height: 1.71428571;
  color: #FFFFFF;
  /*/*text-transform: uppercase;*/*/
}

.menu-copyright strong {
  color: #FFFFFF !important;
}

@media (max-height: 380px) {
  .menu-footer {
    display: none;
  }
}

.header-custom {
  padding-top: 3rem;
}

.header-absolute {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  z-index: 900;
}

.nav-logo {
  margin-top: -2.3125rem;
  margin-bottom: -2.3125rem;
  display: block;
}

.header-custom .social,
.header-custom .menu-lang {
  margin-top: .5rem;
}

.header-custom .social a {
  color: #999999;
}

.header-custom .navbar-nav a {
  color: #000000;
}

.header-custom .menu-lang {
  font-size: 1rem;
  font-weight: normal;
  color: #cccccc;
}

.header-custom .menu-lang a {
  color: #999999;
}

.header-custom .menu-lang a.active {
  color: #000000;
}

.header-custom .menu-lang a:hover {
  color: #b11d11;
}

@media (min-width: 768px) {
  .header-custom {
    padding-top: 5rem;
  }
}


/*-------------------------------------------------------------------------------
  3. Home Zoom Parallax
-------------------------------------------------------------------------------*/

.promo-zoom {
  position: relative;
  z-index: 100;
}

.mountains {
  position: fixed;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: url("../img/bg-promo-zoom-mountains2.jpg") 50% 100% no-repeat;
  background-size: cover;
}

.mountains.animated {}

.house-left {
  position: fixed;
  width: 28.958333%;
  height: 59.16666666%;
  bottom: 0;
  left: 0;
  z-index: 20;
  background: url("../img/bg-promo-zoom-house-left.png") 0 100% no-repeat;
  background-size: contain;
}

.house-right {
  position: fixed;
  width: 62.76041667%;
  height: 60%;
  bottom: 0;
  right: 0;
  z-index: 30;
  background: url("../img/bg-promo-zoom-house-right.png") 100% 100% no-repeat;
  background-size: contain;
}

.step-opacity {
  position: absolute;
  left: 0;
  top: 85%;
}

.promo-zoom-titles {
  position: fixed;
  top: 30%;
  left: 10%;
  right: 10%;
  z-index: 40;
  text-align: center;
}

.top-title {
  margin-bottom: 1.25rem;
  font-size: 1.125rem;
  /*text-transform: uppercase;*/
  letter-spacing: .5625rem;
  color: #666666;
}

.promo-zoom-titles h1,
.promo-screen-titles h1 {
  font-size: 11.11111111vmin;
  font-weight: bold;
}

.text-texture {
  display: inline-block;
  background-image: url("../img/bg-title.jpg");
  background-position: 50% 50%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-texture>.inside {
  display: inline-block;
  mix-blend-mode: lighten;
  background: #ffffff;
}

.promo-zoom-titles .slogan,
.promo-screen-titles .slogan {
  margin-top: 1.125rem;
  font-size: 1.25rem;
  color: #666666;
  line-height: 1.5;
}

.brand .text-texture {
  background-image: linear-gradient(to bottom, #ff7c00, #ff0000);
  display: inline-block;
  vertical-align: middle;
  width: 4.75rem;
  height: 3.125rem;
}

.section {
  padding-top: 6rem;
  padding-bottom: 4rem;
}

.section-content {
  padding-top: 6rem;
}

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

.section-item+.section-item {
  margin-top: 4rem;
}

.page-content {
  background: #ffffff;
  padding-top: 12%;
  position: relative;
  z-index: 100;
}

@media (min-width: 768px) {
  .page-content {
    padding-top: 8.75rem;
  }
}

.section-mini {
  padding-top: 6rem;
}

.section-centered {
  display: flex;
  align-items: center;
}

.section-centered>div {
  width: 100%;
}

.full-image,
.full-image-dark {
  min-height: 100vh;
  background-size: cover;
  background-position: 50% 0;
  background-repeat: no-repeat;
  position: relative;
}

.full-image-dark:before {
  content: "";
  z-index: 10;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #000000;
  opacity: .3;
}

.full-image-dark>div {
  z-index: 100;
  position: relative;
}

@media (min-width: 768px) {
  .section-item+.section-item {
    margin-top: 8.125rem;
  }

  .section {
    padding-top: 10.625rem;
    padding-bottom: 10.625rem;
  }

  .section-content {
    padding-bottom: 8.125rem;
  }

  .section-mini {
    padding-top: 8.125rem;
  }
}

.section-last {
  padding-bottom: 0;
}

.section-item-title {
  margin-bottom: 1.875rem;
  font-size: 1.5rem;
  /*text-transform: uppercase;*/
  font-weight: bold;
  letter-spacing: .375rem;
  line-height: 1.5;
}

.section-item-title,
.section-item-title a {
  color: #b11d11;
}

.section-item-title-sm {
  font-size: 1.125rem;
  letter-spacing: .5em;
}

.section-item-title-md {
  font-size: 1.25rem;
  letter-spacing: .25em;
}

.promo-about {
  padding-top: 9rem;
  padding-bottom: 6rem;
  line-height: calc(100vh - 15rem);
}

.promo-about .about {
  position: relative;
  top: 300px;
  opacity: 0;
  transition: all .5s ease-in-out;
}

@media (min-width: 768px) {
  .promo-about {
    padding-top: 3rem;
    padding-bottom: 3rem;
    line-height: calc(100vh - 6rem);
  }
}

.about {
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  line-height: 1.5;
}

.rounded-logo {
  width: 11.5rem;
  height: 11.5rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.rounded-logo svg {
  transform: rotate(175deg);
  /*text-transform: uppercase;*/
  letter-spacing: 2.65px;
  word-spacing: 4px;
  font-weight: bold;
  fill: #999999;
}

.rounded-logo .logo {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  margin-top: .625rem;
  text-align: center;
  font-size: 4rem;
  font-weight: 900;  
  color: #000000;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

.rounded-logo-sm {
  width: 7.125rem;
  height: 7.125rem;
}

.rounded-logo-sm .logo {
  margin-top: .25rem;
  font-size: 2.5rem;
}

.rounded-logo-md {
  width: 14.125rem;
  height: 14.125rem;
}

.rounded-logo-md .logo {
  font-size: 4.8125rem;
}

.rounded-logo-lg {
  width: 17rem;
  height: 17rem;
}

.rounded-logo-lg .logo {
  font-size: 6.125rem;
}

.rounded-logo.stamp {
  width: 14.125rem;
  height: 14.125rem;
  position: absolute;
  left: 0;
  bottom: -3rem;
}

.rounded-logo.stamp svg {
  transform: rotate(150deg);
}

.rounded-logo.font-custom svg {
  letter-spacing: .1em;
  word-spacing: 2px;
}

.about-logo {
  margin-bottom: 6.25rem;
}

.about-title {
  font-size: 2.25rem;
  font-weight: bold;
}

.about-descr {
  margin-top: 1.875rem;
  font-size: 1.5rem;
  line-height: 1.5;
}

.services-descr,
.flash-descr {
  font-size: 1rem;
  line-height: 1.875;
}

.service-item {
  margin-top: 4.375rem;
  display: block;
}

a.service-item {
  text-decoration: none;
  color: #000000;
}

.services-letter {
  overflow: hidden;
  position: relative;
  font-size: 13.75rem;
  font-weight: 900;
  line-height: 1.25;
}

.services-letter .mask {
  position: absolute;
  z-index: 10;
  width: 200%;
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1));
  background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1));
  height: 100%;
  top: 0;
  left: 100%;
}

.letter-g .text-texture {
  background-image: url("../img/bg-letter-g.jpg");
  background-position: 50% 30%;
}

.letter-w .text-texture {
  background-image: url("../img/bg-letter-w.jpg");
  background-position: 50% 30%;
}

.letter-a .text-texture {
  background-image: url("../img/bg-letter-a.jpg");
  background-position: 50% 30%;
}

.service-item-title {
  font-size: 1.5rem;
  font-weight: bold;
}

.service-item-title a,
a .service-item-title {
  color: #000000;
  text-decoration: none;
}

.service-item-title a:hover,
a:hover .service-item-title {
  color: #b11d11;
}

.service-item-descr {
  margin-top: 1.625rem;
  line-height: 1.625;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -50px, 0);
    transform: translate3d(0, -50px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -50px, 0);
    transform: translate3d(0, -50px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.services-3d .row>div {
  display: flex;
}

.services-3d .service-item {
  position: relative;
  padding: 2.875rem 1.75rem 10.3125rem;
  margin-top: 2.5rem;
  overflow: hidden;
  background-color: transparent;
  transition: all .3s ease-in-out;
}

.services-3d .service-item:hover {
  background-color: #f3f4f6;
}

.services-3d .service-item .services-letter {
  opacity: 1;
  transition: all .3s ease-in-out;
}

.services-3d .service-item>* {
  position: relative;
  z-index: 200;
}

.services-3d .service-item>div.service-item-photo {
  position: absolute;
  z-index: 100;
}

.services-3d .service-item-photo {
  opacity: 0;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: 100%;
  -webkit-transform: translate(0, -3rem);
  transform: translate(0, -3rem);
  transition: all .5s ease-in-out;
}

@media (min-width: 768px) {
  .services-3d .service-item:hover .service-item-photo {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }

  .services-3d .service-item:hover .services-letter {
    opacity: 0;
  }
}

.services-3d .service-item .btn {
  position: absolute;
  bottom: 4.375rem;
  left: 50%;
  white-space: nowrap;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.services-3d .service-item-title a:hover,
.services-3d a:hover .service-item-title {
  color: #000000;
}

.projects {
  padding-bottom: 3rem;
}

@media (min-width: 768px) {
  .projects {
    padding-bottom: 10.9375rem;
  }
}

.projects .section-item-title {
  margin-bottom: 5.625rem;
}

.carousel-container {
  position: relative;
  margin-left: -3.2rem;
  margin-right: -3.2rem;
  padding-left: 3.2rem;
  padding-right: 3.2rem;
  overflow: hidden;
}

.carousel-container .mask {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  z-index: 100;
  width: 100%;
  background: #ffffff;
  animation-fill-mode: forwards;
}

.project-carousel-item {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 70%;
  position: relative;
  text-align: left;
}

.project-carousel-photo,
.project-listing-photo,
.project-metro-photo {
  position: absolute;
  z-index: 10;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.project-metro-photo {
  z-index: 300;
}

.project-list-listing a,
.project-list-masonry a {
  color: #000000;
  text-decoration: none;
}

.project-list-listing a:hover .project-listing-title,
.project-list-masonry a:hover .project-masonry-title {
  color: #ff3600;
}

.project-listing-detail {
  margin-top: 2.25rem;
}

.project-listing-title {
  font-size: 2.25rem;
  font-weight: bold;
  letter-spacing: -.025em;
}

.project-metro-title {
  font-size: 3rem;
  font-weight: normal;
}

.project-masonry-detail {
  margin-top: 24px;
}

.project-masonry-title {
  font-size: 1.875rem;
  font-weight: bold;
  letter-spacing: -.025em;
}

.project-parallax-detail {
  margin-bottom: 46px;
  font-size: 1.125rem;
  /*text-transform: uppercase;*/
  letter-spacing: .025em;
}

.project-piling-title {
  font-size: 9.25925926vmin;
  line-height: 1;
  letter-spacing: -.025em;
  font-weight: normal;
}

.project-piling-title a:hover {
  text-decoration: underline !important;
}

.project-list-piling .footer {
  background: #2c1a6a;
}

.project-carousel-detail,
.project-metro-detail,
.project-carousel-date,
.project-metro-date {
  position: absolute;
  z-index: 20;
  left: 2.5rem;
  right: 2rem;
  bottom: 5rem;
  color: #ffffff;
}

.project-carousel-date,
.project-metro-date {
  bottom: auto;
  top: 2rem;
}

.project-carousel-detail {
  opacity: 0;
  transition: opacity .5s .5s ease-in-out;
}

.owl-item.active .project-carousel-detail {
  animation: fadeInDown .5s ease-out forwards;
  animation-delay: .5s;
  opacity: 1;
}

.project-carousel-title {
  margin-top: .875rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.1;
}

.project-carousel-more {
  position: absolute;
  opacity: 0;
  z-index: 30;
  left: 2.5rem;
  bottom: 1.5rem;
  transition: opacity .5s 1.1s ease-in-out;
}

.owl-item.active .project-carousel-more {
  animation: fadeInUp .35s ease-out forwards;
  animation-delay: 1.1s;
  opacity: 1;
}

.project .owl-theme .owl-nav {
  margin-top: 0;
}

.more-total {
  margin-top: 4.375rem;
  font-weight: bold;
  /*text-transform: uppercase;*/
}

.more-total a {
  color: #000000;
  text-decoration: underline;
}

.more-total a:hover {
  text-decoration: none;
}

.more-total-lg {
  margin-top: 8.125rem;
}

.owl-theme .owl-nav [class*=owl-] {
  font-size: 40px !important;
  padding: 0;
  position: absolute;
  top: 40%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

.owl-theme .owl-nav [class*=owl-].disabled {
  cursor: default;
}

.owl-theme .owl-nav [class*=owl-],
.owl-theme .owl-nav [class*=owl-]:hover {
  background: none;
  background-color: transparent;
  color: #ff6000;
}

.owl-prev {
  /*left: -3rem;*/
  left: 0 !important;
}

.owl-next {
  /*right: -3rem;*/
  right: 0 !important;
}

.nav-inside.owl-theme .owl-nav {
  margin-top: 0;
}

.nav-inside .owl-prev {
  left: 15px;
}

.nav-inside .owl-next {
  right: 15px;
}

.nav-square.owl-theme .owl-nav [class*=owl-] {
  width: 3.75rem;
  height: 3.75rem;
  border: #333333 1px solid;
  background: transparent;
  margin: 0;
  border-radius: 0;
  transition: all .3s ease-in-out;
}

.nav-square.owl-theme .owl-nav [class*=owl-]:hover:not(.disabled) {
  background: #333333;
}

.nav-square .arrow {
  position: relative;
  width: .875rem;
  height: 1.5rem;
}

.nav-square .arrow-top,
.nav-square .arrow-bottom {
  background-color: #333333;
}

.nav-square .arrow-top:after,
.nav-square .arrow-bottom:after {
  background-color: #ffffff;
}

.nav-white-red.owl-theme .owl-nav [class*=owl-] {
  border-color: #ffffff;
  background: #ffffff;
}

.nav-white-red.owl-theme .owl-nav [class*=owl-]:hover:not(.disabled) {
  background: #b11d11;
  border-color: #b11d11;
}

.nav-white-orange.owl-theme .owl-nav [class*=owl-] {
  border-color: #ffffff;
}

.nav-white-orange.owl-theme .owl-nav [class*=owl-]:hover:not(.disabled) {
  background: #ff3600;
  border-color: #ff3600;
}

.nav-white-orange .arrow-top,
.nav-white-orange .arrow-bottom {
  background-color: #ffffff;
}

@media (min-width: 1600px) {
  .nav-inside .owl-prev {
    left: 3.75rem;
  }

  .nav-inside .owl-next {
    right: 3.75rem;
  }
}

.arrow {
  height: 3.125rem;
  width: 1.875rem;
  margin-left: auto;
  margin-right: auto;
}

.arrow-top,
.arrow-bottom {
  background-color: #cccccc;
  height: 2px;
  left: -10%;
  position: absolute;
  top: 50%;
  width: 100%;
}

.arrow-top:after,
.arrow-bottom:after {
  background-color: #b11d11;
  content: '';
  height: 100%;
  position: absolute;
  top: 0;
  transition: all 0.15s;
}

.arrow-top {
  transform: rotate(45deg);
  transform-origin: bottom right;
}

.arrow-top:after {
  left: 100%;
  right: 0;
  transition-delay: 0s;
}

.arrow-bottom {
  transform: rotate(-45deg);
  transform-origin: top right;
}

.arrow-bottom:after {
  left: 0;
  right: 100%;
  transition-delay: 0.15s;
}

.owl-prev:not(.disabled):hover .arrow-top:after,
.owl-next:not(.disabled):hover .arrow-top:after {
  left: 0;
  transition-delay: 0.15s;
}

.owl-prev:not(.disabled):hover .arrow-bottom:after,
.owl-next:not(.disabled):hover .arrow-bottom:after {
  right: 0;
  transition-delay: 0s;
}

.arrow:active {
  transform: scale(0.9);
}

.owl-prev .arrow {
  transform: scaleX(-1);
}

.owl-prev .arrow:active {
  transform: scaleX(-1) scale(0.9);
}

.dots-md {
  margin-bottom: 16.5rem;
}

.dots-md.owl-theme .owl-dots,
.dots-md.owl-theme .owl-nav.disabled+.owl-dots {
  margin-top: 5.625rem;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
}

.dots-md.owl-theme .owl-dots .owl-dot {
  vertical-align: middle;
}

.owl-theme .owl-dots .owl-dot:focus {
  outline: none;
}

.owl-theme .owl-dots .owl-dot span {
  width: 15px;
  height: 15px;
  background: transparent;
  border: transparent 1px solid;
  position: relative;
  margin: 5px;
}

.dots-md.owl-theme .owl-dots .owl-dot span {
  width: 1.5rem;
  height: 1.5rem;
}

.owl-theme .owl-dots .owl-dot:hover span {
  background: transparent;
}

.owl-theme .owl-dots .owl-dot.active span {
  border-color: #000000;
  background-color: transparent;
}

.owl-theme .owl-dots .owl-dot span:before {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 3px;
  background: #000000;
  position: absolute;
  left: 50%;
  margin-left: -1.5px;
  top: 50%;
  margin-top: -1.5px;
}

.dots-md.owl-theme .owl-dots .owl-dot span:before {
  width: 4px;
  height: 4px;
  margin-left: -2px;
  margin-top: -2px;
}

.owl-theme .owl-dots .owl-dot.active span:before,
.owl-theme .owl-dots .owl-dot:hover span:before {
  background-color: #000000;
}

.reviews-carousel-sm.owl-theme .owl-dots .owl-dot span:before {
  background-color: #ffffff;
}

.reviews-carousel-sm.owl-theme .owl-dots .owl-dot.active span:before,
.reviews-carousel-sm.owl-theme .owl-dots .owl-dot:hover span:before {
  background-color: #f4882e;
}

.reviews-carousel-sm.owl-theme .owl-dots .owl-dot.active span {
  border-color: #f4882e;
}

@media (min-width: 1400px) {
  .carousel-container {
    margin-left: -7.5rem;
    margin-right: -7.5rem;
    padding-left: 7.5rem;
    padding-right: 7.5rem;
  }

  .owl-prev {
    left: -7rem;
  }

  .owl-next {
    right: -7rem;
  }
}

@media (min-width: 768px) {
  .project-carousel-item {
    padding-bottom: 44.44444444%;
  }

  .project-carousel-detail,
  .project-carousel-date,
  .project-metro-date {
    left: 3.75rem;
    right: auto;
    top: auto;
    bottom: 2.625rem;
    max-width: 60%;
    color: #ffffff;
  }

  .project-carousel-date,
  .project-metro-date {
    bottom: auto;
    top: 2.625rem;
  }

  .project-carousel-title {
    font-size: 3rem;
  }

  .project-carousel-more {
    left: auto;
    right: 3.4375rem;
    bottom: 3.25rem;
  }
}

@media (max-width: 767px) {
  .project-carousel-item .btn {
    padding: 7px 12px 7px;
  }

  .owl-prev {
    left: -.5rem;
  }

  .owl-next {
    right: -.5rem;
  }

  .carousel-container {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
  }
}

.clients {
  background: url("../img/bg-clients.gif") 50% 0 no-repeat;
  background-size: cover;
}

.testimonial {
  background: url("../img/bg-testimonial.png") 50% 0 no-repeat;
  background-size: cover;
}

.testimonial .owl-theme .owl-dots,
.testimonial .owl-theme .owl-nav.disabled+.owl-dots {
  margin-top: 3.75rem;
}

.reviews-carousel-container {
  background: #ffffff;
  padding-top: 2.8125rem;
  padding-bottom: 5.875rem;
  padding-left: 3rem;
  padding-right: 3rem;
  margin-top: 5rem;
}

.carousel-center-v.owl-carousel .owl-stage {
  display: flex;
  align-items: center;
}

.reviews-carousel-text {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.33333333;
  letter-spacing: -1px;
}

.testimonial .reviews-carousel-text {
  line-height: 1.66666667;
  letter-spacing: -.025em;
  font-weight: normal;
}

.reviews-carousel-author {
  margin-top: 3rem;
  font-size: 1.125rem;
}

.reviews-carousel-author:before,
.reviews-carousel-author:after {
  content: "-";
  margin: 0 .625rem;
  color: #999999;
}

.reviews-carousel-sm .reviews-carousel-item {
  min-height: 22.5rem;
}

.reviews-carousel-sm .reviews-carousel-item>.inside {
  vertical-align: top;
}

.reviews-carousel-sm .reviews-carousel-author {
  /*text-transform: uppercase;*/
  font-weight: bold;
}

.reviews-carousel-sm .reviews-carousel-author:before,
.reviews-carousel-sm .reviews-carousel-author:after {
  display: none;
}

.reviews-carousel-author-status {
  margin-top: .5rem;
  font-size: 1rem;
  font-weight: normal;
}

.home-piling .reviews-carousel-author-status {
  color: #99cccc;
}

.home-piling .reviews-carousel-author-status .text-grey-light {
  color: #669999;
}

.reviews-carousel-sm .owl-dots {
  margin-left: -5px;
  text-align: left;
}

@media (min-width: 992px) {
  .reviews-carousel-text {
    font-size: 2.25rem;
  }

  .reviews-carousel-sm .reviews-carousel-text {
    font-size: 1.875rem;
    letter-spacing: -.25px;
    line-height: 1.6;
  }

  .reviews-carousel-container {
    padding-left: 8.75rem;
    padding-right: 8.75rem;
  }
}

.partner-list {
  margin-top: 9.25925926vmin;
  text-align: center;
}

.partner-item {
  display: flex;
  text-align: center;
}

.partner-item img {
  opacity: .4;
  transition: all .3s ease-in-out;
}

.partner-item img:hover,
.partner-item a:hover img,
.partner-item .inside:hover img {
  opacity: 1;
}

.partner-bordered .partner-item {
  margin: 0 -1px -1px 0;
  border: #eaeaea 1px solid;
  min-height: 13.88888889vmin;
}

.partner-item>.inside {
  padding: 1.5rem 1rem;
  align-self: center;
  display: block;
  width: 100%;
}

.partner-item {
  flex: 0 0 33.33333333%;
  max-width: 33.33333333%;
}

.partner-item img {
  max-width: 100%;
}

@media (min-width: 768px) {
  .partner-item {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

.article-list {
  margin-top: 6.25rem;
}

.article-list>div {
  display: flex;
}

.article-item {
  width: 100%;
  margin-bottom: 2.5rem;
  position: relative;
  text-align: left;
  display: flex;
  flex-direction: column;
}

a.article-item {
  color: #000000;
  text-decoration: none;
}

.article-item-photo {
  margin-bottom: 2rem;
  height: 0;
  padding-bottom: 62.16216216%;
  position: relative;
  overflow: hidden;
}

.article-item-photo img {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-item-masonry {
  margin-bottom: 10px;
  display: block;
  position: relative;
}

.article-item-masonry,
.article-item-masonry:hover {
  color: #ffffff;
}

.article-item-masonry .article-item-photo {
  margin-bottom: 0;
  height: auto;
  padding-bottom: 0;
}

.article-item-masonry .article-item-photo img {
  position: relative;
  z-index: 100;
  width: 100%;
  height: auto;
}

.article-item-masonry .article-item-photo:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 150;
  opacity: .6;
  background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, .75), rgba(0, 0, 0, 0) 70%);
  background: linear-gradient(to top, rgba(0, 0, 0, .75), rgba(0, 0, 0, 0) 70%);
  transition: all .3s ease-in-out;
}

.article-item-masonry:hover .article-item-photo:before {
  opacity: 0;
}

.article-list-listing .article-item {
  display: block;
  margin-bottom: 4.625rem;
}

.article-list-listing .article-item-photo {
  padding-bottom: 51.94805195%;
  margin-bottom: 2.125rem;
}

.article-list-listing .article-item-title {
  margin-bottom: .375rem;
  font-size: 1.5rem;
  line-height: 1.41666667;
  letter-spacing: -.025em;
}

.article-item-info {
  color: #999999;
}

.article-item-info a {
  color: #000000;
}

.article-item-info a:hover {
  color: #b11d11;
  text-decoration: none;
}

.article-item-descr {
  margin-top: 1.375rem;
  line-height: 1.625;
}

.article-item-detail {
  position: absolute;
  left: 0;
  right: 0;
  top: auto;
  bottom: 0;
  z-index: 250;
  padding: 2.5rem;
}

.article-item-mask {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 200;
  background: #000000;
  opacity: .1;
  transition: all .3s ease-in-out;
}

.article-item-masonry:hover .article-item-mask {
  opacity: .5;
}

.article-item-masonry .article-item-title {
  font-size: 1.5rem;
  line-height: 1.41666667;
}

.article-item-masonry:hover .article-item-title {
  text-decoration: underline;
}

.zooming {
  overflow: hidden;
}

.zooming img {
  transform: scale(1);
  transition: all 1s linear;
}

.zooming:hover img,
a:hover .zooming img {
  transform: scale(1.08);
}

.article-item-category {
  margin-bottom: .625rem;
  font-size: .875rem;
  /*text-transform: uppercase;*/
}

.article-item-category,
.article-item-category a {
  color: #b11d11;
}

.article-item-category-dark {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 10px;
  background: #333333;
  padding: 1px 8px 0;
  color: #ffffff;
  font-size: .75rem;
  /*text-transform: uppercase;*/
  letter-spacing: .025em;
  font-weight: bold;
}

.article-item-title {
  flex: 1 1 auto;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1.36363636;
  letter-spacing: -.5px;
}

.article-item-title a,
.article-item-title a:hover {
  color: #000000;
}

.article-item-date {
  margin-top: 1.875rem;
}

.article-item-masonry .article-item-date {
  margin-top: 1.125rem;
}

.article-list-mini {
  margin-top: 1.75rem;
}

.article-item-mini {
  margin-bottom: 1.25rem;
}

.article-item-mini .article-item-photo {
  display: block;
  padding-bottom: 71.08433735%;
  margin-top: .25rem;
  margin-bottom: 0;
  width: 5.25rem;
}

.article-item-mini .article-item-title {
  margin-bottom: 0;
  font-size: .875rem;
  line-height: 1.42857143;
}

.article-item-mini .article-item-title a:hover {
  text-decoration: none;
}

.article-item-mini .article-item-date {
  margin-top: .25rem;
  color: #999999;
  font-size: .875rem;
}

.promo-zoom-footer {
  overflow: hidden;
}

.promo-zoom-footer .inside {
  margin-left: -10%;
  margin-right: -10%;
}

.promo-zoom-footer img {}

@media (min-width: 768px) {
  .promo-zoom-footer .inside {
    margin-left: 0;
    margin-right: 0;
  }
}


/*-------------------------------------------------------------------------------
  4. Home Horizontal
-------------------------------------------------------------------------------*/


/* 4.1 Home Horizontal Navs */

.horizontal-nav {
  width: 100%;
  position: fixed;
  z-index: 300;
  bottom: 5.55555556vmin;
  left: 0;
}

.horizontal-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.horizontal-nav li {
  float: left;
  height: 2px;
  width: 3rem;
  background: #ff3600;
  overflow: hidden;
  transition: background .5s ease-in-out;
  position: relative;
}

.horizontal-nav li:before {
  content: "";
  display: block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #ff3600;
}

.horizontal-nav li.active:before {
  animation: navWidth .5s ease-in-out forwards;
}

@-webkit-keyframes navWidth {
  0% {
    width: 0;
  }

  100% {
    width: 100%;
  }
}

@keyframes navWidth {
  0% {
    width: 0;
  }

  100% {
    width: 100%;
  }
}

.horizontal-nav li.active,
.horizontal-nav li.active~li {
  background: #cccccc;
}

.horizontal-nav li:before {
  width: 100%;
}

.horizontal-nav li.active~li:before {
  width: 0%;
}

.horizontal-controls {
  position: absolute;
  right: 15px;
  bottom: -.625rem;
}

@media (min-width: 992px) {
  .horizontal-nav li {
    width: 6.25rem;
  }
}

@media (min-width: 1600px) {
  .horizontal-controls {
    right: 3.75rem;
  }
}

.horizontal-controls button {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  color: #999999;
  font-weight: bold;
  /*text-transform: uppercase;*/
  transition: all .2s ease-in-out;
}

.horizontal-controls button:hover {
  color: #000000;
}

.horizontal-controls .divider {
  margin-left: 1.625rem;
  margin-right: 1.625rem;
  font-weight: normal;
  color: #cccccc;
}


/* 4.2 Home Horizontal Setting */

.home-horizontal .section {
  transition: transform 1.5s ease-in-out;
}

.home-horizontal .active+.section {
  transform: translate3d(30%, 0px, 0px) !important;
}

.home-horizontal .section.active {
  transform: translate3d(0, 0px, 0px);
}

.pp-scrollable {
  overflow-x: hidden;
  overflow-y: auto;
}

.slide {
  /* background: #ffffff; ** EOM */
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 0;
  padding-bottom: 0;
}

.slide-container {
  position: relative;
  padding-top: 9rem;
  padding-bottom: 0rem;
}

@media (min-width: 992px) {
  .slide-container {
    padding-top: 15vmin;
    padding-bottom: 0vmin;
  }
}

@media (min-width: 1400px) {
  .slide-container {
    padding-top: 21.66666667vmin;
  }
}

.slide-dark {
  background-color: #0c0c0c;
  color: #ffffff;
}

.slide-container .video-container {
  display: none;
  pointer-events: none;
}

.slide-container .video-container:before {
  display: none;
}

.slide-bg,
.slide-bg>.inside {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  background-position: 70% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.slide-bg {
  overflow: hidden;
}

.home-horizontal .slide1 .slide-bg>.inside {
  background-image: url("../img/bg-horizontal1_.jpg");
}

.home-horizontal .slide3 .slide-bg>.inside {
  background-image: url("../img/bg-horizontal3.jpg");
}

.home-horizontal .slide5 .slide-bg>.inside {
  background-image: url("../img/bg-horizontal5.jpg");
}

.slide-container .container {
  /*position: relative;*/
  z-index: 100;
}

.slide [class^="col-"] {
  position: static;
}

.num {
  font-size: 3.75rem;
  font-size: 5.55555556vmin;
  font-weight: 500;
  line-height: 1;  
}

.slide-num {
  margin-bottom: 1.5vmin;
}

@media (min-width: 1400px) {
  .slide-num {
    position: absolute;
    left: 15px;
    top: 22.22222222vmin;
  }
}

@media (min-width: 1600px) {
  .slide-num {
    left: 3.75rem;
  }
}

.slide-video-container {
  position: absolute;
  z-index: 100;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.home-horizontal h1,
.home-horizontal .h1 {
  margin-left: -.25rem;
  margin-bottom: 4.07407407vmin;
  font-size: 12.03703704vmin;
  /*text-transform: uppercase;*/
  line-height: .92307692;
  font-weight: normal;
}

.home-horizontal .slide5 h1,
.home-horizontal .slide5 .h1 {
  font-size: 11.11111111vmin;
}

.home-horizontal h2,
.home-horizontal .h2 {
  font-size: 6.66666667vmin;
  /*text-transform: uppercase;*/
  line-height: .92307692;
  font-weight: normal;
}

.horizontal-top-title {
  margin-top: .925925926vmin;
  margin-bottom: 4.44444444vmin;
  font-size: 1.25rem;
  font-weight: bold;
  /*text-transform: uppercase;*/
  letter-spacing: .5px;
  line-height: .92307692;
}

.slide-title-sub {
  margin-bottom: 2.12962963vmin;
  font-size: 1.875rem;
  /*text-transform: uppercase;*/
  line-height: .92307692;
  letter-spacing: .5px;
}

.slide-descr {
  color: #999999;
  line-height: 1.625;
}

.home-horizontal .slide2 .slide-descr {
  line-height: 1.875;
}

.home-horizontal .slide1 .slide-photo {
  position: absolute;
  height: 70.92592593%;
  left: 46.875%;
  right: 0;
  top: 13.24074074%;
  z-index: -1;
}

.home-horizontal .slide1 .slide-photo img {
  height: 100%;
  width: auto;
  max-width: none;
}

.btn-play {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0;
  background: transparent;
  border: #ff3600 2px solid;
  width: 6.48148148vmin;
  height: 6.48148148vmin;
  min-width: 3rem;
  min-height: 3rem;
  line-height: 2.5rem;
  border-radius: 4.375rem;
  text-align: center;
  transition: all .3s ease-in-out;
  font-size: 1.5rem;
  color: #ffffff;
}

.btn-play:hover {
  background: #ff3600;
  text-decoration: none;
}

.btn-play .ion-ios-play {
  margin-left: .25rem;
}

button.btn-play i,
button.btn-play i:before {
  display: block;
  line-height: 1;
}

a.btn-play i {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}

.btn-play-lg {
  border: #ffffff 2px solid;
  padding: 0 0 0 .75rem;
  min-width: 6.875rem;
  min-height: 6.875rem;
  line-height: 6.2rem;
  font-size: 4.5rem;
  color: #ffffff;
}

.btn-play-lg:hover {
  border-color: #ff3600;
}

.media-title {
  margin-top: .55555556vmin;
  margin-bottom: 3rem;
}

.media-title h2,
.media-title .h2 {
  margin-right: 2.375rem;
}

@media (min-width: 992px) {
  .media-title {
    display: flex;
    margin-bottom: 0;
  }
}

.horizontal-service-list {
  margin-top: 3.33333333vmin;
}

.horizontal-service-list>div {
  display: flex;
}

.horizontal-service-item {
  border: #e1e1e1 1px solid;
  padding: 3.88888889vmin 3.125rem 5.09259259vmin;
  position: relative;
  margin-top: 4.62962963vmin;
  display: flex;
  flex-direction: column;
}

.horizontal-service-item:before {
  content: "";
  display: block;
  height: 4px;
  width: 0;
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background: #ff3600;
  transition: width .3s ease-in-out;
}

.horizontal-service-item:hover:before {
  width: calc(100% + 2px);
}

.horizontal-service-item .num {
  color: #cccccc;
  font-weight: normal;
}

.horizontal-service-item .num,
.horizontal-service-item-photo {
  margin-bottom: 3.51851852vmin;
}

.horizontal-service-item-photo img.photo-position {
  position: absolute;
  top: -3.125rem;
  left: 36.48648649%;
  max-width: 67.83783784%;
  height: auto;
}

.horizontal-service-item-photo.photo3 img.photo-position {
  top: -3.75rem;
}

.horizontal-service-item-title {
  margin-bottom: 2.59259259vmin;
  font-size: 2.25rem;  
  /*text-transform: uppercase;*/
  line-height: 1.11111111;
}

.horizontal-service-item-descr {
  height: 100%;
  padding-bottom: 5.37037037vmin;
  line-height: 1.625rem;
}

.horizontal-service-item-title,
.horizontal-service-item-descr {
  position: relative;
  z-index: 100;
}

.horizontal-more-total {
  border-bottom: #000000 1px solid;
  color: #000000;
  /*text-transform: uppercase;*/
  letter-spacing: .5px;
  text-decoration: none;
}

.slide-dark a:not(.btn),
.slide-dark a:not(.btn):hover {
  border-bottom-color: #ffffff;
  color: #ffffff;
  text-decoration: none;
}

.slide-dark a.underline {
  text-decoration: underline;
}

.home-horizontal .partner-list {
  margin-top: 6.48148148vmin;
}

.slide-contact-address {
  margin-bottom: 7.03703704vmin;
  font-size: 1.25rem;
  color: #999999;
}

.slide-contact-mail,
.slide-contact-phone {
  margin-bottom: 2.77777778vmin;
  font-size: 2.25rem;
  font-weight: bold;
  letter-spacing: -.5px;
}

.slide5 .slide-title {
  margin-bottom: .8125rem;
}


/* 4.3 Home Horizontal Animation */

.slide-num {
  opacity: 0;
  transition: all .3s ease-in-out;
  transition-delay: 1.5s;
}

.home-horizontal .section.active .slide-num {
  opacity: 1;
}

.home-horizontal .slide-title,
.home-horizontal .slide-body {
  opacity: 0;
  transform: translateX(-200px);
  transition: all .5s ease-in-out;
}

.home-horizontal .slide-body {
  transition-delay: .2s;
}

.home-horizontal .active+.section .slide-title,
.home-horizontal .active+.section .slide-body {
  opacity: 0;
  transform: translateX(400px);
}

.home-horizontal .section.active .slide-title,
.home-horizontal .section.active .slide-body {
  opacity: 1;
  transform: translateX(0);
}

.home-horizontal .active+.section .slide-title,
.home-horizontal .section.active .slide-title {
  transition-delay: .7s;
}

.home-horizontal .active+.section .slide-body,
.home-horizontal .section.active .slide-body {
  transition-delay: .9s;
}

.home-horizontal .slide-note {
  opacity: 0;
  transition: all .5s ease-in-out;
  transition-delay: 1.2s;
}

.home-horizontal .section.active .slide-note {
  opacity: 1;
}

.slide-bg>.inside {
  transition: transform .8s ease-in-out;
  transform: scale(1.08);
  transition-delay: .8s;
}

.section.active .slide-bg>.inside {
  transform: scale(1);
}


/* 4.4 Home Horizontal Dark Settings */

.dark-horizontal .header,
.dark-horizontal .social-fixed a,
.dark-horizontal .establised,
.dark-horizontal .copyright-fixed,
.dark-horizontal .social-rounded-fixed a,
.dark-horizontal .navbar-nav>ul>li>a {
  color: #ffffff;
}

.dark-horizontal .stick,
.dark-horizontal #pp-nav span,
.dark-horizontal .pp-slidesNav span {
  /*background: #ffffff;*/
}

.dark-horizontal .horizontal-nav li.active,
.dark-horizontal .horizontal-nav li.active~li {
  background: #333333;
}

.dark-horizontal .horizontal-controls button {
  color: #666666;
}

.dark-horizontal .horizontal-controls button:hover {
  color: #ffffff;
}

.dark-horizontal .social-rounded-fixed a {
  border-color: #ffffff;
}


/*-------------------------------------------------------------------------------
  5. Home Piling
-------------------------------------------------------------------------------*/

.home-piling .section,
.project-list-piling .section {
  transition: transform 1.2s ease-in-out;
  position: relative;
  z-index: 10;
}

.a-pagepiling.home-piling .section,
.a-pagepiling.project-list-piling .section {
  position: absolute;
}

.project-list-piling.a-pagepiling .section {
  position: absolute;
}

.home-piling .active+.section,
.project-list-piling .active+.section {
  transform: translate3d(0px, 20%, 0px) !important;
}

.home-piling .section.active,
.project-list-piling .section.active {
  transform: translate3d(0px, 0px, 0px);
}

@media (max-width: 575px) {
  .home-piling .container {
    padding-right: 45px;
  }
}

#pp-nav.right {
  right: 15px;
}

@media (min-width: 1600px) {
  #pp-nav.right {
    right: 3.75rem;
  }
}

#pp-nav li,
.pp-slidesNav li {
  height: 24px;
  margin: 6px 0;
  width: 24px;
}

#pp-nav li a,
.pp-slidesNav li a {
  border: 1px solid transparent;
  border-radius: 20px;
}

#pp-nav li a.active,
.pp-slidesNav li a.active {
  border-color: #ff9000;
}

#pp-nav span,
.pp-slidesNav span {
  width: 6px;
  height: 6px;
  border: none;
  background: #999999;
  left: 8px;
  top: 8px;
}

#pp-nav li a.active span,
.pp-slidesNav li a.active span,
#pp-nav li a:hover span,
.pp-slidesNav li a:hover span {
  background: #ff9000;
}

.home-piling h1,
.home-piling .h1 {
  margin-left: -.25rem;
  margin-bottom: 7.03703704vmin;
  font-size: 10.18518519vmin;
  line-height: 1;
}

.home-piling .slide1 {
  background: #1f5152;
}

.home-piling .slide1 .slide-bg>.inside {
  background-image: url("../img/bg-piling1.jpg");
}

.home-piling .slide-bg-circle>.inside {
  background-image: url("../img/piling-pic2.png");
  background-color: #f6f6f6;
}

.home-piling .slide5 .slide-bg>.inside {
  background-image: url("../img/bg-piling5.jpg");
}

.home-piling .slide6 .slide-bg>.inside {
  background-image: url("../img/bg-piling6.jpg");
}

.home-piling .slide6 .slide-bg-circle>.inside {
  background-image: url("../img/piling-pic2.png");
  background-color: transparent;
}

.home-piling .slide1 .slide-title-sub {
  font-size: 1.5rem;
  line-height: 1;
  font-weight: bold;
}

.home-piling h2,
.home-piling .h2 {
  margin-bottom: 6.11111111vmin;
  font-size: 6.66666667vmin;
  font-weight: normal;
  line-height: 1.14;
  letter-spacing: -.125rem;
}

.solution-num {
  margin-right: 1rem;
  margin-top: .25rem;
  background-image: url("../img/bg-letter-solution.jpg");
  background-size: cover;
  font-size: 37.03703704vmin;  
  line-height: .75;
}

.solution-num>.inside {
  background: #f6f6f6;
}

.solution-num-title {
  margin-top: 3vmin;
  font-size: 1.5rem;
  /*text-transform: uppercase;*/
}

.solution-num,
.solution-num-title {
  display: inline-block;
  margin-bottom: 5vmin;
}

.promo-video-container {  
  z-index: 0;
  background-image: url("../img/patagonia.png") !important;  
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
}

.servicio-video-container {  
  
  
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
}


@media (min-width: 992px) {

  .solution-num,
  .solution-num-title {
    margin-bottom: 0;
    margin-right: 0;
  }

  .solution-num-title {
    display: block;
    margin-top: 23.70370370vmin;
  }
}

.slide2 .ornament {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: -1;
  transform: translate3d(-80px, 0, 0);
  overflow: hidden;
}

.slide2 .ornament>.inside {
  display: block;
  width: 88.51851852vmin;
  height: 44.25925926vmin;
  background: #f4e9db;
  border-radius: 50% 50% 0% 0% / 100% 100% 0% 0%;
  position: absolute;
  left: -80px;
  bottom: 0;
}

.solution-collapse-item {
  margin-bottom: 2rem;
}

.solution-collapse-item-title {
  font-size: 1.625rem;
}

.solution-collapse-item-title a {
  display: block;
  padding-right: 2rem;
  cursor: pointer;
  position: relative;
}

.solution-collapse-item-title a:not(.collapsed),
.solution-collapse-item-title a:not(.collapsed):hover,
.solution-collapse-item-title a.collapsed:hover {
  color: #00A6A6;
}

.solution-collapse .card-body {
  padding: 1.25rem 1.75rem .25rem;
  color: #666666;
  line-height: 1.875;
}

.icon-plus {
  display: inline-block;
  vertical-align: middle;
  width: 21px;
  height: 21px;
  position: relative;
}

.icon-plus:before,
.icon-plus:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 10px;
  left: 0;
  background: #ffffff;
  transform: rotate(0);
  transition: transform .4s ease-in-out;
}

.solution-collapse-item-title a.collapsed .icon-plus:after {
  transform: rotate(-90deg);
}

.solution-collapse-item-title a:not(.collapsed) .icon-plus:before,
.solution-collapse-item-title a:not(.collapsed) .icon-plus:after,
.solution-collapse-item-title a:hover .icon-plus:before,
.solution-collapse-item-title a:hover .icon-plus:after {
  background: #00A6A6;
}

.solution-collapse-item-title a .icon-plus {
  position: absolute;
  right: 0;
  top: 10px;
}

.piling-project-item {
  margin-bottom: 7.22222222vmin;
}

.piling-project-title {
  margin-bottom: 1.375rem;
  font-size: 6.11111111vmin;
  font-weight: normal;
  line-height: 1.06060606;
}

.piling-project-title a:hover,
.slide-dark .piling-project-title a:hover,
.piling-more-total a:hover,
.slide-dark .piling-more-total a:hover {
  text-decoration: underline;
}

.piling-project-detail {
  font-size: .875rem;
  /*text-transform: uppercase;*/
}

.section.active .slide-bg-list .slide-bg>.inside {
  transition: all .8s ease-in-out;
  transform: scale(1.08);
}

.slide-bg-list .slide-bg.active>.inside {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0s;
  transform: scale(1) !important;
}

.slide-bg-list .slide-bg.active:first-child>.inside {}

.slide-bg-list .slide-bg>.inside {
  opacity: 0;
}

.piling-project-list-title,
.piling-more-total {
  font-size: 1.5rem;
  font-size: 2.22222222vmin;
  font-weight: bold;
  /*text-transform: uppercase;*/
  line-height: 1.25;
}

.piling-project-list-title {
  margin-bottom: 7.77777778vmin;
}

.piling-more-total {
  margin-top: 6.94444444vmin;
}

.rounded-icon {
  display: inline-block;
  border: #ff9000 2px solid;
  width: 6.48148148vmin;
  height: 6.48148148vmin;
  border-radius: 4.375rem;
  min-width: 3rem;
  min-height: 3rem;
  text-align: center;
  position: relative;
  transition: all .3s ease-in-out;
}

.icon-quote {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.125rem;
  height: 1.125rem;
  background: url("../img/icon-quote.png") 50% 50% no-repeat;
  background-size: contain;
  transform: translate(-50%, -50%);
}

.home-piling .slide6 h2,
.home-piling .slide6 .h2 {
  margin-bottom: 2.40740741vmin;
  font-size: 6.48148148vmin;
}

.home-piling .slide-contact-address {
  margin-bottom: 6.85185185vmin;
}

.home-piling .slide-contact-mail,
.home-piling .slide-contact-phone {
  font-weight: normal;
}

.home-piling .slide-contact-mail a {
  color: inherit;
  text-decoration: underline;
}


/*-------------------------------------------------------------------------------
  6. Home Minimal
-------------------------------------------------------------------------------*/


.full-screen {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
}

.slider-container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slide.active {
  opacity: 1;
}

.slide-text {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  opacity: 0;
  animation: fadeInText 1s forwards;
  animation-delay: 0.5s;
}

@keyframes fadeInText {
  from {
    opacity: 0;
    transform: translate(-50%, -60%);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}


.promo-minimal-container {
  position: relative;
}

.promo-minimal {
  position: relative;
  z-index: 200;
}

.promo-minimal-hover {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  overflow: hidden;
}

.minimal-item {
  display: block;
  border-top: #cccccc 1px solid;
  padding-top: 23.79629630vmin;
  padding-bottom: 8vmin;
  text-align: center;
  position: relative;
  opacity: 1;
  transition: opacity .5s ease-in-out;
}

.promo-minimal .minimal-item:hover {
  opacity: 0;
}

a.minimal-item,
a.minimal-item:hover {
  color: inherit;
  text-decoration: none;
}

.minimal-item:first-child {
  border: none;
}

.minimal-item-letter {
  margin-bottom: 4.81481481vmin;
  font-size: 41.66666667vmin;
  font-size: 23.4375vmax;
  font-weight: 900;
  line-height: .75;
}

.minimal-item-letter .letter {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
}

.minimal-item-letter .text-texture {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-position: 50% 50%;
  background-size: auto 132%;
  -webkit-background-clip: inherit;
  -webkit-text-fill-color: inherit;
}

.minimal-item-letter .text-texture>.inside {
  display: block;
  height: 100%;
  padding-top: 23.79629630vmin;
}

.promo-minimal-hover .text-texture>.inside {
  background: rgba(0, 0, 0, .65);
  mix-blend-mode: darken;
}

.promo-minimal-hover .minimal-item {
  transition: opacity .5s ease-in-out;
}

.promo-minimal-hover .minimal-item.visible {
  opacity: 1;
}

.minimal-item-title {
  margin-bottom: 1.5rem;
  font-size: 2.625rem;
  font-weight: 900;
}

.minimal-item-title,
.minimal-item-descr,
.minimal-item-more {
  padding-left: 10%;
  padding-right: 10%;
  position: relative;
  z-index: 200;
}

.minimal-item-descr {
  line-height: 1.44444444;
  font-size: 1.125rem;
}

.promo-minimal-hover,
.promo-minimal-hover .text-grey {
  color: #ffffff;
}

.promo-minimal-hover>.row {
  position: relative;
  z-index: 200;
}

.promo-minimal-hover .minimal-item-letter .letter {
  overflow: visible;
}

.promo-minimal-hover .text-texture {
  transition: all .75s ease-in-out;
}

.promo-minimal-hover .visible .text-texture {
  background-size: auto 120%;
}

.promo-minimal-hover .minimal-item-title,
.promo-minimal-hover .minimal-item-descr,
.promo-minimal-hover .minimal-item-more {
  transform: translate(0, 150px);
  opacity: 0;
  transition: all .5s ease-in-out;
}

.promo-minimal-hover .visible .minimal-item-title,
.promo-minimal-hover .visible .minimal-item-descr,
.promo-minimal-hover .visible .minimal-item-more {
  opacity: 1;
  transform: translate(0, 0);
}

.promo-minimal-hover .minimal-item-title {
  transition-delay: .35s;
}

.promo-minimal-hover .minimal-item-descr {
  transition-delay: .5s;
}

.promo-minimal-hover .minimal-item-more {
  transition-delay: .65s;
}

.minimal-item-more {
  margin-top: 1.625rem;
  font-size: 4.44444444vmin;
  font-weight: bold;
  opacity: 0;
}

@media (max-width: 991px) {
  .minimal-item {
    overflow: hidden;
  }
}

.dark-horizontal .promo-minimal-container a {
  color: #000000 !important;
}

@media (min-width: 992px) {
  .minimal-item {
    min-height: 100vh;
    border-left: #cccccc 1px solid;
    border-top: none;
  }

  .minimal-item.over {
    opacity: 0;
  }

  .promo-minimal-hover .minimal-item {
    opacity: 0;
  }

  .minimal-item-letter .letter1 .text-texture {
    left: 0;
    right: -202%;
    padding-right: 202%;
  }

  .minimal-item-letter .letter2 .text-texture {
    left: -101%;
    right: -101%;
    padding-left: 101%;
    padding-right: 101%;
  }

  .minimal-item-letter .letter3 .text-texture {
    left: -202%;
    right: 0;
    padding-left: 202%;
  }

  .promo-minimal-hover:before,
  .promo-minimal-hover:after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 300;
    background: #ffffff;
    opacity: .25;
  }

  .promo-minimal-hover:before {
    left: 33.33333333%;
  }

  .promo-minimal-hover:after {
    left: 66.66666667%;
  }

  .promo-minimal-hover .minimal-item-letter .letter3 .text-texture {
    padding-left: 0;
  }

  .promo-minimal-hover .minimal-item-letter .letter3 .text-texture>.inside {
    padding-left: 66.66666667%;
  }
}


/*-------------------------------------------------------------------------------
  7. Home Video
-------------------------------------------------------------------------------*/

.video-bnr {
  position: relative;
  margin-bottom: -15.375rem;
  height: 37.5rem;
}

.video-container-xs {
  overflow: hidden;
  width: 60%;
  height: 70%;
}

.video-container {
  position: absolute;
  z-index: 50;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

/*** EOM ***/
.video-container:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 600;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  /*background: #0E3541;*/
  opacity: .5;
  pointer-events: none;
}

.video-item {
  display: none;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.video-servicio-item {  
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.video-container-xs .video-item {
  display: block;
  width: 80%;
  height: 40vh;
  overflow: hidden;
  position: relative;
  left: 0;
  top: 0;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 20px;
}

.video-item.is-active {
  display: block;
}

.video-container iframe {
  border: none;
  margin: 0;
  padding: 0;
  height: 500%;
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}



.circular-container {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  z-index: 101;
  width: 80%;
  height: 100%;
  opacity: 1;
  transition: opacity .3s ease-in-out;
}

.circular-container.is-active {
  opacity: 1;
  transition: opacity .5s ease-out .8s;
}

.circular-names {
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 767px) {
  .circular-container {
    display: none;
  }
}

.circular-container .circular-wrapper {
  position: relative;
  width: 59.72222222vmin;
  height: auto;
  margin-top: 7.96296296vmin;
}

.circular-container .circular-wrapper .circular-names li {
  display: flex;
  flex-direction: column;
  position: absolute;
  z-index: 300;
  overflow: hidden;
  padding-bottom: 0;
  color: #ffffff;
  font-size: 1.125rem;
  line-height: 1.5;
  /*text-transform: uppercase;*/
  cursor: pointer;
  /*letter-spacing: .08333333em;*/
}

.circular-container .circular-wrapper .circular-names li .name-wrapper {
  display: inline-block;
  padding: 10px;
  padding-bottom: 0;
  white-space: nowrap;
  transition: transform 1s cubic-bezier(.23, 1, .32, 1);
}

/** EOM **/
.circular-container .circular-wrapper .circular-names li {
  padding-top: 0;
  padding-bottom: 10px;
  font-size: 1.5rem;
  white-space: nowrap;
  opacity: 1;
}


/* .circular-container .circular-wrapper .circular-names li[data-portrait-index="1"] {
    bottom: 100%;
    left: 42%;
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="2"] {
    top: 46.8%;
    left: 100%;
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="3"] {
    top: 100%;
    right: 42%;
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="4"] {
    right: 100%;
    bottom: 47.8%;
} */

.circular-container .circular-wrapper .circular-names li[data-portrait-index="1"] {
  bottom: 59.8%;
  left: 100%;
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="2"] {
  top: 83.65%;
  left: 84%;
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="3"] {
  top: 83.65%;
  right: 84%;
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="4"] {
  right: 100%;
  bottom: 59.8%;
}

@media (max-width: 960px) {
  .circular-container .circular-wrapper .circular-names li[data-portrait-index="4"] {
    bottom: 58.6%;
  }

  .circular-container .circular-wrapper .circular-names li[data-portrait-index="4"] .name-wrapper {
    white-space: normal;
  }
}

@media (max-width: 780px) {
  .circular-container .circular-wrapper .circular-names li[data-portrait-index="5"] {
    bottom: 99.5%;
    left: 32.5%;
  }
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="5"] {
  bottom: 99.5%;
  left: 34%;
}

video {
  object-fit: cover;
}

@media (max-width: 960px) {
  .circular-container .circular-wrapper .circular-names li[data-portrait-index="4"] {
    bottom: 58.6%;
  }

  .circular-container .circular-wrapper .circular-names li[data-portrait-index="4"] .name-wrapper {
    white-space: normal;
  }
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="5"] {
  bottom: 99.5%;
  left: 48.5%;
}

.name-wrapper a {
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 4px;
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="1"] .name-wrapper,
.circular-container .circular-wrapper .circular-names li[data-portrait-index="2"] .name-wrapper,
.circular-container .circular-wrapper .circular-names li[data-portrait-index="5"] .name-wrapper {
  transform: translate3d(-100%, 0, 0);
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="3"],
.circular-container .circular-wrapper .circular-names li[data-portrait-index="4"] {
  text-align: right;
}

.circular-container .circular-wrapper .circular-names li[data-portrait-index="3"] .name-wrapper,
.circular-container .circular-wrapper .circular-names li[data-portrait-index="4"] .name-wrapper {
  transform: translate3d(100%, 0, 0);
}

.circular-container .circular-wrapper .circular-names li.is-active .name-wrapper {
  transform: translateZ(0);
  transition: transform 1s cubic-bezier(.23, 1, .32, 1) .8s;
}

.circular-container .circular-wrapper .circular-names li.is-init .name-wrapper {
  transform: translateZ(0);
  transition: transform 1s cubic-bezier(.23, 1, .32, 1) 0s;
}

.circular-container svg {
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.circular-container svg .circle-path.circle-path--background {
  opacity: .4;
}

.circular-container svg .circle-path.circle-path--background circle {
  stroke-dasharray: 2644;
  stroke-dashoffset: 2644;
  stroke-width: 4;
}

.circular-container svg .circle-path.circle-path--fill {
  opacity: 1;
}

.circular-container svg .circle-path.circle-path--fill circle {
  stroke-dasharray: 2644;
  stroke-dashoffset: 2644;
  stroke-width: 4;
}

.circular-container svg .circle-path circle {
  fill: none;
  stroke-width: 2;
  stroke: #ffffff;
  stroke-miterlimit: 10;
}

.circular-container svg .circle-dot {
  position: relative;
  cursor: pointer;
}

.circular-container svg .circle-dot .circle-outside {
  fill: #ffffff;
  stroke-width: 2;
  stroke: #ffffff;
  opacity: 1;
  stroke-miterlimit: 10;
}

.circular-container svg .circle-dot .circle-center {
  stroke: rgb(48, 141, 191);
  fill: rgb(48, 141, 191);
  opacity: 0;
  transition: opacity .6s cubic-bezier(.23, 1, .32, 1), transform 1s cubic-bezier(.23, 1, .32, 1);
}

.circular-container svg .circle-dot:hover .circle-center {
  opacity: 1;
}

.circular-container svg .circle-dot.is-active .circle-center {
  opacity: 1;
  transition: opacity .6s cubic-bezier(.23, 1, .32, 1) 1s, transform 1s cubic-bezier(.23, 1, .32, 1);
}

.video-text-container {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 400;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  color: #ffffff;
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 4px;
}

.video-text-item.is-active {
  visibility: visible;
}

/*** EOM ***/
.video-item-title,
.video-item-title a {  
  font-weight: 700;
  font-size: 30px;
  text-align: center;
  z-index: 2;
  /*text-transform: uppercase;*/
  text-decoration: none;

  letter-spacing: -.05em;
  line-height: 1;
  margin: 1.3rem 0;
}

/*** EOM ***/
.video-text-item:first-child .video-item-title {
  margin-bottom: 1.5rem;
}


.video-text-container a {
  pointer-events: all;
  color: inherit;
}

.video-text-container a img {
  /*opacity: 0.6;*/
}

.video-text-container a:hover img {
  margin-left: 10px;
  opacity: 1;
  transition: margin-left .2s ease-in-out;

}


/*** EOM ***/
.video-item-title-sub {  
  font-weight: 700;
  font-size: 1.5rem;
  /*text-transform: uppercase;*/
  height: 60px;
}

/*** EOM 
.video-item-title-sub:first-child {
    margin-bottom: 0rem;
    height: auto;
}***/

/*** EOM ***/
.video-text-item:first-child .video-item-title-sub {
  margin-top: 1rem;
  margin-bottom: 0rem;
  height: auto;
}


.video-item-descr {  
  font-style: normal;
  font-weight: 400;
  font-size: 15px;
  /*1rem
  line-height: 3vmin;
  */
  text-align: center;
  color: #FFFFFF;
}

.video-item-descr p span {
  display: block;
}

.video-item-more {
  font-size: 1.125rem;
  /*text-transform: uppercase;*/
  font-weight: bold;
  letter-spacing: .25em;
}

@media screen and (min-width: 768px) {
  .video-text-container {
    width: 59.72222222vmin;
    pointer-events: none;
  }

  /** EOM **/
  .video-item-descr {
    /*height: 9.375em;*/
    /*height: 14.888889vmin;
  margin-bottom: 2.59259259vmin;*/
  max-width: 300px;
        margin-left: auto;
        margin-right: auto;
  }

  /** EOM **/
  .video-text-item {
    visibility: hidden;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-top: 12.962963vmin;
    text-align: center;
    transform: translate(0, -40%);
  }

  .video-text-item:after {
    top: 50%;
  }

  /** EOM **/
  .boton-responsive {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }

  .boton-responsive img {
    width: 3.5rem !important;
    /*60px*/
    margin-top: 3rem;
    cursor: pointer;
  }
}

@media (max-width: 767px) {
  .video-text-container {
    display: flex !important;
  }

  .video-text-container .owl-stage-outer,
  .video-text-container .owl-stage,
  .video-text-container .owl-item {
    height: 100%;
  }

  .video-text-item {
    height: 100%;
    position: relative;
  }

  .video-text-item>.inside {
    position: absolute;
    z-index: 20;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 92%;
    text-align: center;
  }

  .video-text-container.owl-theme .owl-dots {
    position: absolute;
    top: 80%;
    left: 10%;
    right: 10%;
    text-align: center;
  }

  .video-text-container.owl-theme .owl-dots .owl-dot span:before {
    background: #ffffff;
  }

  .video-text-container.owl-theme .owl-dots .owl-dot.active span {
    border-color: #ffffff;
    background: rgba(255, 255, 255, .1);
  }

  .mobile-video-bg {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 10;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .mobile-video-bg:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #000000;
    opacity: .35;
  }

  .promo-video-container {
    position: relative;
    z-index: 1;
  }

  .video-item-title,
  .video-item-title a {
    font-size: 28px;
    line-height: 34px;
  }

  .video-item-descr {
    font-size: 18px;
    line-height: 22px;
  }

  .boton-responsive {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }

  .boton-responsive img {
    width: 60px !important;
    margin-top: 53px;
  }
}

.video-item-more i {
  margin-left: 1.25rem;
}

.video-text-item>.inside>* {
  transform: translateY(10vmin);
  opacity: 0;
}

.video-text-item.is-active>.inside>.video-item-title-sub,
.video-text-item.is-active>.inside>.video-item-title:first-child {
  animation: videoText 2s ease-in-out forwards;
  animation-delay: 0s;
}

.video-text-item.is-active>.inside>.video-item-title-sub+.video-item-title,
.video-text-item.is-active>.inside>.video-item-title+.video-item-title-sub {
  animation: videoText 2s ease-in-out forwards;
  animation-delay: .15s;
}

.video-text-item.is-active>.inside>.video-item-descr {
  animation: videoText2 .5s ease-in-out forwards;
  animation-delay: 1.8s;
}

.video-text-item.is-active>.inside>.video-item-more {
  animation: videoText2 .5s ease-in-out forwards;
  animation-delay: 1.95s;
}

@-webkit-keyframes videoText {
  0% {
    opacity: 0;
    transform: translateY(24vmin);
  }

  30% {
    opacity: 1;
    transform: translateY(12vmin);
  }

  70% {
    transform: translateY(12vmin);
  }

  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

@keyframes videoText {
  0% {
    opacity: 0;
    transform: translateY(24vmin);
  }

  30% {
    opacity: 1;
    transform: translateY(12vmin);
  }

  70% {
    transform: translateY(12vmin);
  }

  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

@-webkit-keyframes videoText2 {
  0% {
    opacity: 0;
    transform: translateY(5vmin);
  }

  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

@keyframes videoText2 {
  0% {
    opacity: 0;
    transform: translateY(5vmin);
  }

  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}


/*-------------------------------------------------------------------------------
  8. Home 3D
-------------------------------------------------------------------------------*/

.screen {
  min-height: 100vh;
  width: 100%;
  padding-top: 5vmin;
  padding-bottom: 5vmin;
  display: flex;
  align-items: center;
  text-align: center;
}

.promo-3d {
  padding-top: 25vmin;
  position: relative;
  text-align: center;
}

.promo-3d-bg,
.promo-3d-man {
  position: fixed;
  left: 0;
  right: 0;
  bottom: -10vmin;
  z-index: 100;
}

.promo-3d-man {
  left: 50%;
  right: auto;
  bottom: -40vmin;
  width: 100%;
  transform: translate(-50%, 0) scale(1.05);
}

.promo-3d-bg img,
.promo-3d-man img {
  width: 100%;
}

@media (max-width: 575px) {

  .promo-3d-bg img,
  .promo-3d-man img {
    width: 200vmin;
    margin-left: -100vmin;
    margin-right: -100vmin;
  }
}

.promo-3d-man-start {
  position: absolute;
  left: 0;
  top: 10%;
}

.promo-3d-opacity {
  position: absolute;
  left: 0;
  top: 70%;
}

.promo-3d .promo-screen-titles {
  position: relative;
  z-index: 200;
}

.about-3d {
  position: relative;
  opacity: 0;
}

.section-about-3d.active .about-3d {
  opacity: 1;
}

.section-about-3d .section-item-title,
.section-about-3d .about-3d-detail {
  opacity: 0;
  transform: translateY(16rem);
  transition: all .75s ease-in-out;
}

.section-about-3d .section-item-title {
  transition-delay: .3s;
}

.section-about-3d .about-3d-detail {
  transition-delay: 1.2s;
}

.section-about-3d.active .section-item-title,
.section-about-3d.active .about-3d-detail {
  opacity: 1;
  transform: translateY(0);
}

.about-3d-photo {
  position: relative;
  padding-left: 6.25rem;
  padding-right: 6.25rem;
  margin-top: 12px;
  margin-bottom: 8vmin;
}

.photo-container {
  position: relative;
  overflow: hidden;
}

.photo-container img {
  transform: scale(1.2);
  transform-origin: right top;
  transition: all 1.5s .5s ease-in-out;
}

.section-about-3d.active .photo-container img {
  transform: scale(1);
}

.photo-container .mask {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background: #ffffff;
  transition: all 1.3s .5s ease-in-out;
}

.section-about-3d.active .photo-container .mask {
  top: -100%;
}

.section-about-3d .stamp {
  opacity: 0;
  transform: scale(1.5);
  transform-origin: right center;
  transition: all 1s .5s ease-in-out;
}

.section-about-3d.active .stamp {
  transform: scale(1);
  opacity: 1;
}

.about-3d .section-item-title {
  margin-bottom: 8.51851852vmin;
}

.about-3d-detail {
  position: relative;
  padding-bottom: 3.75rem;
  margin-bottom: 5vmin;
}

@media (min-width: 768px) {
  .about-3d-photo {
    padding-left: 6.25rem;
    padding-right: 4.375rem;
  }

  .rounded-logo.stamp {
    bottom: -8rem;
  }
}

@media (min-width: 992px) {

  .about-3d-photo,
  .about-3d-detail {
    margin-bottom: 11.85185185vmin;
  }
}

.about-3d-detail .lead {
  margin-bottom: 2.5rem;
}

.about-3d-detail .more {
  position: absolute;
  bottom: 0px;
  left: 15px;
}

.h2-3d {
  margin-bottom: 2.5rem;
  font-size: 3rem;
  line-height: 1.25;
  letter-spacing: -.035em;
}

.h2-flash {
  margin-bottom: 6rem;
  font-size: 3rem;
  line-height: 1.25;
}

.vertical-text-left {
  position: absolute;
  left: auto;
  right: 100%;
  margin-right: -34px;
  top: 0;
  transform: rotate(-90deg);
  transform-origin: top right;
  white-space: nowrap;
  text-align: right;
}

.vertical-text-right {
  position: absolute;
  right: auto;
  left: 100%;
  margin-left: -34px;
  top: 0;
  transform: rotate(90deg);
  transform-origin: top left;
  white-space: nowrap;
  text-align: left;
}

.vertical-text-left,
.vertical-text-right {
  font-size: 1rem;
  color: #666666;
  letter-spacing: .25em;
  /*text-transform: uppercase;*/
}

.about-3d .vertical-text-left,
.about-3d .vertical-text-right {
  top: 90px;
}

@media (max-width: 575px) {
  .rounded-logo.stamp {
    width: 7rem;
    height: 7rem;
    left: 3rem;
    bottom: -2rem;
  }
}

.project-carousel-3d {
  overflow: hidden;
  position: relative;
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}

@media (min-width: 576px) {
  .project-carousel-3d .owl-carousel {
    width: 78.33333333%;
    position: static;
  }
}

.project-carousel-3d .owl-stage-outer {
  overflow: visible;
  transform: translate(0%, 0%);
  transition: all .4s ease-in-out;
}

@media (min-width: 768px) {
  .project-carousel-3d .project-carousel-item {
    padding-bottom: 54.04255319%;
  }
}

.project-carousel-3d:hover .owl-carousel .owl-stage-outer {
  transform: translate(-5rem, 0%);
}

.project-carousel-3d.move-left .owl-carousel .owl-stage-outer {
  transform: translate(-8rem, 0%);
}

.project-carousel-3d.move-right .owl-carousel .owl-stage-outer {
  transform: translate(-2rem, 0%);
}

.project-carousel-3d .owl-item .project-carousel-photo,
.project-carousel-3d .owl-item .project-carousel-date,
.project-carousel-3d .owl-item .project-carousel-detail {
  transition: all .4s ease-in-out;
  transform: translate(0rem, 0%);
}

.project-carousel-3d .owl-item.active+.owl-item .project-carousel-photo {
  transform: translate(-4rem, 0%);
}

.project-carousel-3d:hover .owl-item.active+.owl-item .project-carousel-photo {
  transform: translate(-6rem, 0%);
}

.project-carousel-3d.move-left .owl-item.active+.owl-item .project-carousel-photo {
  transform: translate(-7rem, 0%);
}

.project-carousel-3d:hover .owl-item.active .project-carousel-date,
.project-carousel-3d:hover .owl-item.active .project-carousel-detail {
  transform: translate(5rem, 0%);
}

.project-carousel-3d.move-left .owl-item.active .project-carousel-date,
.project-carousel-3d.move-left .owl-item.active .project-carousel-detail {
  transform: translate(8rem, 0%);
}

.project-carousel-3d.move-right .owl-item.active .project-carousel-date,
.project-carousel-3d.move-right .owl-item.active .project-carousel-detail {
  transform: translate(2rem, 0%);
}

.project-carousel-3d .project-carousel-item:not(.text-white) .project-carousel-title,
.project-carousel-3d .project-carousel-item:not(.text-white) .project-carousel-date {
  color: #000000;
}

.project-carousel-3d .project-carousel-item .project-carousel-category,
.project-listing-category,
.project-masonry-category {
  color: #999999;
}

.project-carousel-3d .project-carousel-category,
.project-listing-category,
.project-masonry-category {
  font-size: .875rem;
  /*text-transform: uppercase;*/
}

.project-carousel-date {
  font-size: 1.5rem;
}

.project-carousel-3d .project-carousel-detail,
.project-carousel-3d .owl-item.active .project-carousel-detail {
  opacity: 1;
  animation: none;
}

.project-carousel-3d .project-carousel-detail {
  bottom: 2rem;
}

.project-carousel-3d .owl-item {
  overflow: hidden;
}

@media (min-width: 768px) {
  .project-carousel-3d .project-carousel-detail {
    bottom: 5rem;
  }
}


/*-------------------------------------------------------------------------------
  9. Home Flash
-------------------------------------------------------------------------------*/

.flash-item-nav {
  position: fixed;
  left: 15px;
  z-index: 500;
  padding-left: 0;
  font-size: 1rem;
  /*text-transform: uppercase;*/
  font-weight: bold;
}

.flash-item-nav {
  transition: padding .2s ease-in-out;
}

.flash-item-nav:before {
  transition: width .2s ease-in-out;
}

.flash-item-nav a {
  transition: color .2s ease-in-out;
}

.flash-item-nav:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  height: 1px;
  margin-top: -1px;
  width: 0;
}

.flash-item-nav.active:before {
  width: 1.875rem;
}

.flash-item-nav.active {
  padding-left: 3rem;
}

.flash-item-nav a {
  color: #999999 !important;
}

.flash-item-nav a:hover,
.flash-item-nav.active a {
  color: #000000 !important;
  text-decoration: none;
}

.flash-item-nav:before {
  background: #000000;
}

.home-flash-dark .flash-item-nav a,
.home-flash.dark-horizontal .flash-item-nav a {
  color: #666699 !important;
}

.home-flash-dark .flash-item-nav a:hover,
.home-flash.dark-horizontal .flash-item-nav a:hover,
.home-flash-dark .flash-item-nav.active a,
.home-flash.dark-horizontal .flash-item-nav.active a {
  color: #ffffff !important;
}

.home-flash-dark .flash-item-nav:before,
.home-flash.dark-horizontal .flash-item-nav:before {
  background: #ffffff;
}

.item-nav-1 {
  top: calc(100% - 330px);
}

.item-nav-2 {
  top: calc(100% - 280px);
}

.item-nav-3 {
  top: calc(100% - 230px);
}

.item-nav-4 {
  top: calc(100% - 180px);
}

.item-nav-5 {
  top: calc(100% - 130px);
}

.item-nav-6 {
  top: calc(100% - 80px);
}

.flash-item {
  position: relative;
  background-color: #EFF7FF;
  padding: 4.125rem 0;
}

.flash-pin-2 {
  position: absolute;
  left: 0;
  top: 276px;
}

.flash-pin-3 {
  position: absolute;
  left: 0;
  top: 228px;
}

.flash-pin-4 {
  position: absolute;
  left: 0;
  top: 172px;
}

.flash-pin-5 {
  position: absolute;
  left: 0;
  top: 128px;
}

.flash-pin-6 {
  position: absolute;
  left: 0;
  top: 78px;
}

@media (max-width: 575px) {
  .flash-item-nav {
    display: none;
  }
}

@media (min-width: 1600px) {
  .flash-item-nav {
    left: 3.75rem;
  }
}

.home-flash-dark .home-flash-section .container,
.home-flash.dark-horizontal .home-flash-section .container,
.home-flash-dark .home-flash-section .container-fluid,
.home-flash.dark-horizontal .home-flash-section .container-fluid,
.home-flash .footer {
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease-in-out;
}

.home-flash-section {
  padding-bottom: 0;
}

.home-flash-section-dark {
  padding-top: 21.01851852vmin;
  margin-bottom: 0;
}

@media (min-width: 576px) and (max-width: 1599px) {
  .home-flash-section {
    padding-left: 10rem;
  }
}

.home-flash-dark .home-flash-section-dark .container,
.home-flash.dark-horizontal .home-flash-section-dark .container,
.home-flash-dark .home-flash-section-dark .container-fluid,
.home-flash.dark-horizontal .home-flash-section-dark .container-fluid,
.home-flash.dark-horizontal .footer {
  opacity: 1;
  pointer-events: all;
}

.home-flash {
  background: #ffffff;
  transition: background .3s ease-in-out;
}

.home-flash-dark,
.home-flash.dark-horizontal {
  background: #2c1a6a;
  color: #9999cc;
}

.home-flash-dark hr,
.home-flash.dark-horizontal hr {
  border-top-color: rgba(255, 255, 255, .05);
}

.home-flash-dark a,
.dark-horizontal a,
.home-flash-dark strong,
.home-flash.dark-horizontal strong,
.home-flash-dark h1,
.home-flash.dark-horizontal h1,
.home-flash-dark .h1,
.home-flash.dark-horizontal .h1,
.home-flash-dark h2,
.home-flash.dark-horizontal h2,
.home-flash-dark .h2,
.home-flash.dark-horizontal .h2,
.home-flash-dark h3,
.home-flash.dark-horizontal h3,
.home-flash-dark .h3,
.home-flash.dark-horizontal .h3 {
  color: #ffffff !important;
}

.home-flash .section-item-title,
.section-item-title-xs,
.section-item-title-xs-narrow {
  font-size: .875rem;
  color: #999999;
  /*text-transform: uppercase;*/
  letter-spacing: .5em;
  font-weight: bold;
}

.section-item-title-xs-narrow {
  color: #00A6A6;
  font-weight: normal;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}

.section-item-title-xs {
  margin-bottom: 1.25rem;
}

.home-flash-dark .section-item-title,
.home-flash-dark .section-item-title a {
  color: #666699;
  text-decoration: none;
}

.h1-flash {
  margin-bottom: 7.40740741vmin;
  background: linear-gradient(to bottom, #ff7c00, #ff0000);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 9.25925926vmin;
  line-height: 1;
}

.about-flash {
  position: relative;
}

.about-flash .vertical-text-right {
  right: auto;
  left: 0;
  margin-left: 35px;
  margin-top: 1.66666667vmin;
  color: #ffffff;
  font-weight: bold;
  font-size: 1.125rem;
}

.rounded-logo-scroll {
  float: right;
  width: 7.5rem;
  height: 7.5rem;
  position: relative;
  margin-top: 22px;
}

.rounded-logo-scroll svg {
  letter-spacing: 9px;
  word-spacing: 0;
  fill: #666699;
}

.scroll-icon {
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 38px;
  border: #ffffff 2px solid;
  border-radius: 10px;
  padding-top: 18px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.scroll-icon i {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1px;
  background: #ffffff;
  border-radius: 10px;
}

.scroll-icon i:nth-child(1) {
  width: 2px;
  height: 2px;
}

.scroll-icon i:nth-child(2) {
  width: 4px;
  height: 4px;
}

.scroll-icon i:nth-child(3) {
  width: 6px;
  height: 6px;
}

.flash-video-container {
  position: relative;
  padding-right: 8.54700855%;
  padding-top: 8.54700855%;
}

.flash-video-container:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 14.28571429%;
  left: 8.54700855%;
  right: 0;
  background: url("../img/bg-dotted.png") 0px 2px;
  z-index: 1;
}

.flash-video-container.mask-skew .mask .inside {
  background: #2c1a6a;
}

.flash-video {
  display: block;
  width: 100%;
  position: relative;
  z-index: 50;
}

.flash-video img {
  border: #ffffff 8px solid;
  max-width: 100%;
}

.flash-video-icon {
  width: 5rem;
  height: 5rem;
  border-radius: 5rem;
  background: #ffffff;
  position: absolute;
  z-index: 30;
  left: 50%;
  top: 50%;
  text-align: center;
  line-height: 4.75rem;
  font-size: 2.375rem;
  color: #ff0000;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.flash-video-icon:before,
.flash-video-icon:after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100px;
  background: #ffffff;
  opacity: .4;
}

.flash-video-icon:before {
  left: -.625rem;
  top: -.625rem;
  right: -.625rem;
  bottom: -.625rem;
}

.flash-video-icon:after {
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  animation-name: pulsation;
  animation-duration: 8s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes pulsation {
  0% {
    opacity: .5;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }

  15% {
    opacity: 0;
    -webkit-transform: scale(1.75);
    -ms-transform: scale(1.75);
    -o-transform: scale(1.75);
    transform: scale(1.75);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(1.75);
    -ms-transform: scale(1.75);
    -o-transform: scale(1.75);
    transform: scale(1.75);
  }
}

.flash-video-icon i {
  display: inline-block;
  vertical-align: middle;
  margin-left: .25rem;
  line-height: .75;
  transform: scale(1);
  transition: all .5s ease-in-out;
}

.services-flash {
  /*box-shadow: rgba(2, 3, 3, .1) 0 0 120px;*/
  margin-top: 30px;
  margin-bottom: 6.29629630vmin;
  padding-left: 30px;
}

.services-flash .service-item {
  margin-left: -10px;
  margin-top: 0;
  padding: 2.125rem 1.625rem 2.125rem 2rem;
  display: flex;
  flex-direction: column;
  letter-spacing: -.025em;
  border: #00A6A6 1.5px dashed;
  border-radius: 200px;
}

@media (min-width: 576px) and (max-width: 767px) {
  .services-flash .service-item:nth-child(odd) {
    margin-left: 0;
  }
}

@media (max-width: 575px) {
  .services-flash .service-item {
    margin-left: 0;
  }
}

.services-flash .service-item:hover {
  z-index: 10;
}

/*.services-flash .service-item:before {
  content: "";
  background: #ff3600;
  height: 5px;
  width: 0;
  position: absolute;
  left: -1px;
  bottom: -1px;
  transition: all .4s ease-in-out;
}*/

.services-flash .service-item:hover:before {
  width: calc(100% + 2px);
}

.services-flash .service-item:first-child {
  margin-left: 0;
}

.services-flash .service-item-title {  
  font-weight: 700;
  font-size: 3.25rem;
  /*text-transform: uppercase;*/
  color: #0E3541;

}

.services-flash .service-item-title .item-title-xs {
  font-weight: 300;
  font-size: 2.5rem;
}

/*.services-flash a:hover .service-item-title,
.services-flash .service-item-title:hover {
  color: #ffffff;
}*/

.services-flash .service-item-descr {
  /*  display: flex;*/
  flex: 1 1 auto;  
  font-style: normal;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1;
  color: #FF6000;
  margin-top: 1rem;

}

.icon-design-graphic {
  display: inline-block;
  vertical-align: bottom;
  width: 5rem;
  height: 3.4375rem;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-image: url("../img/icon-design-graphic.png");
  background-size: 100%;
}

.icon-design-web {
  display: inline-block;
  vertical-align: bottom;
  width: 4.0625rem;
  height: 3.3125rem;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-image: url("../img/icon-design-web.png");
  background-size: 100%;
}

.icon-marketing {
  display: inline-block;
  vertical-align: bottom;
  width: 3.4375rem;
  height: 3.9375rem;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-image: url("../img/icon-marketing.png");
  background-size: 100%;
}

.icon-photography {
  display: inline-block;
  vertical-align: bottom;
  width: 4.1875rem;
  height: 3.3125rem;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-image: url("../img/icon-photography.png");
  background-size: 100%;
}

.service-item-icon {
  margin-top: 2.125rem;
  height: 4rem;
  line-height: 4rem;
}

.service-item-plus {
  height: 1rem;
  position: relative;
  margin-top: 2.625rem;
}

.service-item-plus:before,
.service-item-plus:after {
  content: "";
  display: block;
  width: 1rem;
  height: .25rem;
  background: #666699;
  position: absolute;
  left: 0;
  bottom: .375rem;
  transform: rotate(-180deg);
  transition: all .4s ease-in-out;
}

.service-item:hover .service-item-plus:before,
.service-item:hover .service-item-plus:after {
  background: #ffffff;
}

.service-item:hover .service-item-plus:after {
  transform: rotate(90deg);
}

.facts {
  margin-top: 9.07407407vmin;
}

.fact-item {
  display: flex;
  margin-bottom: 2rem;
  align-items: center;
}

.fact-item-value {
  position: relative;
  padding-right: 1.5rem;
  line-height: 1.1;
  font-size: 2.75rem;
  visibility: hidden;
}

.fact-item-value>.inside {
  visibility: visible;
  position: absolute;
  left: 0;
  top: 0;
}

.fact-item-param {
  font-size: 1.125rem;
  line-height: 1.44444444;
  letter-spacing: .025em;
  /*text-transform: uppercase;*/
}

@media (min-width: 992px) {
  .fact-item-value {
    line-height: .75;
    font-size: 3.75rem;
  }
}

.project-list-listing+.more-lg {
  margin-top: 4.375rem;
}

.project-list-masonry+.more-lg {
  margin-top: 6.25rem;
}

.grid-item {
  width: 100%;
}

.project-list-flash .project-item,
.project-list-listing .project-item {
  display: block;
  position: relative;
}

.project-list-flash .project-item {
  padding-bottom: 100%;
  overflow: hidden;
}

.project-list-listing .grid-item {
  display: block;
  margin-bottom: 5.625rem;
}

.project-list-masonry .grid-item {
  display: block;
  margin-bottom: 2.5rem;
  padding-left: 15px;
  padding-right: 15px;
}

.project-list-listing .project-item {
  padding-bottom: 44.44444444%;
  overflow: hidden;
}

.project-list-listing .project-listing-photo {
  transform: scale(1);
  transition: all 1s ease-in-out;
}

.project-list-listing a:hover .project-listing-photo {
  transform: scale(1.08);
}

.project-list-flash .section-item-title {
  margin-top: -.375rem;
  margin-bottom: 1.625rem;
}

.project-list-flash .project-carousel-detail,
.project-metro-detail {
  opacity: 1;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100%;
  padding: 1.5rem 3.5rem 2.875rem;
  background: transparent;
  transition: all .5s linear;
}

.project-metro-detail {
  padding-left: 2.875rem;
  padding-right: 2.875rem;
  padding-bottom: 2.375rem;
}

.project-metro-title {
  margin-bottom: 1.125rem;
}

.project-list-flash .project-item:hover .project-carousel-detail {
  background: #191a1e;
}

.project-list-flash .project-carousel-title {
  padding-right: 2rem;  
  font-weight: normal;
}

.project-list-title {
  padding-bottom: 3rem;
}

.project-list-title h2 {
  line-height: 1.333333;
}

.project-list-flash .project-carousel-category {
  margin-top: 1.125rem;
}

.project-list-flash .project-carousel-photo {
  transform: scale(1);
  transition: all 1s ease-in-out;
}

.project-list-flash a:hover .project-carousel-photo {
  transform: scale(1.08);
}

.project-item-more {
  padding-top: 3rem;
}

.project-masonry-photo {
  overflow: hidden;
}

.project-masonry-photo img {
  max-width: 100%;
  width: 100%;
}

.project-list-metro .project-item {
  height: 32.5rem;
  position: relative;
  margin-bottom: 30px;
  overflow: hidden;
}

.project-metro-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  opacity: 1;
  transition: all .3s ease-in-out;
}

a:hover .project-metro-photo img {
  transform: scale(1.1);
  opacity: 0;
}

@media (min-width: 576px) {
  .project-list-masonry .grid-item {
    width: 50%;
  }
}

@media (min-width: 768px) {
  .project-list-listing .grid-item {
    width: 100%;
  }

  .project-list-masonry .grid-item {
    width: 25%;
  }

  .project-list-title,
  .project-item-more {
    margin-left: 17.09401709%;
    margin-right: 25%;
  }

  .project-list-title {
    padding-bottom: 20.51282051%;
  }

  .project-item-more {
    padding-top: 30%;
  }
}

.project-carousel-category .divider,
.project-item .divider {
  margin-left: .625rem;
  margin-right: .625rem;
}

.project-carousel-go {
  position: absolute;
  right: 2.625rem;
  top: 1.375rem;
  opacity: 0;
  margin-right: 2rem;
  font-size: 3.75rem;
  transition: all .5s ease-in-out;
}

.project-item:hover .project-carousel-go {
  margin-right: 0;
  opacity: 1;
}

.project-list-flash .project-carousel-date,
.project-metro-date {
  top: 3.125rem;
  left: 3.5rem;
  font-size: 1.25rem;
  letter-spacing: .025em;
  font-weight: bold;
}

.project-metro-date {
  top: 2.625rem;
  left: 2.875rem;
}

.article-list-flash {
  margin-top: 2.375rem;
}

.article-list-flash>div {
  display: flex;
}

.article-list-flash .article-item {
  padding: 2.25rem 2.625rem 2.4375rem;
  background: #f6f7f7;
  overflow: hidden;
}

.article-list-flash .article-item-photo {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0;
  overflow: hidden;
  margin: 0;
  height: auto;
  padding-bottom: 0;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  transition: all .5s ease-in-out;
}

.article-list-flash .article-item:hover .article-item-photo {
  opacity: 1;
}

.article-list-flash .article-item .article-item-photo {
  transition-property: opacity, transform;
  transition-duration: .5s, 8s;
  transform: scale(1);
}

.article-list-flash .article-item:hover .article-item-photo {
  transform: scale(1.2);
}

.article-list-flash .article-item-date {
  position: static;
  left: auto;
  bottom: auto;
  padding-bottom: 27.27272727%;
  margin-bottom: 0;
  color: #999999;
  font-size: .75rem;
  font-weight: bold;
  /*text-transform: uppercase;*/
}

.article-list-flash .article-item-date .date {
  display: block;
  margin-bottom: .75rem;
  line-height: .75;
  font-size: 4.5rem;
  color: #cccccc;
  font-weight: normal;
}

.article-list-flash .article-item-category {
  margin-bottom: 1.375rem;
}

.article-list-flash .article-item-category,
.article-list-flash .article-item-category a {
  color: #ff3600;
}

.footer-flash-about {
  /* padding-top: 16.66666667vmin;
    padding-bottom: 13.51851852vmin;*/
  font-size: 1.875rem;
  line-height: 1.6;
  height: 705px;
}

.home-flash .footer-flash-about {
  padding-top: 0;
}

.footer-flash {
  padding-top: 4.875rem;
  padding-bottom: 0;
}

.footer-content-flash h5 {
  margin-bottom: 2.25rem;
  font-size: .875rem;
  color: #9999cc;
  /*text-transform: uppercase;*/
  font-weight: bold;
}

.footer-content-flash .contact-item,
.footer-content-flash .contact-item a,
.footer-content-flash .social-rounded a {
  color: #ffffff;
}

.footer-content-flash .contact-item {
  margin-bottom: .625rem;
}

.footer-content-flash .contact-item,
.footer-content-flash .footer-nav {
  font-size: 1.125rem;
  line-height: 1.44444444;
}

.footer-nav {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-nav li {
  margin-bottom: .25rem;
}

.footer-content-flash .contact-item a:not(.phone-link):hover,
.footer-content-flash .footer-nav a:hover {
  color: #666699;
  text-decoration: none;
}

.footer-flash .site-info {
  border-top: none;
}

@media (min-width: 768px) {
  .footer-content-flash .social-rounded {
    margin-right: -.625rem;
    text-align: right;
  }

  .footer-flash .site-info {
    padding-top: 3.125rem;
    padding-bottom: 4rem;
  }

  .footer-flash-about {
    height: 500px;
    /*715px*/
  }
}

.footer-flash .copyright {
  text-transform: none;
}


/*-------------------------------------------------------------------------------
  10. Work Pages
-------------------------------------------------------------------------------*/

.nav-inline {
  margin-right: -15px;
  margin-bottom: 2.625rem;
  letter-spacing: -.015em;
}

.nav-inline li {
  margin-right: 2.25rem;
  margin-bottom: 1rem;
}

.nav-inline a,
.pasar-slide {
  cursor: pointer;
}

.nav-inline .active a,
.nav-inline a:hover {
  text-decoration: none;
}

.text-center .nav-inline {
  margin-right: 0;
  justify-content: center;
}

.text-center .nav-inline li {
  margin-left: 1.125rem;
  margin-right: 1.125rem;
}

.nav-inline-wide {
  letter-spacing: .025em;
}

.nav-inline-wide li {
  margin-right: 3.125rem;
}

.text-center .nav-inline-wide li {
  margin-left: 1.5625rem;
  margin-right: 1.5625rem;
}

.nav-inline.text-black .active a,
.nav-inline.text-black a:hover {
  color: #b11d11;
}

.parallax-link a,
.parallax-link a:hover {
  position: relative;
  text-decoration: none;
  color: #666666 !important;
}

.parallax-link a:before {
  content: attr(data-text);
  position: absolute;
  width: 0%;
  transition: width cubic-bezier(0.82, 0, 0.21, 1) 0.3s;
  color: #b11d11;
  z-index: 2;
  overflow: hidden;
  white-space: nowrap;
}

.parallax-link li.active>a:before,
.parallax-link a:hover:before {
  width: 100%;
}

.nav.flex-column li {
  margin-bottom: 1rem;
}

.nav.flex-column a {
  color: inherit;
  text-decoration: none;
}

.nav.flex-column .active a,
.nav.flex-column a:hover {
  color: #b11d11;
}


/*-------------------------------------------------------------------------------
  11. Project Card
-------------------------------------------------------------------------------*/

.project-card-mobile {
  padding-top: 5.375rem;
}

.project-card-promo {
  height: 0;
  padding-bottom: 44.79166667%;
  background-size: cover;
  background-position: 50% 20%;
  overflow: hidden;
  transition: all .1s linear;
}

.project-info {
  padding-top: 4.875rem;
  padding-bottom: 1.125rem;
  border-bottom: #eaeaea 1px solid;
}

.project-info-item {
  margin-bottom: 3.5rem;
}

.project-info-title {
  margin-bottom: 1.25rem;
  font-size: 1.125rem;
  font-weight: bold;
  color: #000000;
  /*text-transform: uppercase;*/
}

.project-info-descr {
  line-height: 1.625;
  color: #999999;
}

.lead {
  font-weight: normal;
}

.lead-lg {
  font-size: 1.5rem;
}

.like-btn {
  width: 5rem;
  height: 5rem;
  border-radius: 5rem;
  background: #f4f6f6;
  border: #f4f6f6 1px solid;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-size: 2.25rem;
  color: #ff3600;
}

.like-btn i {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  transform: scale(1);
  transition: all .2s ease-in-out;
}

.like-btn:hover i {
  transform: scale(1.08);
}

.pager {
  letter-spacing: .025em;
}

.pager i {
  vertical-align: middle;
  line-height: 1;
  font-size: 1.25rem;
}

.pager .ion-ios-arrow-left {
  margin-right: .5rem;
}

.pager .ion-ios-arrow-right {
  margin-left: .5rem;
}

.pager a {
  color: #000000;
  text-decoration: none;
}

.pager a:hover {
  color: #b11d11;
}

.pagination {
  margin-top: 7rem;
  font-size: .875rem;
  font-weight: bold;
  /*text-transform: uppercase;*/
  letter-spacing: .1em;
}

.page-link {
  border: none;
  padding: 0;
  background: transparent;
  margin-right: 1.625rem;
  color: #999999;
}

.page-item.disabled .page-link {
  color: #999999;
  opacity: .3;
}

.page-link:hover,
.page-item.active .page-link {
  background: transparent;
}

.page-item.active .page-link,
a.page-link:hover {
  color: #16171e;
}

.page-link i,
.page-link i:before {
  display: block;
  font-size: 1.5rem;
  line-height: .75;
}

.tags li {
  margin-right: 10px;
}

.tags .active .btn-outline-secondary,
.tags .btn-outline-secondary:hover,
.tags .btn-outline-secondary:not(:disabled):not(.disabled):active,
.theme-orange .tags .btn-outline-secondary:hover {
  background: transparent;
  border-color: #16171e !important;
  color: #16171e !important;
}

.next-project {
  position: relative;
  background: #F5FAFF;
}

.next-project [class^="col-"] {
  position: static;
}

.next-project a {
  display: block;
  padding-top: 3.25rem;
  padding-bottom: 3rem;
  text-decoration: none;
  color: #000000;
}

.next-project-link {
  text-align: right;
}

.next-project-photo {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 100;
  background-size: cover;
  background-position: 50% 50%;
  opacity: 0;
  transition: all .5s .5s ease-in-out;
}

.prev-project-link .next-project-photo {
  left: 0;
  right: 50%;
}

.next-project-link .next-project-photo {
  left: 50%;
  right: 0;
}

.next-project a:hover .next-project-photo {
  opacity: 1;
}

.next-project h3,
.next-project .h3 {
  position: relative;
  top: 0;
  opacity: 1;
  font-size: 1.5rem;
  transition: all .4s .3s ease-in-out;
}

.next-project-promo {
  height: 24rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
  display: flex;
  align-items: center;
  background-position: 50% 0%;
  background-size: cover;
  text-align: center;
}

.next-title {
  margin-bottom: 1rem;
  font-size: 1.25rem;
  /*text-transform: uppercase;*/
}

.next-project .next-title {
  margin-bottom: .75rem;
  font-size: 1.125rem;
  color: #999999;
  position: relative;
  top: 0;
  opacity: 1;
  transition: all .4s .2s ease-in-out;
}

.next-project a:hover .next-title,
.next-project a:hover h3,
.next-project a:hover .h3 {
  top: -2rem;
  opacity: 0;
}

.screen-item {
  border: #cccccc 1px solid;
  margin-bottom: 30px;
  display: block;
}

.screen-item img {
  display: block;
  width: 100%;
}

.testimonial-text {
  margin-bottom: 5rem;
  letter-spacing: -.025em;
  font-size: 1.5rem;
  line-height: 1.73333333;
}

.testimonial-item-lg .testimonial-text {
  font-size: 2.25rem;
  line-height: 1.66666667;
}

.testimonial-author {
  letter-spacing: .05em;
}

.testimonial-author.text-grey strong {
  color: #000000;
}

.testimonial-author:before,
.testimonial-author:after {
  content: " - ";
}

@media (min-width: 768px) {
  .next-project-promo {
    height: 29.375rem;
  }

  .next-project a {
    padding-top: 5.625rem;
    padding-bottom: 5rem;
  }

  .next-project h3,
  .next-project .h3 {
    font-size: 1.875rem;
  }

  .testimonial-text {
    font-size: 1.875rem;
  }
}

.photo-list {
  overflow-x: hidden;
  overflow-y: visible;
}

.photo-item {
  overflow: hidden;
  text-align: center;
  margin-bottom: 5rem;
}

.project-card-web-promo img,
.photo-item-grey img,
.photo-item img {
  max-width: 100%;
}

.photo-item-grey {
  background: #dde2e4;
  padding: 7.29166667% 15px;
  text-align: center;
}

.photo-item-grey .inside {
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
  box-shadow: rgba(146, 156, 160, .75) 0 2.5rem 9.375rem;
}

.photo-item-grey img {
  transform: scale(1);
  transition: all .5s ease-in-out;
}

.photo-item-grey .inside img {
  width: 100%;
}

.photo-item-grey-parallax {
  height: 0;
  padding-bottom: 72.72727273%;
  padding-top: 0;
  overflow: hidden;
  position: relative;
}

.inside-left {
  width: 60%;
  position: absolute;
  left: 10%;
  top: 40%;
  z-index: 10;
}

.inside-right {
  width: 60%;
  position: absolute;
  left: 43.03030303%;
  top: -96.66666667%;
}

.inside-center {
  width: 76.60606061%;
  position: absolute;
  left: 11.75757576%;
  top: 17.16666667%;
}

@media (min-width: 768px) {
  .photo-list {
    margin-bottom: -10.75rem;
  }

  .photo-item {
    margin-bottom: 14.375rem;
  }

  .photo-item.col-md-6:nth-child(odd) {
    text-align: right;
    padding-right: 4.42708333%;
  }

  .photo-item.col-md-6:nth-child(even) {
    text-align: left;
    padding-left: 4.42708333%;
  }
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-150px, 0, 0);
    transform: translate3d(-150px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-150px, 0, 0);
    transform: translate3d(-150px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(150px, 0, 0);
    transform: translate3d(150px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(150px, 0, 0);
    transform: translate3d(150px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.project-next-simple {
  font-size: 5rem;
  font-weight: bold;
  text-align: center;
}

.project-card-web-promo {
  background: #dde2e4;
  height: 0;
  padding-bottom: 52.08333333%;
  overflow: hidden;
  position: relative;
}

.project-card-web-promo .screen-mobile {
  position: absolute;
  left: 14.58333333%;
  top: 18.7962963%;
  width: 20.83333333%;
}

.project-card-web-promo .screen-desktop {
  position: absolute;
  left: 28.90625%;
  top: 18.7962963%;
  width: 59.0625%;
}

.pallete-list {
  margin-right: -4rem;
}

@media (max-width: 767px) {
  .pallete-list {
    margin-bottom: 5rem;
  }

  .project-card-web-promo {
    padding-bottom: 80%;
  }

  .project-card-web-promo .screen-desktop,
  .project-card-web-promo .screen-mobile {
    margin-top: 4rem;
  }
}

.pallete-item {
  display: inline-block;
  vertical-align: top;
  margin-right: 4rem;
  margin-bottom: 2.375rem;
  text-align: center;
}

.color {
  display: block;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 3.75rem;
  margin-bottom: 24px;
}

.color-title {
  color: #999999;
  font-size: .875rem;
  /*text-transform: uppercase;*/
}


/*-------------------------------------------------------------------------------
  12. News Pages
-------------------------------------------------------------------------------*/

.article-content {
  font-size: 1.125rem;
  line-height: 1.66666667;
}

.article-content .fs20 {
  line-height: 1.5;
}

.article-content .fs20 p {
  margin-bottom: 1.5em;
}

.article-content p {
  margin-bottom: 1.66666667em;
}

.article-content h2,
.article-content .h2 {
  margin-top: 5.5rem;
  margin-bottom: 3.125rem;
}

.article-content h4,
.article-content .h4 {
  margin-top: 3.75rem;
  margin-bottom: 2rem;  
  letter-spacing: 0;
}

.article-content h4:first-child,
.article-content .h4:first-child {
  margin-top: 0;
}

.article-content .lead {
  margin-bottom: 50px;
  font-size: 1.5rem;
  color: #999999;  
  font-style: italic;
  line-height: 1.5;
  letter-spacing: -.01em;
}

.article-content .dropcap:first-letter {
  float: left;
  margin-bottom: -1rem;
  margin-right: 1rem;
  font-size: 3.75rem;  
  line-height: 1.275;
}

.article-content figure {
  margin-top: 3.5rem;
  margin-bottom: 4rem;
}

.article-content figure img {
  max-width: 100%;
  height: auto;
}

.article-content figcaption {
  display: block;
  margin-top: 1rem;
  text-align: center;
  font-size: 1rem;
  color: #999999;
}

.article-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.article-content ul li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: 1.125rem;
}

.article-content ul li:before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #000000;
  border-radius: 5px;
  position: absolute;
  left: 0;
  top: .7em;
}

.mask-skew {
  overflow: hidden;
  position: relative;
}

.mask-skew .mask {
  position: absolute;
  left: 100%;
  top: 0;
  bottom: 0;
  z-index: 100;
  width: 120%;
  animation-fill-mode: forwards;
}

.mask-skew .mask .inside {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #ffffff;
  transform: skewX(-10deg);
  transform-origin: bottom;
}

.blockquote {
  margin-top: 4.5rem;
  margin-bottom: 4.125rem;
  text-align: center;
  font-size: 1.875rem;
  line-height: 1.53333333;
  letter-spacing: -.025em;
}

.blockquote footer {
  margin-top: 2.5rem;
  position: relative;
  font-size: .875rem;
  /*text-transform: uppercase;*/
  letter-spacing: .2em;
  color: #999999;
}

.blockquote footer:before {
  content: "";
  display: block;
  width: 1.875rem;
  height: 1px;
  background: #a7a9b8;
  position: absolute;
  top: -1.25rem;
  left: 50%;
  transform: translate(-50%, 0);
}

.blockquote-status footer {
  text-transform: none;
  letter-spacing: 0;
}

.blockquote-status footer:before {
  display: none;
}

.article-carousel-promo .owl-nav [class*=owl-] {
  display: none;
}

.article-carousel-promo .owl-dots {
  margin-top: 1rem;
}

.article-promo-item {
  display: block;
  min-height: 35rem;
  background-position: 50% 20%;
  background-size: cover;
  padding-top: 4rem;
  padding-bottom: 3rem;
  position: relative;
  text-decoration: none;
  display: flex;
  align-items: center;
}

.article-promo-item,
.article-promo-item a {
  color: #ffffff;
}

.article-carousel-promo-detail a:not(.btn) {
  text-decoration: underline;
}

.article-carousel-promo-detail a:not(.btn):hover {
  text-decoration: none;
}

.article-promo-item:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #000000;
  opacity: .25;
}

.article-promo .article-promo-item:before {
  display: none;
}

.article-promo-item .btn-outline-light:hover {
  background: #ff3600;
  border-color: #ff3600;
  color: #ffffff;
}

.bnr {
  position: relative;
  background: #181b31;
  display: block;
}

.bnr-photo {
  opacity: .5;
}

.bnr-photo img {
  width: 100%;
  height: auto;
}

.bnr-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem 1.25rem 1.875rem;
  text-align: center;
  color: #ffffff;
}

.bnr-title {
  font-size: 1.5rem;
  font-weight: bold;
}

.bnr-title-sub {
  margin-bottom: 10px;
  font-size: .75rem;
  font-weight: bold;
  letter-spacing: .1em;
}

@media (min-width: 576px) {
  .article-carousel-promo .owl-nav [class*=owl-] {
    display: block;
  }

  .article-carousel-promo .owl-dots {
    display: none;
  }

  .article-promo-item {
    min-height: 39.375rem;
    padding: 10.625rem 4.75rem 3rem;
    align-items: flex-start;
  }

  .article-promo-item-md {
    min-height: 48.75rem;
  }
}

.news-info {
  border-bottom: #eaeaea 1px solid;
}

.news-info-item {
  margin-bottom: 3.375rem;
}

.news-info-title {
  margin-bottom: 2px;
  font-size: .75rem;
  color: #999999;
  /*text-transform: uppercase;*/
  letter-spacing: .1em;
}

.article-author {
  border-top: #e5e5e5 1px solid;
  border-bottom: #e5e5e5 1px solid;
  padding-top: 3.125rem;
  padding-bottom: 2.8125rem;
}

.article-author-photo {
  width: 5rem;
}

.avatar-photo {
  background-position: 50% 50%;
  border-radius: 50%;
  background-size: cover;
  background-image: url("../img/no-avatar.gif");
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
}

.avatar-photo:before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 100%;
}

.avatar-photo a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
}

.article-author-name {
  margin-bottom: 0;
}

.article-author-name a {
  color: #181b31;
  text-decoration: none;
}

.article-author-name a:hover {
  text-decoration: underline;
}

.article-author-status {
  font-size: .875rem;
  color: #999999;
  /*text-transform: uppercase;*/
  letter-spacing: .1em;
}

.article-author-descr {
  margin-top: 10px;
  line-height: 1.625;
}

.comment-item {
  margin-bottom: 2rem;
}

.comment-item-photo {
  width: 4.375rem;
}

.comment-item-sub {
  margin-top: 1.75rem;
  margin-right: 1.25rem;
}

.comment-item-sub .comment-item-photo {
  width: 2.8125rem;
  margin-top: .25rem;
}

.comment-item-name {
  margin-top: 2px;
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: -.025em;
}

.comment-item-name a {
  color: inherit;
}

.comment-item-date {
  margin-top: .375rem;
  font-size: .875rem;
  /*text-transform: uppercase;*/
  color: #999999;
}

.comment-item-descr {
  margin-top: .375rem;
  line-height: 1.625rem;
  color: #666666;
}

.comment-item-sub .comment-item-descr {
  margin-top: 0;
}

.comment-item .btn {
  margin-top: .875rem;
}


/*-------------------------------------------------------------------------------
  13. Pages
-------------------------------------------------------------------------------*/

.img404 {
  width: 41.5rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4.875rem;
}

.progress {
  border-radius: 0;
  height: .875rem;
  overflow: visible;
}

.progress-bar {
  position: relative;
  width: 0;
  transition: width 1s ease-in-out;
}

.progress-value {
  position: absolute;
  right: 0;
  bottom: 100%;
  margin-bottom: .5rem;
  color: #181b31;
  font-size: 1rem;
}

.filter-title {
  line-height: 1.625;
  color: #999999;
  font-weight: bold;
  /*text-transform: uppercase;*/
}

.filter-location {
  letter-spacing: -.025em;
  font-size: 2.25rem;
}

.filter-location a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.filter-location a:hover,
.filter-location .active a {
  color: #b11d11;
}

.job-item {
  margin-bottom: 4.625rem;
}

.job-item-title a {
  color: inherit;
}

.job-item-title {
  margin-bottom: 1rem;
}

.job-item-descr {
  line-height: 1.625;
  color: #666666;
}

.job-item-category {
  margin-top: 1.75rem;
  /*text-transform: uppercase;*/
  letter-spacing: .025em;
}

.timer-item,
.timer .divider {
  display: inline-block;
  vertical-align: top;
  text-align: center;
}

.timer-item {
  min-width: 5.25rem;
  padding-left: .625rem;
  padding-right: .625rem;
  color: #999999;
}

.timer-item span {
  display: block;
  margin-bottom: .5rem;
  font-size: 3rem;  
  color: #000000;
  line-height: 1;
}

.timer .divider {
  margin-top: .25rem;
}

.timer .divider:before {
  content: ":";
  font-size: 1.5rem;
  color: #999999;
  font-weight: bold;
}

@media (min-width: 576px) {
  .timer-item {
    min-width: 7.25rem;
    padding-left: 1.625rem;
    padding-right: 1.625rem;
  }
}

.stage-list {
  padding-bottom: 3.75rem;
}

.stage-item {
  background: #f5f5f5;
}

.stage-item-photo {
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

.stage-item-photo img {
  width: 100%;
}

.stage-item-detail,
.no-gutters>.stage-item-detail {
  padding: 4rem 4.5rem 3.5rem;
}

.stage-item .mask-skew .mask .inside {
  background-color: #f5f5f5;
}

.stage-item-num {
  margin-bottom: 2rem;
  font-size: 2.25rem;  
  font-weight: bold;
}

.stage-item-title {
  margin-bottom: .75rem;
  font-size: 2.75rem;
  font-weight: normal;
  letter-spacing: -.025em;
}

@media (min-width: 1200px) {

  .stage-item-detail,
  .no-gutters>.stage-item-detail {
    padding: 7rem 7.5rem 6.625rem;
  }

  .stage-item-num {
    margin-bottom: 4.75rem;
  }

  .stage-item-title {
    font-size: 3.75rem;
  }
}

.member-item {
  margin-bottom: 4rem;
}

.member-item-photo {
  position: relative;
  height: 0;
  padding-bottom: 100%;
  margin-bottom: 1.875rem;
}

.member-item-photo img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.member-item-name {
  margin-bottom: .25rem;
  font-size: 1.5rem;  
  font-weight: bold;
}

.member-item-name a {
  color: inherit;
}

.member-item-status {
  font-size: .875rem;
  /*text-transform: uppercase;*/
  color: #666666;
}

.member-become {
  display: block;
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 100%;
  background: #f4f6f6;
  text-align: center;
  text-decoration: none;
}

.member-become .inside {
  position: absolute;
  width: 100%;
  left: 50%;
  top: 50%;
  padding: 1rem 10% 2rem;
  transform: translate(-50%, -50%);
}

.member-become .icon {
  display: block;
  font-size: 3.75rem;
  color: #cccccc;
}

.member-become-title {
  display: block;
  margin-top: 1.5rem;
  font-size: 1.875rem;
  line-height: 1.53333333;  
  /*text-transform: uppercase;*/
  font-weight: bold;
  color: #000000;
}

.service-promo-item {

  margin-bottom: 6.25rem;
}

.service-promo-item:last-child {
  margin-bottom: 0;
}

.service-promo-item-photo {
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

.service-promo-item-photo img {
  width: 100%;
}

.service-promo-item-detail,
.no-gutters>.service-promo-item-detail {
  padding: 4rem 4.5rem 3.5rem;
}

.service-promo-item-title {
  margin-bottom: 18px;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: -.025em;
}

.service-promo-item .nav.flex-column li {
  margin-bottom: .625rem;
}

@media (min-width: 1200px) {

  .service-promo-item-detail,
  .no-gutters>.service-promo-item-detail {
    padding: 5rem 3.75rem 5rem 6.125rem;
  }
}

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

  .service-promo-item-detail,
  .no-gutters>.service-promo-item-detail {
    padding: 0 1rem;
  }
}



.progress-item {
  border-top: #e2e2e2 1px solid;
  padding-top: 3rem;
  padding-bottom: 3.125rem;
}

.progress-item:first-child {
  border-top: none;
}

.progress-item-num {
  padding-bottom: .75rem;
  font-size: 6.25rem;
  font-weight: bold;
  color: #cccccc;
  line-height: 1.1;
}

.progress-item-title {
  margin-bottom: .5rem;
  font-size: 2.25rem;
  font-weight: bold;
  letter-spacing: -.025em;
}


/*-------------------------------------------------------------------------------
  14. Footer
-------------------------------------------------------------------------------*/

@media (min-width: 768px) {
  .fixed-footer .wrapper {
    position: relative;
    z-index: 200;
    margin-bottom: 51.875rem;
    background: #ffffff;
  }

  .fixed-footer-lg .wrapper {
    margin-bottom: 59.375rem;
  }

  .fixed-footer .footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
  }
}

.footer-content {
  padding-top: 3rem;
  padding-bottom: 0rem;
  line-height: 1.625;
  color: #666666;
}

.contact-item,
.twitter-item {
  margin-bottom: .875rem;
}

.contact-item a,
.twitter-item a {
  color: #000000;
  text-decoration: underline;
}

.contact-item a:hover,
.twitter-item a:hover {
  text-decoration: none;
}

a.phone-link {
  color: inherit;
  text-decoration: none;
  cursor: default;
}

.social {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 1.125rem;
}

.footer-content .social {
  margin-top: 3.125rem;
}

.social li {
  display: inline-block;
  vertical-align: top;
  margin-right: 1.5rem;
  margin-bottom: .5rem;
}

.social a {
  transition: color .2s ease-in-out;
  color: #000000;
}

.social a:hover {
  color: #b11d11;
  text-decoration: none;
}

/** EOM **/
.social-rounded {
  margin-right: -.625rem;
  font-size: 20px;
  /*width: 2rem;*/
}

.social-rounded li {
  margin-right: .625rem;
  margin-bottom: 0rem;
}

.social-rounded a {
  display: inline-block;
  border-radius: 2.5rem;
  /*width: 2.5rem;
 height: 2.5rem;
 line-height: 2.3rem;*/
  width: 2.3rem;
  height: 2.3rem;
  line-height: 2.1rem;
  border: #cccccc 1px solid;
  background: transparent;
  text-align: center;
  transition: all .2s ease-in-out;
}

.social-rounded a:hover {
  background: #b11d11;
  border-color: #b11d11;
  color: #ffffff;
}

.social-rounded i {
  display: inline-block;
  vertical-align: middle;
  line-height: .75;
}

.social-rounded i:before {
  display: block;
  line-height: .75;
}

.social-rounded .socicon-twitter,
.social-rounded .socicon-facebook,
.social-rounded .socicon-tumblr,
.social-rounded .socicon-linkedin,
.social-follow {
  font-size: 1rem;
}

.social-rounded .socicon-rss {
  font-size: .875rem;
}

.social-follow li {
  vertical-align: middle;
  margin-right: .25rem;
  margin-bottom: .5rem;
}

.social .social-title {
  padding-bottom: .125rem;
  margin-right: 1rem;
  font-size: .875rem;
  /*text-transform: uppercase;*/
  color: #999999;
}

.social-follow a {
  width: 1.875rem;
  height: 1.875rem;
  line-height: 1.65;
  color: #ffffff;
}

.social-rounded .follow-facebook {
  background: #3b5999;
  border-color: #3b5999;
}

.social-rounded .follow-twitter {
  background: #55acee;
  border-color: #55acee;
}

.social-rounded .follow-googleplus {
  background: #dd4b39;
  border-color: #dd4b39;
}

.social-rounded.social-follow i {
  font-size: .75rem;
}

.social-rounded.social-follow .socicon-googleplus {
  font-size: 1rem;
}

.social-rounded .follow-tumblr {
  background: #2b4b6a;
  border-color: #2b4b6a;
}

.social-rounded .follow-rss {
  background: #fb7000;
  border-color: #fb7000;
}

.social-fixed,
.social-rounded-fixed {
  position: fixed;
  left: 15px;
  bottom: 0;
  z-index: 400;
}

.social-fixed li {
  display: block;
  margin-right: 0;
  margin-bottom: 2.125rem;
}

.social-rounded-fixed {
  left: auto;
  right: 15px;
  margin-right: -.625rem;
  bottom: 4.62962963vmin;
}

.social-rounded-fixed li {
  margin-bottom: 0;
}

.social-rounded-dark a {
  border-color: #000000;
}

.socicon-facebook {
  font-size: 1.1875rem;
}

.socicon-googleplus {
  font-size: 1.375rem;
}

.ion-social-rss {
  font-size: 16px;
}

.ion-social-twitter,
.ion-social-vimeo,
.ion-social-facebook {
  font-size: 18px;
}

.twitter-date {
  margin-top: .625rem;
  color: #999999;
  /*text-transform: uppercase;*/
  font-size: .875rem;
}

.footer .section-item-title {
  margin-bottom: 2.375rem;
}

.establised {
  display: none;
  position: fixed;
  left: 34px;
  top: 50%;
  z-index: 300;
  margin-top: -1.625rem;
  /*text-transform: uppercase;*/
  letter-spacing: .625rem;
  color: #999999;
  font-size: 1.125rem;
  transform: rotate(-90deg) translate(-50%, 0%);
  transform-origin: bottom left;
}

.copyright-fixed {
  position: fixed;
  left: 15px;
  padding-bottom: .5rem;
  bottom: 4.62962963vmin;
  z-index: 300;
  color: #000000;
  font-size: 0.8rem;
  /*/*text-transform: uppercase;*/*/
}

.copyright-fixed i {
  margin-top: -2px;
  vertical-align: middle;
  margin-right: .75rem;
  font-size: 1.5rem;
  line-height: .75;
}

.copyright-fixed a {
  color: inherit;
}

@media (min-width: 576px) {
  .establised {
    display: block;
  }
}

@media (min-width: 1600px) {
  .social-fixed {
    left: 3.75rem;
  }

  .social-rounded-fixed {
    right: 3.75rem;
  }

  .copyright-fixed {
    left: 3.75rem;
  }

  .establised {
    left: 5rem;
  }
}

.site-info {
  border-top: #ebebeb 1px solid;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.copyright {
  text-align: center;
  /*/*text-transform: uppercase;*/*/
}

.copyright p {
  margin-bottom: 0;
  font-size: 12px;
}

@media (min-width: 768px) {
  .footer-content {
    padding-top: 11.25rem;
    padding-bottom: 7.5rem;
  }

  .site-info {
    padding-top: 4.5rem;
    padding-bottom: 5.375rem;
  }
}

@media (max-width: 767px) {

  .footer-content,
  .footer-content .text-right {
    text-align: center !important;
  }
}

.more.fs14 {
  letter-spacing: .05em;
}

.footer-red {
  background: #b11d11;
  color: #ffffff;
}

.footer-red .footer-content {
  color: #ffcccc;
}

@media (min-width: 768px) {
  .fixed-footer-md .footer-content {
    padding-top: 15.92592593vmin;
    padding-bottom: 6.48148148vmin;
  }

  .fixed-footer-md .site-info {
    padding-top: 5.74074074vmin;
    padding-bottom: 5.74074074vmin;
  }
}

.footer-red .twitter-date,
.footer-red .social a {
  color: #ff9999;
}

.footer-red a,
.footer-red .contact-item a,
.footer-red .twitter-item a,
.footer-red .social a:hover,
.footer-red .section-item-title,
.footer-red .h2-3d {
  color: #ffffff;
}

.footer-red .site-info {
  border-top-color: #cc3333;
}

.theme-orange .navbar-nav a:before,
.theme-orange .menu-main a:before,
.theme-orange .menu-lang-item.active,
.theme-orange .menu-lang-item:hover,
.theme-orange .nav-toggle-btn:hover,
.theme-orange .text-primary,
.theme-orange a.text-primary:hover,
.theme-orange .social:not(.social-rounded) a:hover,
.theme-orange .article-item-category,
.theme-orange .article-item-category a,
.theme-orange .pager a:hover,
.theme-orange .article-item-info a:hover,
.theme-orange .article-item-mini .article-item-title a:hover,
.theme-orange .nav.flex-column .active a,
.theme-orange .nav.flex-column a:hover,
.theme-orange .btn-outline-secondary:hover,
.theme-orange .filter-location a:hover,
.theme-orange .filter-location .active a,
.theme-orange .nav-inline.text-black .active a,
.theme-orange .nav-inline.text-black a:hover {
  color: #FF6000 !important;
}

.theme-orange .nav-toggle-btn:hover .stick {
  background-color: #FF6000;
}

.theme-orange .social-rounded a:hover,
.theme-orange .btn-primary,
.theme-orange .owl-theme .owl-dots .owl-dot.active span:before,
.theme-orange .owl-theme .owl-dots .owl-dot:hover span:before {
  background-color: #ffffff;
}

.theme-orange .social-rounded a:hover i {
  color: #000000;
}

.theme-orange .bg-primary {
  background-color: #FF6000 !important;
}

.theme-orange .btn-primary:not(:disabled):not(.disabled).active:focus,
.theme-orange .btn-primary:not(:disabled):not(.disabled):active:focus,
.theme-orange .show>.btn-primary.dropdown-toggle:focus,
.theme-orange .btn-primary.focus,
.theme-orange .btn-primary:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 0, 0, .5);
}

.theme-orange .btn-primary:hover,
.theme-orange .btn-primary:not(:disabled):not(.disabled).active,
.theme-orange .btn-primary:not(:disabled):not(.disabled):active,
.theme-orange .show>.btn-primary.dropdown-toggle {
  background-color: #ff0000;
  border-color: #ff0000;
}

.theme-orange .social-rounded a:hover,
.theme-orange .btn-primary,
.theme-orange .owl-theme .owl-dots .owl-dot.active span,
.theme-orange .btn-outline-secondary:hover {
  border-color: #000;
}

.theme-yellow .navbar-nav a:before,
.theme-yellow .menu-main a:before,
.theme-yellow .menu-lang-item.active,
.theme-yellow .menu-lang-item:hover,
.theme-yellow .nav-toggle-btn:hover,
.theme-yellow .text-primary,
.theme-yellow .social:not(.social-rounded) a:hover,
.theme-yellow .brand-name {
  color: #ff9000 !important;
}

.theme-yellow .nav-toggle-btn:hover .stick,
.theme-yellow .social-rounded a:hover,
.theme-yellow .btn-primary,
.theme-yellow .btn-play:hover {
  background-color: #ff9000;
}

.theme-yellow .social-rounded a:hover,
.theme-yellow .btn-primary,
.theme-yellow .btn-play {
  border-color: #ff9000;
}

.theme-white .navbar-nav>ul>li>a:before,
.theme-white .text-primary,
.theme-white .brand-name {
  color: #ffffff !important;
}

.theme-white .nav-toggle-btn:hover .stick,
.theme-white .social-rounded a:hover,
.theme-white .btn-primary,
.theme-white .btn-play:hover {
  /*background-color: #ffffff;*/
  color: #000000;
}

/** EOM **/
.theme-white .menu-main a:before,
.theme-white .menu-lang-item.active,
.theme-white .menu-lang-item:hover {
  color: rgb(0, 139, 215);
}

.body-menu-opened .theme-white .nav-toggle-btn:hover .stick {
  /*background-color: #FFFFFF;*/
}

.theme-white .social-rounded a:hover,
.theme-white .btn-primary,
.theme-white .btn-play {
  border-color: #000000;
}

.body-menu-opened .theme-white .social-rounded a:hover {
  border-color: #000000;
}

@media (min-width: 768px) {
  html {
    font-size: 13px;
  }
}

@media (min-width: 992px) {
  html {
    font-size: 14px;
  }
}

@media (min-width: 1280px) {
  html {
    font-size: 15px;
  }
}

@media (min-width: 1600px) {
  html {
    font-size: 16px;
  }
}


/*-------------------------------------------------------------------------------
  15. Nav-panel
-------------------------------------------------------------------------------*/

.header-gradient-overlay {
 
 
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 350px;
 background: linear-gradient(
    to bottom,
    rgba(8, 27, 56, 1) 0%,
    rgba(8, 27, 56, 0.12) 80%,
    rgba(8, 27, 56, 0) 100%
  );

  pointer-events: none;
  z-index: 100;

}
 /*
.header-gradient-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
height: 470px;
  background: url('/img/pixel_rotated_90.png') repeat-x right top;
 background-size: 1px 535px;
  pointer-events: none;
  z-index: 100;
}*/


.header-gradient-overlay-nosotros {
  /*position: absolute;*/
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  background: linear-gradient(
    to bottom,
    rgba(245, 245, 236, 1) 0%,
    rgba(245, 245, 236, 0.9) 30%,
    rgba(245, 245, 236, 0.6) 60%,
    rgba(245, 245, 236, 0.3) 85%,
    rgba(245, 245, 236, 0) 100%
  );
  

  pointer-events: none;
  z-index: 100;
  /*opacity: 1;*/
  
  /*opacity: 0;
  transition: opacity 0.5s ease-in-out;
  */
}

.header-gradient-overlay-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  background: linear-gradient(
    to top,
    #081b38 0%,
    rgba(8, 27, 56, 0.95) 20%,
    rgba(8, 27, 56, 0.7) 50%,
    rgba(8, 27, 56, 0.3) 80%,
    rgba(8, 27, 56, 0) 100%
  );
  pointer-events: none;
  z-index: 100;
}


header.navigation-menu-header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  color: white;
  text-align: center;
}

.f-width {
  width: 100%;
}

.navigation-background {
  background-color: #0e3541;
}

.navigation-panel-right {
  margin-top: 8vh;
}

.img-navigation-panel {
  height: 517.0009765625019px;
  width: 259.2705688476572px;
  left: 265.2705078125px;
  top: 582.00048828125px;
}

.language-footer {
  display: flex;
}

.navigation-list-container {
  margin-top: 124px;
}

hr.dottedHR {
  border-top: 2.5px dashed #B9D8E9;
}

hr.dottedHR-selected {
  border-top: 2.5px solid #FF8E09;
}

.navigation-menu-text {  
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 39px;
  letter-spacing: 0em;
  text-align: left;
  color: #B9D8E9 !important;
  text-decoration: none !important;
}

.navigation-menu-text-selected {  
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 39px;
  letter-spacing: 0em;
  text-align: left;
  color: #FF8E09 !important;
  text-decoration: none !important;
}

.navigation-menu-item {
  margin-top: 24px;
}

footer.navigation-menu-footer {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
  color: white;
  height: 10%;
}

.direction-text {  
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 29px;
  letter-spacing: 0em;
  text-align: left;
}

.contact-text {
  
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 29px;
  letter-spacing: 0em;
  text-align: left;
}

.outer {
  display: flex;
  justify-content: center;
}

.language-button-border-hover {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 8px;
  border: 2px solid #FF8E09;
  text-align: center;
  
  color: white;
  background-color: #0e3541 !important;
  margin: 1rem;
}

.language-button-border-normal {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 8px;
  border: 2px solid #0e3541;
  text-align: center;
  
  color: white;
  background-color: #0e3541 !important;
  margin: 1rem;
}

.lenguage-tag {
  
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0em;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .navigation-menu-item {
    margin-top: 55px;
  }

  .navigation-menu-item:first-child,
  .navigation-list-container {
    margin-top: 0px;
  }

  .contact-text {
    
    font-style: normal;
    font-weight: 500;
    font-size: 10px;
    line-height: 12px;
    color: #FFFFFF;
    margin-top: 4px;
    margin-bottom: 0rem;
  }

  .direction-text {
    
    font-style: normal;
    font-weight: 300;
    font-size: 10px;
    line-height: 12px;
    color: #FFFFFF;
    margin-top: 4px;
  }

  .contact-text:first-child {
    margin-top: 12px;
  }

  #navegacion .outer {
    justify-content: flex-start;
    margin-left: 15px;
  }

  .navigation-list-container {
    margin-top: 0px;
  }

  .navigation-menu-text {
    font-weight: 400;
    font-size: 22px;
    line-height: 27px;
  }

  .navigation-menu-text-selected {
    font-weight: 600;
    font-size: 22px;
    line-height: 27px;
  }

  .navigation-background {
    background-color: none;
    background: url("../img/menu-resonsive.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }

  .navigation-panel-right {
    margin-top: -50px;
  }
}


/*-------------------------------------------------------------------------------
  16. Expertise
-------------------------------------------------------------------------------*/

#inner {
  display: table;
  margin: 0 auto;
}

#outer {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.container-margin {
  margin-top: 10vh;
}

.expertise {
  background-image: url("../img/expertise.png");
  transform: scale(1);
}

.expertise-description {
  
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 22px;
  color: #FFFFFF;
}

.slide-bg>.expertise {
  transition: transform .8s ease-in-out;
  transform: scale(1.08);
  transition-delay: .8s;
}

.slide-bg,
.slide-bg>.expertise {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  background-position: 70% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.expertise-carousel-item {
  background-color: transparent;
  border-radius: 40px !important;
  top: 50%;
}

/** EOM **/
.expertise-img {
  height: 80%;
  width: auto;
  /* left: 140px;
 top: 105px;*/
  border-radius: 0px;
}

.modal-content {
  border-radius: 40px !important;
}

/** EOM **/
@media screen and (max-width: 768px) {
  .modal-content {
    border-radius: 30px !important;
  }
}

.carousel-arrow {
  height: 20%;
}

.carousel-left-arrow {
  top: -10%;
}

.carousel-right-arrow {
  top: -10%;
}

.icon-size {
  height: 116px;
  width: 118px;
  left: 0px;
  top: 0px;
  border-radius: 0px;
}

.top-left-icon-border {
  border-bottom: 1px dashed #fff;
  border-right: 1px dashed #fff;
  margin: auto;
}

.top-right-icon-border {
  border-bottom: 1px dashed #fff;
  /*border-left: 1px dashed #fff;*/
  margin: auto;
}

.bottom-left-icon-border {
  /*border-top: 1px dashed #fff;*/
  border-right: 1px dashed #fff;
  margin: auto;
}

.bottom-right-icon-border {
  /*border-top: 1px dashed #fff;
 border-left: 1px dashed #fff;*/
  margin: auto;
}

.cajas {
  width: 100%;
  height: 330px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.cajas-imp {
  padding-left: 125px;
}

.cajas-par {
  padding-left: 70px;
}

.text-square {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: auto;
  max-width: 80vw;
}

.modal-carousel-content {
  min-height: calc(100vh - 60px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: auto;
  max-width: 80vw;
}

.modal-card-height {
  min-height: 45vh;
}

.flex-center {
  justify-content: center;
}

.pointer {
  cursor: pointer;
}

.borde-laterales {
  border-bottom: 1px dashed #fff;
  margin: auto;
  padding: 0;
}

.borde-centro {
  border-bottom: 1px dashed #fff;
  border-left: 1px dashed #fff;
  border-right: 1px dashed #fff;
  margin: auto;
  padding: 0;
}

.sin-borde {
  margin: auto;
  padding: 0;
}

.sin-borde-medio {
  border-left: 1px dashed #fff;
  border-right: 1px dashed #fff;
  margin: auto;
  padding: 0;
}

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

.hover-clientes {
  width: 80%;
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
}

.hover-clientes:hover {
  background: rgba(185, 216, 233, 0.1);
  border-radius: 20px;
}

.hover-capacidades {
  margin-top: 15px;
  margin-bottom: 15px;
}

.hover-capacidades:hover {
  background: rgba(185, 216, 233, 0.2);
  border-radius: 20px;
}

@media screen and (max-width: 1400px) {
  .container-margin {
    margin-top: 0vh;
  }

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

  .borde-laterales,
  .borde-centro,
  .sin-borde-medio {
    border: none;
  }

  .cajas {
    width: 202px;
    height: 280px;
  }

  .cajas-imp {
    padding-left: 50px;
  }

  .cajas-par {
    padding-left: 50px;
  }
}

@media screen and (max-width: 1500px) {
  .hover-clientes {
    height: 100px;
  }
}

@media screen and (max-width: 768px) {
  .cajas {
    width: 152px;
    height: 200px;
  }

  .cajas-imp {
    padding-left: 0px;
  }

  .cajas-par {
    padding-left: 0px;
  }

  /* .borde-dashed {
  width: 90%;
  border: 3px dashed #485683;
  height: 122px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
 }*/
  .borde-dashed {
    width: 90%;
    border: none;
    height: 122px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.2);
  }

  #metodologia .borde-dashedL {
    width: 100%;
    padding: 10px 10px 10px 20px;
    border-radius: 0px;
    height: auto;
    display: flex;
    align-items: flex-start;
    min-height: 200px;
    border: none;
    border-bottom: 1px dashed #fff;
    border-left: 1px dashed #fff;
    margin: auto;
  }

  #metodologia .borde-dashedR {
    width: 100%;
    padding: 10px 20px 10px 10px;
    border-radius: 0px;
    height: auto;
    display: flex;
    align-items: flex-start;
    min-height: 200px;
    border: none;
    border-bottom: 1px dashed #fff;
    border-right: 1px dashed #fff;
    margin: auto;
  }

  #metodologia .bbn {
    border-bottom: none;
  }

  #capacidades .borde-dashed,
  #metodologia .borde-dashed {
    width: 100%;
    border-radius: 10px;
    padding: 20px;
    height: auto;
    display: flex;
    align-items: flex-start;
    margin-top: 20px;
    border: none;
    background-color: rgba(255, 255, 255, 0.2);
    min-height: 165px;
  }
}


/*-------------------------------------------------------------------------------
  17. Metodologia
-------------------------------------------------------------------------------*/

.metodologia-background {
  background-image: url("../img/Metodologia/Fondo/Metodologia_Primer_Scroll.png");
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  /*transform: scale(1);*/
}

.switch {
  width: 90px;
  height: 49px;
  background: #FF8E09;
  z-index: 0;
  margin: 0;
  padding: 0;
  appearance: none;
  border: none;
  cursor: pointer;
  position: relative;
  border-radius: 100px;
}

.switch:before {
  content: '';
  position: absolute;
  left: 2.5px;
  top: 2px;
  width: 85px;
  height: 45px;
  background: #0e3541;
  z-index: 1;
  border-radius: 95px;
}

.switch:after {
  content: '';
  width: 42px;
  height: 43px;
  border-radius: 43px;
  z-index: 2;
  background: #FF8E09;
  position: absolute;
  transition-duration: 500ms;
  top: 3px;
  left: 4px;
  box-shadow: 0 2px 5px #999999;
}

.arrow-button {
  height: auto;
  width: 3.5rem;
}

.switchON,
.switchOn:before {
  background: #0e3541;
}

.switchON,
.switchOn:after {
  left: 44px;
}


/*.switch-button-div {
    position: absolute;
    right: 5%;
    top: 55%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}*/

.metodologia-inside-background {
  background-image: url("../img/Metodologia/Metodologia_Segundo_Scroll.png");
  transform: scale(1);
}

.button-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

#metodologia .menu-title,
#capacidades .menu-title,
#clientes .menu-title {
  font-style: normal;
  font-weight: 600;
  font-size: 40px;
  letter-spacing: -.05em;
  line-height: 55px;
  color: #B9D8E9;
  margin-top: 17px;
  margin-bottom: 0;
  text-align: left;
}

#metodologia .menu-title2,
#capacidades .menu-title2,
#clientes .menu-title2 {
  
  font-style: normal;
  font-weight: 600;
  font-size: 24px;
  line-height: 29px;
  color: #ffffff;
  margin-top: 17px;
  margin-bottom: 0;
  text-align: center;
}

#metodologia .menu-title2 {
  
  font-style: normal;
  font-weight: 600;
  font-size: 24px;
  line-height: 28px;
  color: #B9D8E9;
  margin-top: 17px;
  margin-bottom: 0;
  text-align: center;
}

#metodologia .expertise-description,
#capacidades .expertise-description,
#clientes .expertise-description {
  
  font-style: normal;
  font-weight: 400;
  color: #FFFFFF;
  text-align: left;
  margin-top: 10px;
  font-size: 22px;
  line-height: 26px;
  display: flex;
}

#metodologia .expertise-description2,
#capacidades .expertise-description2,
#clientes .expertise-description2 {
  
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 22px;
  color: #FFFFFF;
  margin-top: 10px;
  text-align: center;
}

#capacidades .slide,
#clientes .slide {
  background: none !important;
}

.titulo-sliders-metodologia {
  
  font-style: normal;
  font-weight: 300;
  font-size: 30px;
  line-height: 37px;
  color: #0E3541;
  margin-bottom: 30px;
}

.titulo-sliders-metodologia b {
  font-weight: 600;
}

.texto-sliders-metodologia {
  
  font-style: normal;
  font-weight: 300;
  font-size: 18px;
  line-height: 22px;
  color: #000000;
}

.nombre-sliders-metodologia {
  background: #F54748;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 5px 10px;
  
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 17px;
  color: #FFFFFF;
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .border-mobile .menu-title {
    
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 18px;
    color: #B9D8E9;
  }

  #metodologia .slide-title .menu-title,
  #capacidades .slide-title .menu-title,
  #clientes .slide-title .menu-title {
    
    font-style: normal;
    font-weight: 400;
    font-size: 30px;
    line-height: 39px;
    display: flex;
    align-items: center;
    color: #B9D8E9;
    margin-top: 80px;
  }

  #metodologia .expertise-description,
  #capacidades .expertise-description,
  #clientes .expertise-description {
    
    font-style: normal;
    font-weight: 300;
    font-size: 12px;
    line-height: 15px;
    color: #FFFFFF;
  }

  #metodologia .expertise-description,
  #capacidades .expertise-description,
  #clientes .expertise-description {
    
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 19px;
    display: flex;
    align-items: center;
    color: #FFFFFF;
  }

  .icon-size {
    height: 70px;
    width: 70px;
  }

  .border-mobile {
    width: 50% !important;
    float: left;
    border: none;
    margin: 0;
    padding-left: 0;
  }

  html
  /*body * EOM */
    {
    overflow: scroll !important;
  }

  #metodologia #outer {
    justify-content: flex-start;
  }

  #metodologia .menu-title2,
  #capacidades .menu-title2,
  #clientes .menu-title2 {
    
    font-size: 16px;
    line-height: 18px;
    margin-top: 17px;
    margin-bottom: 0;
    text-align: center;
  }

  #metodologia .expertise-description2,
  #capacidades .expertise-description2,
  #clientes .expertise-description2 {
    
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 19px;
    display: flex;
    align-items: center;
    color: #FFFFFF;
    margin-top: 10px;
  }

  #capacidades .slide {
    /*background: url("../img/expertise.png") !important;
        background-position: 50% 50% !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;*/
  }

  .titulo-sliders-metodologia {
    font-size: 26px;
    line-height: 32px;
  }

  .texto-sliders-metodologia {
    font-size: 16px;
    line-height: 19px;
  }

  .nombre-sliders-metodologia {
    font-size: 12px;
    line-height: 15px;
  }

  .flechita-rotada {
    width: 65px;
    height: auto;
    margin-top: 50px;
  }

  #capacidades #outer,
  #metodologia #outer {
    padding: 0;
  }

  .outer2 {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
  }
}


/*-------------------------------------------------------------------------------
  17. Cultura
-------------------------------------------------------------------------------*/

#cultura {
  overflow: scroll !important;
}

.align-bp4-info-right {
  display: flex;
  justify-content: flex-end;
}

.cultura-titulo-orange {
  
  font-style: normal;
  font-weight: 400;
  font-size: 40px;
  line-height: 55px;
  display: flex;
  align-items: center;
  color: #FF8E09;
}

.cultura-titulo-green {
  
  font-style: normal;
  font-weight: 400;
  font-size: 40px;
  line-height: 55px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #00A6A6;
}

.cultura-descripcion-squares {
  
  font-style: normal;
  font-weight: 400;
  font-size: 22px;
  line-height: 27px;
  display: flex;
  align-items: center;
  /* Blanco */
  color: #FFFFFF;
  margin: 20px 0px;
  text-transform: inherit;
}

.cultura-descripcion-squares2 {
  
  font-style: normal;
  font-weight: 300;
  font-size: 18px;
  line-height: 22px;
  color: #FFFFFF;
  text-transform: inherit;
  margin: 0;
}

.cultura-descripcion-squares3 {
  
  font-style: normal;
  font-weight: 400;
  font-size: 22px;
  line-height: 27px;
  display: flex;
  align-items: center;
  color: #000000;
  text-transform: inherit;
  margin: 20px 0 90px;
}

.centrar {
  margin-left: 60px;
  display: flex;
  align-items: center;
}

.cultura-titulo-blue {
  /* Team Architects */
  width: 201px;
  height: 68px;
  left: 0px;
  top: 0px;
  /* Cultura/H1 */
  
  font-style: normal;
  font-weight: 600;
  font-size: 30px;
  line-height: 1.5rem;
  color: #00a6a6;
  /* Inside auto layout */
  flex: none;
  order: 0;
  flex-grow: 0;
  margin: 30px 0px;
}

.cultura-titulo-blue p {
  font-weight: 300;
}

.cultura-images-vertical {
  width: calc(100% - 120px);
  height: auto;
  top: 0px;
  border-radius: 20px;
  margin: 60px;
}

.cultura-images-vertical-2 {
  width: calc(100% - 60px);
  height: auto;
  top: 0px;
  border-radius: 20px;
  margin: 60px 60px 60px 0;
}

.cultura-images-horizontal {
  width: calc(100% - 120px);
  height: auto;
  border-radius: 20px;
  margin: 60px;
}

.cultura-right-icon-border {
  border-bottom: 1px dashed #00A6A6;
  border-left: 1px dashed #00A6A6;
}

.cultura-left-icon-border {
  border-bottom: 1px dashed #00A6A6;
}

.cultura-talent-icon-border-right {
  border-top: 1px dashed#00A6A6;
  border-bottom: 1px dashed #00A6A6;
  border-left: 1px dashed #00A6A6;
}

.cultura-talent-icon-border-left {
  border-top: 1px dashed #00A6A6;
  border-bottom: 1px dashed #00A6A6;
}

.cultura-last-border-left {
  border-left: 1px dashed #00A6A6;
}

.cultura-section-top {
  background-color: #0e3441;
  background-image: url(../img/Cultura/Primera_Parte.png);
  background-position: top right;
  background-repeat: no-repeat;
  background-size: cover;
}

.cultura-section-bottom {
  background-color: #0e3441;
  background-image: url(../img/Cultura/Segunda_parte.png);
  background-position: bottom left;
  background-repeat: no-repeat;
  background-size: cover;
}

.cita {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 5px 10px;
  gap: 10px;
  width: 135px;
  height: 27px;
  background: #F54748;
  font-weight: 500;
  font-size: 14px;
  line-height: 17px;
  color: #FFFFFF;
  margin-top: 20px;
}

.titulos-beneficios {
  
  font-style: normal;
  font-weight: 700;
  font-size: 37px;
  line-height: 96%;
  color: #0E3541;
  margin-bottom: 0;
}

.titulo-beneficio-item {
  
  font-style: normal;
  font-weight: 700;
  font-size: 20px;
  line-height: 30px;
  color: #0E3541;
}

.texto-beneficio-item {
  
  font-style: normal;
  font-weight: 300;
  font-size: 20px;
  line-height: 24px;
  color: #000000;
  text-transform: inherit;
}

.beneficios-border-bottom {
  border-bottom: 1px dashed #FF8E09
}

.beneficios-border-left {
  border-left: 1px dashed #FF8E09
}

.fondo-beneficios {
  background-image: url("../img/Cultura/Fondo_Beneficio/Fondo (1).png");
  background-size: cover;
}

.mt-beneficios {
  padding-top: 120px;
}

.fondo-contactanos {
  background-color: #f54747 !important;
  background-image: url("../img/Cultura/Fondo_Contactanos/Contactanos.png") !important;
  background-size: cover !important;
}



.beneficio-square-titulo {
  width: 305px;
  height: 58px;
  left: 0px;
  top: 0px;
  
  font-style: normal;
  font-weight: 700;
  font-size: 30px;
  line-height: 96%;
  color: #0E3541;
  flex: none;
  order: 0;
  flex-grow: 0;
  margin: 20px 0px;
}

.conocenos-titulo{
  
  font-weight: 500;
  font-size: 40px;
  line-height: 55px;
  /*display: flex;*/
  align-items: center;
  color: #0E3541;
  margin-bottom: 30px;
}

.conocenos-texto {
  
  font-style: normal;
  font-weight: 300;
  font-size: 22px;
  line-height: 27px;
  color: #FFFFFF;
  text-transform: inherit;
}

.derechos-reservados {
  
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 17px;
  color: #0E3541 !important;
  text-transform: inherit;
  margin: 0;
}

.texto-footer {
  
  font-style: normal;
  font-weight: 400;
  font-size: 12px !important;
  line-height: 17px;
  color: #0E3541 !important;
  text-transform: inherit;
}

.texto-footer:hover {
  color: #ff6000 !important;
  text-decoration: none;
}

.beneficio-square-desc {
  position: static;
  width: 343px;
  height: 66px;
  left: 0px;
  top: 78px;
  
  font-style: normal;
  font-weight: 300;
  font-size: 18px;
  line-height: 22px;
  /* Negro */
  color: #000000;
  /* Inside auto layout */
  flex: none;
  order: 1;
  flex-grow: 0;
  margin: 20px 0px;
}

.margin-60 {
  margin: 60px 0 0 60px;
}

.pr-25 {
  padding-right: 25px;
}

.mt-60 {
  margin-top: 60px;
}

.mt-40 {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .cultura-titulo-blue {
    margin: 20px 0px;
    width: 100%;
    height: auto;
  }

  .cultura-images-vertical,
  .cultura-images-horizontal,
  .cultura-images-vertical-2 {
    width: 100%;
    margin: 00px;
  }

  .cultura-descripcion-squares2 {
    font-size: 16px;
  }

  .cultura-titulo-blue {
    font-size: 28px;
  }

  .margin-60 {
    margin: 0px;
  }

  .pr-25 {
    padding-right: 0;
  }

  .mt-60,
  .mt-40 {
    margin-top: 0px;
  }

  .align-bp4-info-right {
    justify-content: flex-start;
    margin-top: 0px;
  }

  .conocenos-texto {
    font-size: 16px;
  }

  .conocenos-titulo {
    font-size: 30px;
    margin-bottom: 20px;
  }

  .conocenos-titulo-lnd {
    font-size: 3.15rem;
    line-height: 1.16666667;
    margin: 50px 20px !important;
    margin-bottom: 50px !important;
  }

  .footer-flash-about {
    padding-bottom: 0;
  }

  .mb-20 {
    margin-bottom: 20px;
  }

  .img-linkedin {
    margin-top: 40px;
  }

  .cultura-section-top {
    background-image: url(../img/Cultura/Primera_ParteMobile.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100%;
  }

  .cultura-section-bottom {
    background-image: url(../img/Cultura/Segunda_parteMobile.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: 100%;
  }

  .fondo-contactanos {
    background-image: url("../img/Cultura/Fondo_Contactanos/ContactanosMobile.png") !important;
    background-size: cover !important;
  }
}


/*-------------------------------------------------------------------------------
  17. Clientes
-------------------------------------------------------------------------------*/

.icon-size-clientes img {
  /* height: 7.375rem;
    width: 9.375rem; */
  width: 130px;
  height: 60px;
  left: 0px;
  top: 0px;
  border-radius: 0px;
  margin: 30px 0;
}

.icon-size-clientes2 img {
  /* height: 7.375rem;
    width: 9.375rem; */
  width: 100px;
  height: 45px;
  left: 0px;
  top: 0px;
  border-radius: 0px;
  margin: 30px 0;
}

.icon-size-clientes3 img {
  /* height: 7.375rem;
    width: 9.375rem; */
  width: 80px;
  height: 36px;
  left: 0px;
  top: 0px;
  border-radius: 0px;
  margin: 30px 0;
}

.clientes-background {
  background-image: url("../img/Clientes/Principal/Fondo/Clientes.png");
  transform: scale(1);
}

.footer-fixed {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
}

.columnitas {
  margin-top: 8%;
  height: auto;
}

.footer-clientes .footer-bg p-40 {
  border-top: 1px solid #B9D8E9;
  padding: 50px 0;
}

.pampa {
  width: 345px;
  height: auto;
}

.center-top {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.botoncito {
  
  border: 1px solid #9bc0d3;
  border-radius: 35px;
  min-width: 100px;
  height: 30px;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #9BC0D3;
  justify-content: center;
  padding: 0 16px;
}

.boton-mandarina {
  color: #FF6000;
  border: 1px solid #FF6000;
  font-weight: 500;
}

.boton-verde {
  color: #00A6A6;
  border: 1px solid #00A6A6;
  font-weight: 500;
}

.boton-naranja {
  color: #FF8E09;
  border: 1px solid #FF8E09;
  font-weight: 500;
}

.boton-rojo {
  color: #F54748;
  border: 1px solid #F54748;
  font-weight: 500;
}

.mt-90 {
  margin-top: 90px;
}

.mt-200 {
  margin-top: 200px;
}

.casos {
  
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 17px;
  color: #000000;
  opacity: 0.4;
}

.img-atras {
  margin: 80px 0 60px;
}

.center-img {
  /*position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;*/
  margin-top: 425px;
}

.hashtag {
  
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 24px;
  color: #FF6000;
  margin-bottom: 70px;
}

.cliente-titulo h1 {
  
  font-style: normal;
  font-weight: 700;
  font-size: 40px;
  line-height: 55px;
  display: flex;
  align-items: center;
  color: #000000;
  margin-bottom: 30px;
  /*text-transform: uppercase;*/
}

.cliente-texto {
  
  font-style: normal;
  font-weight: 300;
  font-size: 22px;
  line-height: 34px;
  display: flex;
  align-items: center;
  color: #000000;
}

.collapse-boton {
  border: none;
  border-bottom: 2px solid #B9D8E9;
  background-color: white;
  padding-left: 0;
  width: 315px;
  text-align: left;
  padding-bottom: 15px;
  
  font-style: normal;
  font-weight: 500;
  font-size: 22px;
  line-height: 27px;
  color: #0E3541;
  margin-right: 25px;
}

.desplegable {
  
  font-style: normal;
  font-weight: 400;
  font-size: 22px;
  line-height: 34px;
  color: #0E3541;
  margin: 100px 0;
}

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

  #clientes .clientes-footer-b,
  #clientes .clientes-footer-m,
  #clientes .clientes-footer-l {
    
    font-style: normal;
    font-size: 12px;
    line-height: 15px;
    color: #FFFFFF;
    margin-bottom: 5px;
  }

  #clientes .clientes-footer-b {
    font-weight: 600;
  }

  #clientes .clientes-footer-m {
    font-weight: 400;
  }

  #clientes .clientes-footer-l {
    font-weight: 300;
  }

  .margen-mobile-clientes {
    margin-top: 10%;
    margin-bottom: 40px;
  }

  .columnitas {
    padding: 0 5%;
  }

  .hashtag {
    margin-bottom: 24px;
    font-size: 14px;
  }

  .cliente-titulo h1 {
    margin-bottom: 24px;
    font-size: 24px;
  }

  .cliente-texto {
    font-size: 18px;
  }

  .lista-botones {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .botoncito {
    width: calc(50% - 20px);
    margin: 5px 10px !important;
  }

  .img-atras {
    margin: 30px 0;
  }

  .ml-logo-footer {
    margin-right: calc(100% - 3rem);
  }

  .casos {
    font-weight: 600;
    font-size: 12px;
    line-height: 15px;
    opacity: 0.4;
    margin-bottom: 40px;
  }

  .collapse-boton {
    
    font-style: normal;
    font-weight: 300;
    font-size: 16px;
    line-height: 20px;
    color: #0E3541;
    margin-right: 0;
    padding-right: 10px;
  }

  .desplegable {
    font-size: 18px;
    line-height: 30px;
    margin: 50px 0;
  }

  .collapse-boton:nth-child(1),
  .collapse-boton:nth-child(2) {
    width: 30%;
  }

  .collapse-boton:nth-child(3) {
    width: 40%;
  }

  .pampa {
    width: 100%;
    height: auto;
  }

  .icon-size-clientes img,
  .icon-size-clientes2 img,
  .icon-size-clientes3 img {
    width: 70%;
    height: auto;
  }
}


/*-------------------------------------------------------------------------------
  . Productos
-------------------------------------------------------------------------------*/
#contactanos {
  overflow: scroll !important;
  background-image: url(../img/bg-lines-circle-02.webp);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 0 0;
  padding-bottom: 0px !important;
}


#producto {
  overflow: scroll !important;
  background-image: url(../img/Producto-Fondo-Primera_Parte.webp);
  background-repeat: no-repeat;
  background-size: 80%;
  background-position: 0 0;
}

.productos-title {
  
  font-style: normal;
  font-weight: 600;
  font-size: 40px;
  letter-spacing: -.05em;
  line-height: 55px;
  display: flex;
  align-items: center;
  color: #0E3541;
  margin-bottom: 20px;
}

.productos-subtitle {
  
  font-style: normal;
  font-weight: 400;
  font-size: 22px;
  line-height: 28px;
  display: flex;
  align-items: center;
  color: #000000;
}

.productos-items {
  
  font-style: normal;
  font-weight: 700;
  font-size: 40px;
  line-height: 55px;
  display: flex;
  align-items: center;
  color: #0E3541;
}

.productos-items-texto {
  
  font-style: normal;
  font-weight: 300;
  font-size: 22px;
  line-height: 34px;
  display: flex;
  align-items: center;
  color: #000000;
}

.boton-producto {
  
  font-weight: 600;
  font-size: 16px;
  line-height: 20px;
  text-align: center;
  color: #FF6000 !important;
  border: 2px solid #FF6000;
  border-radius: 35px;
  margin-top: 30px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 10px 22px;
  gap: 14px;
  /*position: absolute;*/
  width: max-content;
  height: auto;
  cursor: pointer;
}

.boton-contactar {
  
  font-weight: 600;
  font-size: 16px;
  line-height: 20px;
  text-align: center;
  color: #00A6A6 !important;
  border: 2px solid #00A6A6;
  border-radius: 35px;
/*  margin-top: 30px;*/
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 10px 22px;
  gap: 14px;
  /*position: absolute;*/
  width: max-content;
  height: auto;
  cursor: pointer;
}

.boton-enviar {
  
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  color: #0E3541 !important;
  border: 2px solid #0E3541;
  border-radius: 35px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 10px 30px;
}


.tarjetas {
  margin-bottom: 200px;
  display: flex;
  align-items: center;
  padding: 0;
}

.center,
.center-desktop,
.center-metodologias {
  display: flex;
  align-items: center;
}

.fotos-centro {
  display: flex;
  align-items: center;
  justify-content: center;
}

.vertical-center,
.vertical-center-metodologias {
  display: flex !important;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

.vertical-center2 {
  display: flex !important;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}

.vertical-center3 {
  display: flex !important;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-start;
}

.bottom {
  display: flex;
  align-items: flex-end;
}

#contenido-productos {
  margin-top: 155px;
}

.productos-footer {
  
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 17px;
  color: #0E3541;
  margin-bottom: 6px;
}

.productos-footer:nth-child(3) {
  font-weight: 300;
}

.linkedin {
  margin-top: 20px;
}

.linkedin img {
  width: 25px;
  height: 25px;
}

.linea-footer {
  border-top: 1px solid #B9D8E9;
  width: 100%;
  padding: 0px 0 50px;
}

.content-title {
  min-height: 20vh;
  margin-bottom: 200px;
}

.img-phone {
  width: 288px;
}

#nuestras-metodologias .menu-title {
  
  font-style: normal;
  font-weight: 300;
  font-size: 32px;
  line-height: 39px;
  color: #0E3541;
  text-align: center;
}

/*#nuestras-metodologias {
 background-image: url(../img/Metodologia/segundoPanel/fondo.png);
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
}*/

.section-metodologia {
  margin: 100px 0;
}

@media screen and (max-width: 768px) {
  #contenido-productos .content-title {
    margin-bottom: 0;
  }

  .tarjetas {
    padding: 5%;
    flex-wrap: wrap;
    margin-top: 200px;
    margin-bottom: 0;
  }

  .content-title {
    margin-bottom: 150px;
  }

  #contenido-productos .cultura-images-horizontal {
    margin-bottom: 100px;
  }

  .img-phone {
    height: 386px;
    width: auto;
  }

  .center-mobile {
    display: flex !important;
    align-items: center;
    flex-direction: column;
    justify-content: center;
  }

  .productos-title {
    font-size: 30px;
    line-height: 39px;
    color: #0E3541;
  }

  .productos-subtitle {
    font-size: 16px;
    line-height: 28px;
    color: #000000;
  }

  .productos-items {
    font-size: 24px;
    line-height: 55px;
    /*text-transform: uppercase;*/
    color: #9BC0D3;
  }

  .productos-items-texto {
    font-size: 16px;
    line-height: 28px;
    color: #000000;
  }

  .boton-pampa {
    
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 17px;
    display: flex;
    align-items: center;
    color: #F54748 !important;
    border: none;
    padding: 0;
    margin-top: 20px;
  }

  .linkedin img {
    width: 30px;
    height: auto;
  }

  /* #producto {
  background-image: url(../img/Producto-Fondo-Responsive.png);
 }*/

  .d-none {
    display: none !important;
  }

  .center-metodologias {
    display: initial;
  }

  #nuestras-metodologias .menu-title {
    font-weight: 300;
    font-size: 22px;
    line-height: 27px;
  }

  /* #nuestras-metodologias {
  background-image: url(../img/Metodologia/segundoPanel/fondoMobile.png);
 }*/

  .section-metodologia {
    margin: 50px 0;
  }
}

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

  html,
  /*body,  * EOM */
  head {
    overflow: scroll !important;
  }

  .p-40 {
    padding-left: 40px;
    padding-right: 40px;
  }

  .center-desktop {
    align-items: flex-start;
  }

  .cerrar {
    margin: 30px 0 !important;
  }
}

.contact-text a {
  text-decoration: none;
}

.slide-bg,
.slide-bg>.inside {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.slide-bg {
  overflow: hidden;
}

.slide-bg>.inside {
  background-image: url(../img/Metodologia/segundoPanel/fondo.png);
}

.slide-bg>.inside {
  transition: transform .8s ease-in-out;
  transform: scale(1.08);
  transition-delay: .8s;
}

#primer-slide .pp-tableCell {
  background-image: url(../img/Metodologia/segundoPanel/fondo1.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#segundo-slide .pp-tableCell {
  background-image: url(../img/Metodologia/segundoPanel/fondo2.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#tercer-slide .pp-tableCell {
  background-image: url(../img/Metodologia/segundoPanel/fondo3.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#primer-slideM .pp-tableCell {
  background-image: url(../img/Metodologia/segundoPanel/fondo1Mobile.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#cuarto-slideM .pp-tableCell {
  background-image: url(../img/Metodologia/segundoPanel/fondo3Mobile.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#index {
  /*background-image: url(../img/bg-video-home.jpg);#*/
  background-color: #081b38;
  /*background-position: center;
  background-repeat: no-repeat;
  background-size: cover;*/
}

#clientes {
  background-image: url(../img/bg-video-clientes.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#capacidades2 {
  background-image: url(../img/bg-video-capacidades.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.cerrar {
  width: 20px;
  height: 20px;
  float: right;
  margin: 40px 0;
  cursor: pointer;
}

.pos-menu {
  align-content: flex-start;
}

.mb-50 {
  margin-bottom: 50px;
}

.modal-header {
  border-bottom: 0px solid white !important;
}

@media screen and (max-width: 768px) {
  .pos-menu-footer {
    position: absolute;
    bottom: 16%;
  }

  .modal-dialog {
    max-width: 768px;
    padding: 0;
    margin: 0;
  }

  .modal-content {
    width: 100%;
    height: 100vh;
    border-radius: 0px !important;
  }

  .modal-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.footer-bg {
  background: transparent !important;
}

.activo {
  color: #FF8E09 !important;
}



#cultura .stick,
#capacidades2 .stick,
#metodologiaPage .stick,
#clientes .stick {
  background-color: #fff;
}

.body-menu-opened #cultura .stick,
.body-menu-opened #capacidades2 .stick,
.body-menu-opened #metodologiaPage .stick,
.body-menu-opened #clientes .stick {
  background-color: #000;
}

button.close {
  margin: 32px;
}

.corner-image-top {
  /*position: fixed;*/
  top: 0;
  position: relative;
  top: 0;
  left: 50px;
  right: 0;
  z-index: 100;
  pointer-events: none;
}

.corner-left-top {
  position: absolute;
  top: 200px;
  left: 0;
  max-width: 300px;
  z-index: 100;
  height: auto;
}

.corner-images {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  pointer-events: none;
}

.corner-left {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 300px;
  height: auto;
}

.corner-right {
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 550px;
  height: auto;
  transform: scaleX(-1);
}

.hero-text {
  position: absolute;
  top: 50%;
  /*
  left: 50%;*/
  /*transform: translate(0%, -50%);*/
  width: 100%;
  text-align: center;
  z-index: 99;
  color: #fff; /* O el color que prefieras */
  font-size: 2.5em; /* Ajusta el tamaño según tu diseño */
}



.hero-text h1 {
  display: block;
  margin: 0 auto;
  font-size: 3.5rem;
  margin-right: 115px;
  text-align: left;
  white-space: normal; 
  float: right;
  font-weight: 100;
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 4px;
}

.hero-text span{
  font-weight: 900;
}

.agency-text {
  position: absolute;
  bottom: 90px;
  left: 200px;
  width: 100%;
  display: flex;

  color: white;
  font-family: 'Funnel Display', sans-serif;
  font-size: 40px;
  line-height: 40px;
  z-index: 99;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.8);
  padding: 0 40px;
  box-sizing: border-box;
}

.agency-text p {
  margin: 0;
  font-weight: 300;
  text-align: center;
}

.hidden-circular {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.fade-in {
  opacity: 1;
}

.fade-out {
  opacity: 0;
}

.logo {
  transition: opacity 0.5s ease-in-out;
  opacity: 1;
}

.logo.fade-out {
  opacity: 0;
}
/*********** Contacto ***********/
.contact-section.full-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
}

.contact-section {
  min-height: 100vh; /* ocupa toda la altura de la pantalla */
  display: flex;
  justify-content: center; /* centra horizontalmente */
  align-items: center;     /* centra verticalmente */
  padding: 120px 40px;
  background-color: #081b38;
  color: white;
  font-family: 'Funnel Display', sans-serif;  
}

.contact-wrapper {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  gap: 40px;
  position: relative;
  flex-wrap: wrap;
  z-index: 1;
}

.contact-columns {
  display: flex;
  flex-direction: row;
  gap: 60px;
  flex-wrap: wrap;
  width: 100%;
}

.contact-column {
  flex: 1;
  min-width: 300px;
}

.contact-line {
  width: 100px;
  flex-shrink: 0;
  height: auto;
  position: relative;
  top: 0;
}

.section-title {
  font-size: 48px;
  margin-bottom: 40px;
  font-weight: 800;  
  display: inline-block;
  padding: 5px 20px;  
}

.contact-header-box {
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 32px;
  padding: 30px;
  margin-bottom: 40px;
  background-image: url("img/pattern.png");
  background-size: contain;
  background-repeat: repeat;
}

.contact-heading {
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 15px;  
  display: inline-block;
  padding: 5px 15px;  
}

.contact-description {
  font-size: 18px;  
  padding: 10px 20px;
  line-height: 1.6;
}

.contact-form {
  margin-top: 30px;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-grid .full {
  grid-column: 1 / 3;
}

.input-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
}

.input-wrapper::before {
  content: "";
  position: absolute;
  width: 300px;
  height: 160px;
  background-image: url('../img/recursocontacto.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}

.input-wrapper label {  
  font-weight: bold;
  margin-bottom: 5px;  
  display: inline-block;
  padding: 4px 10px;
  width: fit-content;
}

.input-wrapper input,
.input-wrapper textarea {
  width: 100%;
  padding: 14px 20px 14px 60px;
  font-size: 16px;
  border: none;
  border-radius: 4px;
  background-color: transparent;
  color: #ffffff;
  outline: none;
}

.input-wrapper input::placeholder,
.input-wrapper textarea::placeholder {
  color: #c5d5f0;
  text-align: left;
}

.input-wrapper input:focus,
.input-wrapper textarea:focus {
  background-color: rgba(33, 66, 138, 1);
  box-shadow: 0 0 10px rgba(61, 105, 199, 0.5);
}

.input-wrapper textarea {
  resize: none;
  min-height: 120px;
}

.btn-enviar {
  padding: 14px 30px;
  background-color: #fff;
  color: #081b38;
  font-size: 18px;
  border: none;
  font-weight: bold;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s;
  width: fit-content;
}

.btn-enviar:hover {
  background-color: #fde47f;
  color: #081b38;
}

.iconos-contacto {
  margin-top: 30px;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-end;
}

.iconos-contacto img {
  width: 40px;
  height: 40px;
}

.contact-info-grid {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
  gap: 40px;
  flex-wrap: wrap;
}

.info-box h3 {  
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}

.info-box p,
.info-box a {  
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
}

.contact-background{
  position: relative;
}

.trama-contacto {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 2;
  pointer-events: none;
  
}

/*********** Fin Contacto ***********/


@media (max-width: 768px) {
  .contact-columns {
    flex-direction: column;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .form-grid .full {
    grid-column: 1 / 2;
  }
  .iconos-contacto {
    justify-content: center;
  }
}


/*-------------------------------------------------------------------------------
  Servicios
-------------------------------------------------------------------------------*/


body.servicio{
  background-color: #081b38;
}

.video-overlay-content {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 30px;
  color: white;
}

.contact-box {
  position: absolute;
  top: 215px;
  right: 0px;
  color:#ffffff;
  z-index: 104;
}

.contact-box p {
  font-size: 17px;
  margin: 0 0 10px;
  width: 120px;
  text-align: center;
  margin: auto;
  margin-bottom: 10px;
  font-weight: 500;
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 4px;
}

.contact-box a {
  display: inline-block;
  background-color: #00a6fb;
  color: white;
  padding: 1px 50px 2px 15px;
  text-decoration: none;
  font-weight: 600;
  /*border-radius: 18px;*/
  color: #000 !important;
  font-size: 20px;
  border-top-left-radius:20px;
  border-bottom-left-radius:20px;
}

.columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 1200px;
  width: 100%;
}

.left-column {
  font-size: 20px;
  padding: 30px;
  padding-right: 50px;
}

.left-column > h1{
  font-size: 80px;
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 4px;
}

.left-column > b{
  padding-bottom: 20px;
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 4px;
}

.left-column p{
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 4px;
}

.positions-list{
  text-shadow: rgba(0, 0, 0, 0.8) 0px 2px 4px;
}

.right-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.right-column a{  
  color: #2a70c9 !important;
  font-size: 20px;
  z-index: 10 ;
}

.right-column a.reclutamiento{  
  top: 180px;
  position: relative;
}

.right-column a.staff{  
  top: 230px;
  position: relative;
  left: 75px;
}

.button {
  background-color: white;
  color: #0066cc;
  font-weight: bold;
  padding: 0px 8px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 18px;
  width: fit-content;
}

.positions-list {
  position: relative;
  padding-left: 19px;
  margin-top: 20px;
}

.positions-line-left,
.positions-line-right {
  position: absolute;
  top: 7px;
  bottom: 9px;
  width: 2px;
  background-color: white;
  z-index: 1;
}

.positions-line-left {
  left: 4px;
}

.positions-line-right {
  left: 10px;
}

.positions-item {
  color: white;
  font-size: 16px;
  margin:4px 0;
  position: relative;
  padding-left: 10px;
  line-height: 1.4;
}

/* Círculo */
.positions-item::after {
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid white;
  background-color: #308DBF;
  position: absolute;
  left: -17px;
  top: 6px;
  z-index: 2;
}

/* Línea de conexión */
.positions-item::before {
  content: '';
  position: absolute;
  width: 5px;
  height: 0px;
  background-color: #308DBF;
  left: -14px;
  top: 0;
  z-index: 1;
}

/* Primer y último ítem ajustan el inicio/final de la línea */
.positions-item:first-child::before {
  top: 12px;
}

.positions-item:last-child::before {
  bottom: 12px;
}

.floating-image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.floating-image {
  max-width: 100%;
  height: auto;
  animation: floatUpDown 4s ease-in-out infinite;
  pointer-events: none;
}

.tech-positions-box {
  background: white;
  border-radius: 30px;
  padding: 30px 30px;
  position: relative;
  
  width: fit-content; /* ⬅️ Se adapta al contenido */
  max-width: 100%;    /* ⬅️ Nunca se pasa del contenedor */
  box-sizing: border-box;
  box-shadow: 0 0 0 10px #0d1b2a;
  flex: 1 1 auto; 
}

.tech-positions-box.first {
  max-width: 390px;
  height: 475px;
}

.tech-positions-box.second {
  
  height: 510px;
}

.tech-positions-box.third {
  max-width: 768px;  
}

/*
.tech-positions-box::before {
  content: "";
  position: absolute;
  top: 25px;
  left: 30px;
  width: 90px;
  height: 50px;
  border: 1px solid #0d1b2a;
  border-right: none;
  border-bottom: none;
  border-radius: 50px 0 0 0;
}

.tech-positions-box::after {
  content: "";
  position: absolute;
  bottom: 25px;
  left: 25px;
  width: 30px;
  height: 30px;
  border: 1px solid #0d1b2a;
  border-top: none;
  border-right: none;
  border-radius: 0 0 0 30px;
}
  */


  .tech-positions-box .header {
    padding-top: unset;
  }

.tech-positions-box .header img {
  display: block;
  max-width: 220px;   /* O ajústalo según tu diseño, por ejemplo 100% si prefieres full-width */
  width: 100%;        /* Así se adapta al contenedor */
  /* Limita la altura máxima para que no tape el texto ni sobresalga */
  height: auto;
  
  margin: 0 auto 20px auto; /* Centra la imagen y agrega espacio abajo */
  object-fit: contain;     /* Asegura que la imagen se vea bien aunque no llene todo el espacio */
  border-radius: 8px;      /* Opcional: bordes levemente redondeados para armonía */
  background: transparent; /* Por si la imagen es PNG transparente */
  box-shadow: 0 1px 4px rgba(0,0,0,0.04); /* Sombra muy suave opcional */
}

/* Responsive: ajusta el tamaño para pantallas chicas */
@media (max-width: 600px) {
  .tech-positions-box .header img {
    
    
  }
}





.tech-positions-box .positions {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.tech-positions-box .positions ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tech-positions-box .positions li {
  margin: 5px 0;  
  font-size: 12px;
  text-align: center;
  width: 134px;
}

li.destacado{
  border-bottom: 1px solid #d5d5d5;
}

.positions-single ul,
.stack-categories ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.positions-single li,
.stack-categories li {
  margin: 5px 0;  
  font-size: 12px;
  color: #333;
  text-align: center;
}

.stack-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}

.stack-categories > div {
  
}

.stack-categories h4 {
  font-size: 15px;
  color: #2a70c9;
  margin-bottom: 10px;  
  text-transform: uppercase;
  text-align: center;
}

.pill {
  background-color: #e4ecf9;
  color: #2a70c9;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 0.85em;
  display: inline-block;
}

.servicios-section{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0px 0px 120px 0px;
  background-color: #081b38;
  color: white;
  font-family: 'Funnel Display', sans-serif;
  position: absolute;
  margin-top: -122px;
  z-index: 1000;
  width: 100%;
}

.header-gradient-overlay-bottom.servicios{
  margin-bottom:120px;
}

.servicios-wrapper {
  display: flex;
  flex-wrap: wrap;         
  justify-content: center; 
  gap: 30px;               
  padding: 0 20px;
  box-sizing: border-box;
  flex-direction: row;
  align-items: center;
}

.servicios-wrapper .positions{
  color: #000000;
}

.columns.gradient {
   z-index: 101;
}

/* Animación de flotación suave */
@keyframes floatUpDown {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
}

@media screen and (max-width: 992px) {
  .columns {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 160px;
  }
  .video-overlay-content {
    top: 10px; /* ahora con top fijo */
    align-items: flex-start;
    padding: 40px 20px;
  }

  .left-column,
  .right-column {
    font-size: 18px;
    padding: 20px;
  }

  .right-column{
    height: 1px;
  }

  .right-column a.reclutamiento{  
    top: 40px;    
    left: 10%;
  }
  
  .right-column a.staff{  
    top: 100px;
    left: 40%;
  }
  
  .left-column > h1{
    font-size: 50px;
  }
  .button {
    font-size: 16px;
  }

  .servicios-section {    
    margin-top: unset;  
  }

  .header-gradient-overlay-bottom.servicios {
    margin-bottom: unset;
  }

  .contact-box {    
    top: 120px;    
  }

}


/* 📱 Mobile: columnas apiladas y top de 10px */
@media screen and (max-width: 768px) {
  p {
    margin-top: 0 !important;
  margin-bottom: 1rem !important;
  margin-left: 0px !important;
  }

  .tech-positions-box .header {
    font-size: 16px !important;
    
  }

  .contact-box p {
    margin-left: auto !important;
    font-size: 13px;
  }

  .contact-box a {   
    font-size: 16px;
    padding-right: 35px;
  }

  .servicios-wrapper.no-padding {
    padding: 0;
    width: inherit;
  }

  .tech-positions-box .header {
    padding-top: unset;
  }

  .tech-positions-box.third {
    max-width: 500px;  
  }

  .tech-first {
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    gap: 0;
    position: relative;      
  }

  .tech-positions-box.first {

    /*
    background: #fff;
    border-radius: 32px;
    padding: 32px 32px;
    box-sizing: border-box;
    box-shadow: 0 0 0 8px #0d1b2a;
    flex: 1 1 auto;
    max-width: 390px;
    display: flex;
    flex-direction: column;
    align-items: center;*/
    background: #fff;
    border-radius: 32px;
    padding: 32px 32px;
    box-sizing: border-box;
    box-shadow: 0 0 0 8px #0d1b2a;
    flex: 1 1 auto;
    max-width: 390px;
    display: flex;
    flex-direction: column;
    align-items: center;
    display: block;
    margin: auto;
  }

  .tech-positions-box-left-first {
  
    background: none;
    box-sizing: border-box;
    flex-shrink: 0;
    border: 1px solid #FFFFFF;
    border-left-width: 2px;
    border-left-style: solid;
    border-left-color: rgb(169, 198, 218);
    border-left-width: 2px;
    border-left-style: solid;
    border-left-color: rgb(169, 198, 218);
    border-top-right-radius: 32px;
    border-bottom-right-radius: 32px;
    border-left: none;
    height: 475px;
    /*
    position: absolute;
    
    width: 25%;
    left: -70px;*/
  }

  .tech-positions-box-right-first {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 32px;
    border-bottom-left-radius: 32px;
    border-right: none;
    border: 1px solid #FFFFFF;
    display: inline;
     height: 475px;
    /*
    position: absolute;
   
     width: 25%;
        right: -70px;
        */
    border-left: 1px solid #FFFFFF;
    border-right: none;
  }
  

  .tech-second {
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    gap: 0;
    position: relative;  
  }

  .tech-positions-box.second {
    background: #fff;
    border-radius: 32px;
    padding: 32px 32px;
    box-sizing: border-box;
    box-shadow: 0 0 0 8px #0d1b2a;
    flex: 1 1 auto;
    max-width: 325px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .tech-positions-box-left-second {
    /*
    position: relative;
    width: 20%;      
    */
    background: none;
    box-sizing: border-box;
    flex-shrink: 0;
    border: 1px solid #FFFFFF;
    border-left-width: 2px;
    border-left-style: solid;
    border-left-color: rgb(169, 198, 218);
    border-left-width: 2px;
    border-left-style: solid;
    border-left-color: rgb(169, 198, 218);
    border-top-right-radius: 32px;
    border-bottom-right-radius: 32px;
    border-left: none;
     height: 510px;
     /*
    position: absolute;
   
    width: 30%;
    left: -70px;*/
  }

  .tech-positions-box-right-second {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 32px;
    border-bottom-left-radius: 32px;
    border-right: none;
    border: 1px solid #FFFFFF;
  
    
    display: inline;
    
    height: 510px;
    /*
    position: absolute;
    width: 30%;
      right: -70px;
      */
    border-left: 1px solid #FFFFFF;
    border-right: none;
  }

  .tech-third {
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    gap: 0;
    position: relative;  
  }

   .tech-positions-box.third {
   
    /*height: 645px;*/
  }

  .tech-positions-box.third {
    background: #fff;
    border-radius: 32px;
    padding: 32px 32px;
    box-sizing: border-box;
    box-shadow: 0 0 0 8px #0d1b2a;
    flex: 1 1 auto;

    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .tech-positions-box-left-third {
    /*
    position: relative;
    width: 20%;      
    */
    background: none;
    box-sizing: border-box;
    flex-shrink: 0;
    border: 1px solid #FFFFFF;
    border-left-width: 2px;
    border-left-style: solid;
    border-left-color: rgb(169, 198, 218);
    border-left-width: 2px;
    border-left-style: solid;
    border-left-color: rgb(169, 198, 218);
    border-top-right-radius: 32px;
    border-bottom-right-radius: 32px;
    border-left: none;
   
    /*height: 645px;*/
    /*
     position: absolute;
   width: 15%;
    left: -70px;*/
  }

  .tech-positions-box-right-third {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 32px;
    border-bottom-left-radius: 32px;
    border-right: none;
    border: 1px solid #FFFFFF;
 
    
    display: inline;
   
    /*height: 645px;*/
    /*
    width: 15%;
       right: -70px;
        position: absolute;
        */
    border-left: 1px solid #FFFFFF;
    border-right: none;
  }



  
  
}

.azul-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 123, 255, 0.7); 
  z-index: 1; 
  pointer-events: none;
}

.azul-overlay-slider {
  /* position: fixed; */
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 123, 255, 0.1); 
  z-index: 1; 
  pointer-events: none;
}

.azul-overlay-promo {
  /* position: fixed; */
  position: relative;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 123, 255, 0.1); 
  z-index: 101; 
  pointer-events: none;
}

#contact-info-grid-1{
  display: flex;
}

#contact-info-grid-2{
  display: none;
}




@media (max-width: 1280px) {
  .hero-text h1 {    
    font-size: 2.5rem;   
  }

  .agency-text{
    font-size: 22px;
    line-height: 22px;
  }

  .form-grid {
    grid-template-columns: 1fr !important;
  }

  .form-grid .full {
    grid-column: 1 / 2 !important;
  }

}


@media (max-width: 992px) {
  .corner-left-top{
    max-width: 250px;
  }


  .trama-contacto {    
    /* width: 200%; */
  }

}

@media (max-width: 768px) {

  .hero-text h1 {    
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    float: initial;
  }

  .corner-image-top{
    display: none;
  }

  .agency-text{
    bottom: 285px;
    left: auto;
    margin-left: auto;
    margin-right: auto;
    display: none;
  }

  .form-group {
    margin-left: auto;
    margin-right: auto;
  }

  #contact-info-grid-1{
    display: none;
  }
  
  #contact-info-grid-2{
    display: flex;
  }

  .contact-header-box{
    margin-bottom: 0;
  }
  
}




@media (max-width: 640px) {

  .tech-positions-box-left-first {  
    width: 22%;
  }

  .tech-positions-box-right-first {   
    width: 22%;  
  }


  .tech-positions-box-left-second {  
   width: 26%;
  }

  .tech-positions-box-right-second {   
    width: 26%;  
  }

  .tech-positions-box-left-third {  
    width: 15%;
  }

  .tech-positions-box-right-third {   
    width: 15%;    
  }
}

@media (max-width: 576px) {

  .hero-text h1 {    
    
  }

  .section-title {
    font-size: 36px;    
  }  

  .agency-text{
    bottom: 250px;
  }
  
  .contact-heading{
    font-size: 22px;
  }

  .contact-description{
    font-size: 16px;
  }

  .positions-item {   
    font-size: 14px;   
    
  }

  .tech-positions-box-left {
    left: -70px; 
  }

  .tech-positions-box-right {
    right: -70px;    
  }
  
  .tech-positions-box-left-third {  
    width: 0%;
  }

  .tech-positions-box-right-third {   
    width: 0%;    
  }
}

/*******Inicio Nosotros **********/

.body-seconday {
  background-color: #f5f5ec !important;
  font-weight: 500;
  font-size: 18px;
}

.full-screen-nosotros {
  width: 100%;  
  position: relative;
  overflow: hidden;
}

.nosotros-descripcion {
  padding-top: 250px;  
}

.nosotros-descripcion > div:nth-child(2) {
  max-width: 992px;
  width: 100%;
  box-sizing: border-box;
  padding: 0 20px;
  margin: 0 auto;
}

.descripcion-central {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1200px;
  width: 100%;
  gap: 40px;
  padding: 0 20px;
  box-sizing: border-box;
}

.nosotros-section {
  /*
  background-color: #f5f5ec;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto auto auto;
  gap: 30px;
  */
}

.left-section{
  position: absolute;
  top: -60px;
  left: -130px;
}

.middle-section{
  position: absolute;
  top: -250px; 
}

.left-bottom-section{
  position: absolute;
  bottom: -310px;
  left: -190px;
}

.right-bottom-section{
  position: absolute;
  bottom: 150px;
  right: -185px;
}

img.recursos-nosotros{
  width: 410px;
}

.title-box {
  padding: 10px 0 40px 0;
  border-left: 1px solid #081b38;  
}

.title-box small{
  font-size: 20px;
  font-weight: 100;
  margin-left: 5px;
  padding-bottom: 10px;
}

.title-box h1 {
  font-size: 40px;
  font-weight: 100;
  margin-bottom: 10px;
  color: #081b38;
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 10px; 
  font-weight: 400 !important;
}

.title-box h2 {
  font-size: 35px;
  font-weight: 700;
  color: #081b38;
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 10px;
}


.text-box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  gap: 20px;
  font-size: 16px;
  line-height: 16px;
  border-right: 1px solid #081b38;
  border-left: 1px solid #081b38;
  color: #081b38;
}

.inner-text-box-1,
.inner-text-box-2 {
  flex: 1; 
  display: flex;
  flex-direction: column;
  justify-content: center; /* Centra verticalmente su contenido */
}

.inner-text-box-1 {
  padding: 10px 0 0 0;
  margin: 0 30px;
}

.inner-text-box-1 p:nth-child(1){
  padding-bottom: 10px;
}

.inner-text-box-2 {
  /*margin: 0 30px;*/
  padding-bottom: 20px;
  padding-top: 20px;
  border-top: 1px solid #081b38;
}

.right-bottom-section{
  display: none;
}

.inner-text-p{
  margin: 0 30px;
}


.nosotros-perfiles {
  grid-column: 1 / 3;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  width: 100%;
  border-top: 1px solid #081b38;
  background-color: #f5f5ec;
  position: relative;
}

.bloque-central {
  position: relative;
  max-width: 475px;
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
  border-left: 1px solid #081b38;
  border-right: 1px solid #081b38;
  padding-top: 10px;
}

.bloque-vacio-izq,
.bloque-vacio-der {
  height: 100%;
}

.imagen-perfiles {
  width: 80%;
  height: auto;
  margin: auto;
  z-index: 1;
  position: relative;
  display: block;
  margin-top: 30px;
  margin-bottom: 40px;
  padding-bottom: 24px;
}

.perfil-texto {
  position: absolute;
  max-width: 180px;
  font-size: 0.95rem;
  color: #081b38;
  text-align: left;
  z-index: 2;
}

.perfil-texto.yamila {
  top: 30px;
  left: 30px;
}

.perfil-texto.joaco {
  bottom: 30px;
  right: 30px;
}

.perfil-texto h3 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 4px;
}

.perfil-texto p {
  margin-bottom: 8px;
  line-height: 1.4;
  font-size: 13px;
}
.iconos-sociales {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 5;
}

.iconos-sociales img {
  width: 30px;
  height: 30px;
}

.right-section{
  display: none;
  position: absolute;
}

.box-footer{
  width: 100%;
  height: 40px;
  position: relative; 
  background-color: #081b38;
}

@media (max-width: 768px) {
  .nosotros-descripcion {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .left-section,
  .nosotros-descripcion > div:last-child {
    width: 15px;
    flex-shrink: 0;
  }

  .left-section {
    width: 410px;  
    top: -60px;
    left: -165px;
  }

  .left-section img {
    width: 100%;
    height: auto;
  }

  .left-section {
    top: -60px;
    left: -130px;
  }

  .middle-section {   
    top: -235px;
    right: -160px;
  }

  .right-section{
    display: block;    
    top: 280px;
    right: -355px;
  }

  .descripcion-central {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    gap: 0px;
  }

  .nosotros-descripcion > div:nth-child(2) {
    padding: 0;
  }

  .title-box {
    order: 0;
    width: 100%;
    margin-bottom: 0px;
    border-bottom: 1px solid #081b38;
    border-left: none;
    padding:0;
  }


  .title-box h1 {
    line-height: 33px;
  }

  .title-box h2 {
    margin-bottom: 0px;
    padding-bottom: 30px;
  }

  .title-box-1{
    width: 75%;
    border-right: 1px solid #081b38;
    border-left: 1px solid #081b38;
    margin-left: auto;
    margin-right: 50px;
  }

  .text-box {
    order: 1;
    width: 80%;
    margin-right: 45px;
    display: block;
  }


  .left-bottom-section{   
    bottom: -120px;
    left: -335px;
  }

  .bloque-central {
    max-width: 380px;
  }

  .perfil-texto.joaco {   
    right: -10px;
  }

  .inner-text-box-1 {   
    margin: auto;
    padding: 0;
  }

  .inner-text-p {
    margin: auto;
  }

  .inner-text-box-p{
    padding-bottom: 20px;
    padding-top: 20px;
  }

  .inner-text-box-p.row1{
    border-bottom: 1px solid #081b38;
  }

  .inner-text-box-p p,.inner-text-p p{
    padding-bottom: 0 !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
  }

  .perfil-texto h3 {
    font-size: 20px;
  }

  .perfil-texto p {   
    font-size: 11px;
  }

  p{
    margin: 0 20px;
  }

}


@media (max-width: 576px) {

  .middle-section {
   display: none;
  }

}

@media (max-width: 489px) {

  .right-section {    
    top: 375px;    
  }


   .tech-positions-box.third {
    max-width: 380px;  
    height: 890px;
  }

}




/******* Fin Nosotros**********/
/******* Inicio Metodologia**********/

.full-screen-metodologia {
  width: 100%;
  height: 95vh;
  position: relative;
  overflow: hidden;
}

.box-footer-metodologia{
  width: 100%;
  height: 5vh;
  position: relative;
  background-color: #081b38;
}


.contact-box-metodologia {
  position: absolute;
  top: 20%;
  transform: translateY(-30%);
  right: 0px;
  color: #000000;
  z-index: 104;
}

.contact-box-metodologia  p {
  font-size: 19px;
  margin: 0 0 10px;
  width: 130px;
  text-align: center;
  margin: auto;
    margin-bottom: auto;
  margin-bottom: 10px;
  font-weight: 500;
}

.contact-box-metodologia  a {
  display: inline-block;
  background-color: #081b38;
  color: white;
  padding:7px 50px 9px 18px;
  text-decoration: none;
  font-weight: 600;
  /*border-radius: 18px;*/
  color: #00a6fb !important;
  font-size: 20px;
  border-top-left-radius:20px;
  border-bottom-left-radius:20px;
}

.iconos-sociales-metodologia {
  position: fixed;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 5;
  bottom: 75px;
}

.descripcion-metodologia > h1{
  font-size: 60px;
  font-weight: 700;
  left: 20%;
  position: relative;
}

.iconos-sociales-metodologia img {
  width: 30px;
  height: 30px;
}

.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(4, auto);
  border-collapse: collapse;
  position: absolute;
  bottom: 0;
  left: 15%;
  right: 20px;
  max-width: 942px;
  margin-left: 15px;
  margin-right: 15px;
  font-size: 22px;
}

.grid div {
 
  padding: 30px 20px;  
}

.grid .no-border-top {
  border-top: none;
}

.grid .border {
  min-height: 120px; 
  padding: 10px 20px; 
}

.grid .border1{
  border-left: 1px solid #081b38;
  border-right: 1px solid #081b38;
}

.grid .border3{  
  border-right: 1px solid #081b38;
  border-left: 1px solid #081b38;
}

.grid .border-left-top-right{  
  border-right: 1px solid #081b38 !important;
  border-left: 1px solid #081b38 !important;
  border-top: 1px solid #081b38 !important;
}

.grid .border-top-right{  
  border-right: 1px solid #081b38 !important;
  border-top: 1px solid #081b38 !important;
}

.grid .border-top  {
    border-top: 1px solid #081b38 !important;
}

.grid .highlight {

  display: flex;
  align-items: center;
  justify-content: center;
  grid-row: span 2;
}


.grid .highlight .background {
  background: url('../img/background-highlight.png') no-repeat center/cover;
  width: 450px;
  height: 500px;
  position: absolute;
}


.grid .merged-cell {
  grid-row: span 2;
}

.grid div.texto {
  width: auto;
  display: block;
  cursor: pointer;
}

.grid div.texto {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 25px;
    transition: font-weight 0.2s;
     cursor: pointer;
}



.grid div.texto:hover,.grid div.texto.active {
  font-weight: bold;
}

.grid div.texto img {
  width: 20px;
  height: auto;
}


.highlight img {
  max-width: 120px;
  position: absolute;
  margin-bottom: 80px;
  margin-left: 15px;
}

.lista-metodologia {
  list-style: none;
  padding-left: 0;
  margin: 0;
  font-size: 20px;
  line-height: 28px;
  margin-top: 25px;
}

.lista-metodologia li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.lista-metodologia li img {
  width: 12px;
  height: auto;
}


#section-metodologia1{
  display: block;
}

#section-metodologia2{
  display: none;
}

.bloque-central-metodologia {
  position: relative;   
  padding: 0 20px;
  box-sizing: border-box;
  border-left: 1px solid #081b38;
  border-right: 1px solid #081b38;
  padding-top: 10px;
}

.metodologia-main {
  padding-top: 215px;  
}

.fixed {
  position: fixed;
 
}

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

  .contact-box-metodologia {    
    top: 120px;    
  }

  .grid{
    left: 0;
    margin-left:15px;
    margin-right: 15px;
  }

}

@media screen and (max-width: 768px) {
  
  .left-section-metodologia{
    margin-top: 35px;
  }

  #section-metodologia1{
    display: none;
  }

  #section-metodologia2{
    display: block;
  }

  .contact-box-metodologia p {
    margin-left: auto !important;
    font-size: 13px;
  }

  .contact-box-metodologia a {   
    font-size: 16px;
    padding-right: 35px;
  }

  .metodologia-descripcion {
    padding-top: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .metodologia-descripcion h1 {
    font-size: 60px;
    font-weight: 700;
    position: relative;
    width: 80%;
  }

  .idea-metodologia {
    border-top: 1px solid #081b38;
    background-color: #f5f5ec;
    position: relative;
    display: flex;
  }

  .bloque-central-metodologia {
    width: 80%;
    display: flex;
  }


  .bloque-central-metodologia .col1,
  .bloque-central-metodologia .col2 {
    width: 50%;
    padding: 0 20px;
    box-sizing: border-box;    
  }

  .bloque-vacio-izq-metodologia, .bloque-vacio-der-metodologia {
    width: 10%;
  }

  .text-box-metodologia{
     
    display: block;
    border-right: 1px solid #081b38 !important;
    border-left: 1px solid #081b38 !important;
  }
  
  .row-metodologia div.texto img {
    width: 20px;
    height: auto;
  }

  .inner-text-box-metodologia1, .inner-text-box-metodologia2{
    display: flex;
  }

  .inner-text-box-metodologia2 { 
    border-top: 1px solid #081b38;
  }

  .inner-text-box-metodologia1 .border,
  .inner-text-box-metodologia2 .border{
    min-height: 120px;
    padding: 10px 20px;
    display: flex;
    width: 50%;
  
  }

  .inner-text-box-metodologia1 .border.col1,
  .inner-text-box-metodologia2 .border.col1{
    border-right: 1px solid #081b38 !important;
  }

  .inner-text-box-metodologia1 > .border > .texto{
    font-size: 22px;
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 25px;
  }

  .inner-text-box-metodologia2 > .border > .texto{
    font-size: 22px;
     display: flex;
    align-items: center;
    gap: 8px;
    line-height: 25px;
  }


  .text-box-metodologia {
    display: flex;
    height: 100%;
    font-size: 1rem;
    line-height: 1.6;
    border-right: 1px solid #081b38;
    border-left: 1px solid #081b38;
    color: #081b38;
    order: 1;
    width: 75%;
  }

  .text-box-metodologia .col-empty1{

    border-right: 1px solid #081b38;
   
  }

  .text-box-metodologia .col-empty1, .text-box-metodologia .col-empty2 {
    height: 20px;
    width: 50%;
  }

  .col1 .highlight .background {
    background: url('../img/background-highlight.png') no-repeat center/cover;
    width: 350px;
    height: 300px;
    position: absolute;
    left: -70px;
  }

  .col1 .highlight img {   
    margin-bottom: 50px;
    margin-left: 15px;
  }

  .iconos-sociales-metodologia {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 5;
    bottom: auto;
  }

  .row-empty{
    height: 20px;
  }

}

@media screen and (max-width: 640px) {
  .inner-text-box-metodologia1 > .border > .texto {
    font-size: 18px;    
  }

  .inner-text-box-metodologia2 > .border > .texto {
    font-size: 18px;    
  }
}

@media screen and (max-width: 576px) {
 .inner-text-box-metodologia1 > .border > .texto {
    font-size: 15px;
  }
  .inner-text-box-metodologia2 > .border > .texto {
    font-size: 15px;
  }
  .lista-metodologia {  
    font-size: 17px;  
  }
}
/******* Fin Metodologia**********/
/******* Inicios Clientes**********/
.client-column {
  flex: 1;
  min-width: 300px;
}

.client-column.only-mobile {
  display: none;
}

.client-column.only-desktop {
  display: block;
}

.floating-image-wrapper.only-desktop{
  display: block;
}


.companies {
  position: absolute;
  width: 395px;
  height: 178px;  
  pointer-events: none;
  right: 75px;
  top: 65%;
  overflow: hidden;
}

.companies-slider {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.companies-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  opacity: 0;
  transform: translateX(100%);
  transition: opacity 0.6s, transform 0.6s;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
  pointer-events: none;
}

.companies-slide.active {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
  z-index: 2;
}

.companies-slide.out-left {
  opacity: 0;
  transform: translateX(-100%);
  z-index: 1;
}

.company-logo {
  position: absolute;
 width: 190px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  padding: 15px 30px;    
  border-radius: 16px;
  box-sizing: border-box;
  border: 1px solid #ffffff;
}
  


.company-logo img {
  
  max-height: 40px;
  display: block;
  border-radius: 12px;
  margin: 0 auto;
}

/* Esquinas */
.company-logo:nth-child(1) { /* Arriba izquierda */
  top: 0; left: 0;
  border-radius: 30px 30px 0 30px;     /* Sin radius abajo a la derecha */
}
.company-logo:nth-child(2) { /* Arriba derecha */
  top: 0; right: 0;
 border-radius: 30px 30px 0 30px;     /* Sin radius abajo a la izquierda */
}
.company-logo:nth-child(3) { /* Abajo izquierda */
  bottom: 0; left: 0;
  border-radius: 30px 0 30px 30px;     /* Sin radius arriba a la derecha */
}
.company-logo:nth-child(4) { /* Abajo derecha */
  bottom: 0; right: 0;
 border-radius: 30px 0 30px 30px;       /* Sin radius arriba a la izquierda */
}


@media screen and (max-width: 992px) {
  .client-column.only-mobile {
    position: absolute;
    display: block;
  }

  .client-column.only-desktop {
    display: none;
  }

  .floating-image-wrapper.only-desktop{
    display: none;
  }

  .companies {
    position: relative;
    display: block;
    margin: auto;
    right: unset;
    top: unset;
  }

  .client-info{
    margin-top: 200px;
    z-index: 20;
  }

  .client-column {
    flex: auto;
    
  }

}




/******* Fin Clientes**********/