@charset "UTF-8";
/*--------------------------------------------------------------
Rem mixins to convert PX to REM
https://github.com/pierreburel/sass-rem
--------------------------------------------------------------*/
/*
 *  Mixin for consistent line-height
 *  convert from px to unitless
 *  @include line-height($line-height-px, $font-size-px)
 */
/*
 *  Display different font size for breakpoints
 *  @include font-size-breakpoint($sizes)
 *  $sizes is a variable array with two parameters
 *  $h--1: (
 *      desktop: 44px,
 *      tablet: 36px,
 *      mobile: 30px,
 *   ); 
 */
/*
 *  Display different line height for breakpoints
 *  @include line height-breakpoint($sizes)
 *  $sizes is a variable array with two parameters
 *  $h--1: (
 *      desktop: 44px,
 *      tablet: 36px,
 *      mobile: 30px,
 *   ); 
 */
/*
 *  Mixin for background-opacity
 *  @include background-opacity()
 */
/*
 *  Mixin for pseudo class. insert the 3 base paremeters
 *  @include pseudo 
 */
/*
 *  Mixin for pseudo layer over image with plane color.
 *  @include pseudo-over-image 
 */
/*
 *  Mixin for css triangle like in dropdown, tootlip..
 *  @include css-triangle() 
 */
/*
 *  Mixin Centering Elements
 *  @include center($position) 
 */
/*
 *  Add @font-face
 *  @include font-face(Samplino, fonts/Samplino) 
 *  RESULT IN:

    @font-face {
        font-family: 'Asap';
        src: url('assets/fonts/Asap.eot');
             url('assets/fonts/Asap.woff') format('woff'),
             url('assets/fonts/Asap.ttf') format('truetype'),
             url('assets/fonts/Asap.svg#Asap') format('svg');
    }
 */
/*
 * Custom Scrollbars Mixin
 * EX: @include scrollbars(10px, pink, red);
 */
/*
 * FONT ICON
 */
@font-face {
  font-family: "nada";
  src: url("../fonts/icon-font/nada.eot?27599163");
  src: url("../fonts/icon-font/nada.eot?27599163#iefix") format("embedded-opentype"), url("../fonts/icon-font/nada.woff2?27599163") format("woff2"), url("../fonts/icon-font/nada.woff?27599163") format("woff"), url("../fonts/icon-font/nada.ttf?27599163") format("truetype"), url("../fonts/icon-font/nada.svg?27599163#nada") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'nada';
    src: url('../font/nada.svg?27599163#nada') format('svg');
  }
}
*/
[class^=icon-]:before, [class*=" icon-"]:before {
  font-family: "nada";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: 0.2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-play:before {
  content: "\e800";
} /* '' */
.icon-play-circled2:before {
  content: "\e801";
} /* '' */
.icon-play-circled:before {
  content: "\f144";
} /* '' */
.animated-link {
  text-decoration: none;
}
.animated-link.type1 {
  position: relative;
  font-size: 14px;
  height: 14px;
  overflow: hidden;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: #fff;
  line-height: 1em;
  text-align: center;
}
.animated-link.type1 span {
  display: block;
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  top: 0;
}
.animated-link.type1 span::after {
  content: attr(data-text);
  display: block;
}
.animated-link.type1 span:hover {
  top: -14px;
}
.animated-link.type2 {
  position: relative;
  font-size: 14px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  color: #fff;
  line-height: 1em;
  text-align: left;
  max-width: 175px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.animated-link.type2 span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  padding-left: 25px;
  transition: 0.3s;
}
.animated-link.type2::before {
  width: 50px;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: absolute;
  content: "\f0a9";
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1em;
  font-size: 0;
  font-weight: 900;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  color: #fff;
}
.animated-link.type2::after {
  width: 50px;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: absolute;
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1em;
  font-size: 50px;
  font-weight: 900;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.7);
  -webkit-text-fill-color: transparent;
}
.animated-link.type2:hover {
  max-width: 225px;
}
.animated-link.type2:hover span {
  padding-left: 75px;
}
.animated-link.type2:hover::before {
  font-size: 50px;
}
.animated-link.type2:hover::after {
  font-size: 0px;
}

.animated-input-text {
  color: #fff;
  line-height: 1.2em;
  font-size: 52px;
  max-width: 400px;
  outline: none;
  padding: 0 0 20px;
  caret-color: transparent;
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
   -ms-user-select: text !important;
       user-select: text !important;
  position: relative;
}
.animated-input-text::after {
  content: "";
  display: inline-block;
  height: 43px;
  margin-left: 8px;
  width: 6px;
  background-color: rgb(255, 230, 0);
  opacity: 1;
  -webkit-animation: caretBlinker 1.2s linear infinite;
          animation: caretBlinker 1.2s linear infinite;
}
@-webkit-keyframes caretBlinker {
  0% {
    opacity: 1;
  }
  29% {
    opacity: 1;
  }
  30% {
    opacity: 0;
  }
  60% {
    opacity: 0;
  }
  61% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes caretBlinker {
  0% {
    opacity: 1;
  }
  29% {
    opacity: 1;
  }
  30% {
    opacity: 0;
  }
  60% {
    opacity: 0;
  }
  61% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

.animated-text-hightlight {
  border-top: 0;
  border-bottom: 0;
  position: relative;
}
.animated-text-hightlight p {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.animated-text-hightlight::before, .animated-text-hightlight::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  background: #ccc;
  background: -webkit-gradient(linear, right top, left top, color-stop(50%, #ccc), color-stop(50%, #000)) right;
  background: linear-gradient(to left, #ccc 50%, #000 50%) right;
  background-size: 200%;
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}
.animated-text-hightlight::after {
  top: auto;
  bottom: 0;
}
.animated-text-hightlight:hover::before, .animated-text-hightlight:hover::after {
  background-position: left;
}
.animated-text-hightlight:hover p {
  color: var(--color-text);
}

.animated-bottom-line p {
  border-bottom: 0;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.animated-bottom-line p::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  background: #ccc;
  background: -webkit-gradient(linear, right top, left top, color-stop(50%, #ccc), color-stop(50%, #000)) right;
  background: linear-gradient(to left, #ccc 50%, #000 50%) right;
  background-size: 200%;
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}
.animated-bottom-line p::after {
  top: auto;
  bottom: 0;
}
.animated-bottom-line:hover p::after {
  background-position: left;
}

#mainMenu {
  z-index: 9000;
  position: fixed;
  top: -100vh;
  left: 0;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100vw !important;
}
#mainMenu.active {
  top: 0;
}
#mainMenu .cabecera,
#mainMenu .menu-principal-pie {
  position: absolute;
  background-color: #000;
}

.animated-sticky-header {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.animated-sticky-header.inverse {
  background-color: transparent;
  border-color: #fff;
}
.animated-sticky-header.inverse .logo,
.animated-sticky-header.inverse .boton-menu {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

body.error .animated-sticky-header,
body.manifiesto .animated-sticky-header,
body.newsletter .animated-sticky-header {
  background-color: transparent;
  border-color: #fff;
}
body.error .animated-sticky-header .logo,
body.error .animated-sticky-header .boton-menu,
body.manifiesto .animated-sticky-header .logo,
body.manifiesto .animated-sticky-header .boton-menu,
body.newsletter .animated-sticky-header .logo,
body.newsletter .animated-sticky-header .boton-menu {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.animated-cursor:hover {
  cursor: var(--cursor-image) 62 62, auto;
}

.animated-cover {
  position: relative;
  display: block;
}
.animated-cover::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  opacity: 0.5;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  background-color: var(--color-cover-text);
}
.animated-cover:hover::before {
  height: 100%;
}

.animated-fade-up {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  opacity: 1;
}
.animated-fade-up.no-show {
  padding-top: 50px;
  opacity: 0;
}

.animated-home-ideas {
  position: relative;
  cursor: pointer;
}
.animated-home-ideas .image {
  position: absolute;
  width: 200px;
  height: 150px;
  opacity: 0;
  display: none;
  top: 0;
  left: 0;
}
.animated-home-ideas .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.animated-home-ideas:hover .image {
  opacity: 1;
  display: block;
}

.marquee {
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  --offset: 20vw;
  --move-initial: calc(-25% + var(--offset));
  --move-final: calc(-50% + var(--offset));
}
.marquee .marquee-inner {
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-transform: translate3d(var(--move-initial), 0, 0);
          transform: translate3d(var(--move-initial), 0, 0);
  -webkit-animation: marquee 10s linear infinite;
          animation: marquee 10s linear infinite;
}
.marquee span {
  white-space: nowrap;
  padding: 0 2vw;
}

@-webkit-keyframes marquee {
  0% {
    -webkit-transform: translate3d(var(--move-initial), 0, 0);
            transform: translate3d(var(--move-initial), 0, 0);
  }
  100% {
    -webkit-transform: translate3d(var(--move-final), 0, 0);
            transform: translate3d(var(--move-final), 0, 0);
  }
}

@keyframes marquee {
  0% {
    -webkit-transform: translate3d(var(--move-initial), 0, 0);
            transform: translate3d(var(--move-initial), 0, 0);
  }
  100% {
    -webkit-transform: translate3d(var(--move-final), 0, 0);
            transform: translate3d(var(--move-final), 0, 0);
  }
}
.animation-spin {
  animation: spin 10s linear 0s infinite reverse;
}

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

@keyframes spin {
  0% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
html,
body {
  margin: 0;
  border: 0;
  height: 100%;
}

body {
  overflow-x: hidden;
}

body.home {
  padding-top: 0 !important;
}

.hidden {
  display: none;
}

.no-padding {
  padding: 0;
}
@media (max-width: 767px) {
  .no-padding {
    padding-right: 20px;
    padding-left: 20px;
  }
}

video,
embed,
iframe,
img,
object,
table {
  max-width: 100%;
}

.col-12 video,
.col-6 video {
  width: 100%;
}

body.error {
  padding: 0;
}
body.error .error-mensaje {
  position: relative;
}
body.error .marquee {
  background-color: #000;
  margin-top: -110px;
}
body.error .marquee .texto-rota {
  position: relative;
}
body.error .pie {
  margin-top: 0;
  display: none;
}

body.contact {
  background-color: #000;
}
body.contact .contacto {
  background: transparent !important;
}
body.contact video {
  opacity: 0.5;
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -100;
  -o-object-fit: cover;
     object-fit: cover;
}
body.contact .cabecera {
  background-color: transparent;
  border-color: #fff;
}
body.contact .cabecera .logo,
body.contact .cabecera .boton-menu {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
body.contact .pie {
  display: none;
}

.slider.ideas-slider .slide {
  cursor: pointer;
  margin: 0 15px;
}

.infinite-pagination {
  overflow: hidden;
  height: 1px;
  opacity: 0;
}

.hero-home {
  @import url("../css/hero-home.css");
  background-color: #000;
  color: #fff;
  position: relative;
  overflow: hidden;
  height: 100vh;
}
.hero-home [contenteditable] {
  -webkit-user-select: text;
  -moz-user-select: text;
   -ms-user-select: text;
       user-select: text;
}
.hero-home .container-wrapper {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  margin: auto;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 0;
}
.hero-home .container-wrapper .container {
  z-index: 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  /*&::before {
    content: "";
    display: block;
    width: 100vw;
    height: 100vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -99;
    background: #222222;
    background: -moz-linear-gradient(
      90deg,
      rgba(#222222, 0.8) 0%,
      rgba(#222222, 0.3) 100%
    );
    background: -webkit-linear-gradient(
      90deg,
      rgba(#222222, 0.8) 0%,
      rgba(#222222, 0.3) 100%
    );
    background: linear-gradient(
      90deg,
      rgba(#222222, 0.8) 0%,
      rgba(#222222, 0.3) 100%
    );
  }*/
}
.hero-home .container-wrapper .container video {
  opacity: 0.5;
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -100;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero-home .container-wrapper .container .main-navbar {
  padding: 20px 0;
}
.hero-home .container-wrapper .container .main-navbar .logo {
  max-height: 32px;
}
.hero-home .container-wrapper .container .blocks {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
.hero-home .container-wrapper .container .blocks .block {
  top: 0;
  left: 0;
  padding: 40px 40px 0;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  overflow: hidden;
}
.hero-home .container-wrapper .container .blocks .block.active {
  z-index: 1;
  opacity: 1;
}
.hero-home .container-wrapper .container .footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0;
  width: 100%;
}
.hero-home .container-wrapper .container .footer .social {
  position: relative;
  text-align: left;
  color: #fff;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.hero-home .container-wrapper .container .footer .social a {
  color: #fff;
  text-decoration: none;
  font-size: 20px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 0 0 0 10px;
  position: relative;
  width: 32px;
  height: 32px;
}
.hero-home .container-wrapper .container .footer .social a i {
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 0;
}
.hero-home .container-wrapper .container .footer .social a:hover i {
  top: -4px;
}
.hero-home .container-wrapper .container .footer .links {
  white-space: nowrap;
}
.hero-home .container-wrapper .container .footer .links a {
  color: rgb(255, 230, 0);
}

.circular {
  z-index: 2;
}

footer.pie {
  background-color: #fff;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}

/* Botones */
.boton-1,
.boton-2,
.boton-3,
.boton-4,
.boton-5,
.boton-6 {
  background-color: transparent;
  border: 1px solid;
  font-weight: 300;
  font-size: 18px;
}

.boton-1 {
  border-color: #000;
  color: #000;
}

.boton-3 {
  border-color: #FFF;
  color: #FFF;
}

.manifiesto h1 strong {
  color: #FFF;
}

/**/
@media (max-width: 991px) {
  .parrilla-casos h2 {
    font-size: 1.1rem;
    line-height: 1.4em;
  }
  .block-grid__item h2 {
    font-size: 1.1rem;
    line-height: 1.4em;
  }
}
.layout-block.separacion-none {
  margin-bottom: 0;
}
.layout-block.separacion-s {
  margin-bottom: 40px;
}
.layout-block.separacion-m {
  margin-bottom: 80px;
}
.layout-block.separacion-l {
  margin-bottom: 115px;
}
@media (max-width: 991px) {
  .layout-block.separacion-s {
    margin-bottom: 30px;
  }
  .layout-block.separacion-m {
    margin-bottom: 55px;
  }
  .layout-block.separacion-l {
    margin-bottom: 80px;
  }
}

.layout-video .layout-template__content {
  padding-top: 54.6%;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.layout-video .layout-template__content .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #FFF;
  font-size: 6.6875rem;
  z-index: 2;
}
.layout-video .layout-template__content .action-video {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  border: none;
  opacity: 0;
  cursor: pointer;
}
.layout-video .layout-template__content .layout-video__content {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}
.layout-video .layout-template__content .layout-video__content iframe {
  width: 100%;
  height: 100%;
}
.layout-video.layout-video__active .layout-template__content {
  background-image: none !important;
}
.layout-video.layout-video__active .layout-template__content .action-video {
  display: none;
}
@media (max-width: 1023px) {
  .layout-video .layout-template__content.full-height {
    min-height: auto !important;
    padding-top: 55.6%;
  }
}
@media (max-width: 766px) {
  .layout-video .layout-template__content {
    /*width: calc(100% + 60px);
    margin:0;
    padding:0;
    min-height: auto!important;
    padding-top:65%;
    margin-left: -30px;
    margin-right: -30px;*/
  }
  .layout-video .layout-template__content .icon {
    font-size: 3.75rem;
  }
}

@media (max-width: 767px) {
  .bloque-boton .boton-1, .bloque-boton .boton-2, .bloque-boton .boton-3, .bloque-boton .boton-4, .bloque-boton .boton-5, .bloque-boton .boton-6 {
    font-size: 14px;
  }
}

.layout-grid .block-grid__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 30px;
}
.layout-grid .block-grid__item .block-grid__image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  padding-top: 83%;
}
.layout-grid .block-grid__item.animated-bottom-line p::after {
  display: none;
}

.layout-formulario .block-form-text {
  margin-bottom: 50px;
}
.layout-formulario .formulario input[type=text],
.layout-formulario .formulario input[type=email] {
  border-bottom: 1px solid #000 !important;
  color: #000 !important;
}
.layout-formulario .formulario input[type=text]::-webkit-input-placeholder, .layout-formulario .formulario input[type=email]::-webkit-input-placeholder {
  color: #000 !important;
}
.layout-formulario .formulario input[type=text]::-moz-placeholder, .layout-formulario .formulario input[type=email]::-moz-placeholder {
  color: #000 !important;
}
.layout-formulario .formulario input[type=text]:-ms-input-placeholder, .layout-formulario .formulario input[type=email]:-ms-input-placeholder {
  color: #000 !important;
}
.layout-formulario .formulario input[type=text]::-ms-input-placeholder, .layout-formulario .formulario input[type=email]::-ms-input-placeholder {
  color: #000 !important;
}
.layout-formulario .formulario input[type=text]::placeholder,
.layout-formulario .formulario input[type=email]::placeholder {
  color: #000 !important;
}
.layout-formulario .formulario .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item.first {
  margin-left: 0;
}
.layout-formulario .formulario .field-texto {
  margin-bottom: 10px;
}
.layout-formulario .formulario .wpcf7-submit {
  color: #000;
  border-color: #000;
}
.layout-formulario .formulario .wpcf7-submit:hover {
  background: #000;
  color: #FFF;
}
.layout-formulario .formulario .field-note p {
  font-style: italic;
}
.layout-formulario .two-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  row-gap: 10px;
  margin-bottom: 0;
}
.layout-formulario .two-columns .field {
  width: calc(50% - 20px);
}
.layout-formulario .two-columns .field:last-child p {
  margin-bottom: 10px;
}
.layout-formulario .two-columns .field-100 {
  width: 100%;
}
@media (max-width: 1023px) {
  .layout-formulario .two-columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .layout-formulario .two-columns .field {
    width: 100%;
  }
}
.bloque-intro {
  position: relative;
  min-height: 600px;
}
.bloque-intro .bloque-intro-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 80px;
}
.bloque-intro .block-intro__content {
  width: calc(45% - 40px);
}
.bloque-intro .block__title {
  text-transform: none;
}
.bloque-intro .block__text {
  margin-bottom: 40px;
}
.bloque-intro .block__text-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.bloque-intro .block__text-2 i {
  display: block;
  background: url("../images/arrow.png") no-repeat scroll 0 0;
  background-size: contain;
  width: 42px;
  height: 42px;
  margin-left: 20px;
}
.bloque-intro .block__text-2 span {
  display: block;
  width: calc(100% - 42px - 20px - 20px);
}
.bloque-intro .block-intro__image {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
}
.bloque-intro .block__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 1023px) {
  .bloque-intro .bloque-intro-in {
    gap: 40px;
  }
  .bloque-intro .bloque-intro-in .block-intro__content {
    width: calc(45% - 20px);
  }
}
@media (max-width: 767px) {
  .bloque-intro .bloque-intro-in {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .bloque-intro .bloque-intro-in .block-intro__content {
    width: 100%;
  }
  .bloque-intro .bloque-intro-in .block-intro__image {
    position: relative;
    right: auto;
    width: 100%;
    height: 550px;
  }
}
.layout-separacion {
  border-top: 1px solid #000;
}

.bloque-evento-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 100px;
}
.bloque-evento-in .block__info {
  width: calc(50% - 50px);
}
.bloque-evento-in .block__card {
  position: relative;
  padding: 16px 45px 16px 45px;
}
.bloque-evento-in .border {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 4px;
  border-radius: 30px;
}
.bloque-evento-in .block__fecha {
  display: block;
  margin-bottom: 12px;
}
.bloque-evento-in .block__titulo {
  margin-bottom: 10px;
  line-height: 1.45em;
}
.bloque-evento-in .block__subtitulo {
  display: block;
}
.bloque-evento-in .block__btn {
  display: inline-block;
  margin-top: 60px;
}
.bloque-evento-in .block__content {
  width: calc(50% - 50px);
}
.bloque-evento-in .block__content .block__btn {
  display: none;
}

.bloque-evento__campos-texto {
  margin-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 60px;
}
.bloque-evento__campos-texto .campos-texto {
  width: calc(50% - 30px);
}
.bloque-evento__campos-texto .campos-texto ul li {
  list-style-type: disc;
  list-style-position: inside;
  padding-left: 15px;
  margin-bottom: 5px;
}

@media (max-width: 1023px) {
  .bloque-evento-in {
    gap: 30px;
  }
  .bloque-evento-in .block__info {
    width: calc(45% - 15px);
  }
  .bloque-evento-in .block__content {
    width: calc(55% - 15px);
  }
  .bloque-evento-in .block__card {
    padding: 16px 25px 16px 25px;
  }
}
@media (max-width: 767px) {
  .bloque-evento-in {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .bloque-evento-in .block__info {
    width: 100%;
  }
  .bloque-evento-in .block__info .block__btn {
    display: none;
  }
  .bloque-evento-in .block__card {
    padding: 16px 0 16px 25px;
  }
  .bloque-evento-in .block__content {
    width: 100%;
  }
  .bloque-evento-in .block__content .block__btn {
    display: block;
    margin-top: 25px;
    text-align: center;
  }
}
.bloque-dos-columnas .row {
  --bs-gutter-y: 1.5rem;
}

.bloque-dos-columnas .layout-video {
  margin: 0;
  padding: 0;
}
.bloque-dos-columnas .layout-video .layout-template__content {
  border-radius: 30px;
}
.bloque-dos-columnas .layout-video .layout-template__content .icon {
  font-size: 5.625rem;
}
@media (max-width: 1023px) {
  .bloque-dos-columnas .layout-video .layout-template__content .icon {
    font-size: 4.1875rem;
  }
}

.bloque-dos-columnas .layout__imagen img {
  border-radius: 30px;
  width: 100%;
}

.bloque-imagen-centrada img {
  border-radius: 30px;
}

.bloque-tres_imagenes .layout-image {
  padding-top: 109%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 30px;
}
@media (max-width: 767px) {
  .bloque-tres_imagenes .row {
    --bs-gutter-y: 1.5rem;
  }
  .bloque-tres_imagenes .col-4 {
    width: 100%;
  }
}

.layout-html.alinear-centro .row {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.layout-html.alinear-derecha .row {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.bloque-galeria_deslizante .layout-gallery .layout-gallery__item {
  width: 25%;
  height: 460px;
  height: 27.5vw;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 10px;
}
@media (max-width: 767px) {
  .bloque-galeria_deslizante .layout-gallery .layout-gallery__item {
    height: 49vw;
  }
}

.bloque-galeria .layout-galeria {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.bloque-galeria .layout-galeria .layout-galeria__item {
  width: calc(50% - 15px);
  padding-top: 34%;
  border-radius: 30px;
  position: relative;
  overflow: hidden;
}
.bloque-galeria .layout-galeria .layout-galeria__item img {
  display: block;
  -o-object-position: center;
     object-position: center;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
@media (max-width: 1023px) {
  .bloque-galeria .layout-galeria .layout-galeria__item {
    width: 100%;
    padding-top: 65%;
  }
}

/* HEADER */
.cabecera .row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.menu-principal.active .logo img {
  -webkit-filter: invert(1);
          filter: invert(1);
}

@media (max-height: 1015px) {
  .menu-principal .row.completo {
    height: auto !important;
    margin-top: 80px;
  }
  .menu-principal nav a {
    font-size: 35px;
    line-height: 65px;
  }
}
@media (max-height: 950px) {
  .menu-principal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 3rem;
    padding-bottom: 50px;
  }
  .menu-principal .row.completo {
    margin-top: 0;
  }
  .menu-principal nav a {
    font-size: 30px;
    line-height: 50px;
  }
  .menu-principal address > div {
    width: 100% !important;
  }
  .menu-principal-redes {
    margin-left: 0;
  }
  .menu-principal-redes ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu-principal-redes li {
    margin-right: 5px;
    margin-top: 1rem;
  }
}
@media (max-height: 850px) {
  .menu-principal nav a {
    font-size: 1.5rem !important;
    line-height: 1.8rem !important;
  }
}
.single-aprenday .fecha {
  display: block;
  margin-bottom: 10px;
}

.parrilla-casos .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.parrilla-casos .tags a {
  display: block;
  color: #707070;
  text-decoration: none;
}
.parrilla-casos .tags a:hover {
  text-decoration: underline;
}
.parrilla-casos .tags a + span {
  display: block;
  margin-right: 5px;
}

/**/
.caso-articulo .ficha a {
  display: block;
  text-decoration: none;
}
.caso-articulo .ficha a:hover {
  text-decoration: underline;
}

/* formulario */
.field.terms.subscription span.mc4wp-checkbox {
  margin: 0 0 0 1em;
  display: inline-block;
}

.page-template-newsletter .field.terms p,
.page-template-contact .field.terms p {
  margin-bottom: 0;
}

/* FOOTER */
.pie .col-lg-5.pie-preguntas {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.home .pie {
  margin-top: 0;
}

.hero-home .container {
  position: relative;
}
.hero-home .container-wrapper .container .hero-home-in {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 7%;
}
.hero-home .container-wrapper .container .hero-home-in .blocks {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.hero-home .container-wrapper .container .hero-home-in .blocks .block {
  position: relative;
}
.hero-home .circular {
  display: none !important;
}
.hero-home .animated-input-text {
  max-width: 100%;
  font-family: "Be Vietnam Pro";
  font-weight: 300;
  font-size: 100px;
}
.hero-home .animated-input-text::after {
  height: 75px;
}
.hero-home .subtitle {
  font-family: "Be Vietnam Pro";
  font-weight: 400;
  font-size: 40px;
}
.hero-home .subtitle span {
  display: block;
}
.hero-home .subtitle-small {
  font-size: 33px;
  font-weight: 200;
}
.hero-home .botones-hero {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 50px;
}
.hero-home .botones-hero .boton-4 {
  display: block;
}
@media (max-width: 1200px) {
  .hero-home .animated-input-text {
    font-size: 80px;
  }
  .hero-home .animated-input-text::after {
    height: 58px;
  }
  .hero-home .subtitle {
    font-size: 32px;
  }
  .hero-home .subtitle-small {
    font-size: 26px;
  }
}
@media (max-width: 767px) {
  .hero-home .container-wrapper .container .hero-home-in {
    margin-top: 160px;
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    display: block;
  }
  .hero-home .container-wrapper .container .hero-home-in .circular.goto {
    margin-top: 120px;
    display: block;
    text-align: center;
  }
  .hero-home .container-wrapper .container .hero-home-in .blocks .block {
    padding: 0;
  }
  .hero-home .container-wrapper .container .hero-home-in .blocks .block .content {
    text-align: center;
  }
  .hero-home .animated-input-text {
    font-size: 50px;
  }
  .hero-home .animated-input-text::after {
    height: 38px;
  }
  .hero-home .subtitle {
    font-size: 23px;
  }
  .hero-home .subtitle-small {
    font-size: 19px;
  }
  .hero-home .botones-hero {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 15px;
    margin-top: 30px;
  }
  .hero-home .botones-hero .boton-separado {
    margin-right: 0;
  }
}

.hero-home-2 {
  background: #000;
  padding-bottom: 150px;
  margin-top: -100px;
}
.hero-home-2 .hero-home-video {
  position: relative;
}
.hero-home-2 #video-play {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  cursor: pointer;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero-home-2 #video-play span {
  display: block;
  background: url("../images/play.svg") no-repeat scroll 0 0;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  width: 60px;
  height: 60px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-filter: invert(1);
          filter: invert(1);
}
.hero-home-2 #video-play:hover span {
  -webkit-transform: translate(-50%, -50%) scale(1.12);
      -ms-transform: translate(-50%, -50%) scale(1.12);
          transform: translate(-50%, -50%) scale(1.12);
}
.hero-home-2 .animated-input-text,
.hero-home-2 .subtitle {
  color: #000;
}
.hero-home-2 .botones-hero a {
  color: #000;
}
.hero-home-2 .botones-hero a:hover {
  background: #000;
  color: #FFF;
}

/* parrilla-casos */
.parrilla-casos {
  padding-top: 80px;
}

/* MANIFIESTO */
.manifiesto-home {
  padding-top: 140px;
  padding-bottom: 140px;
  margin-bottom: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.manifiesto-home .text-wrapper {
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  padding-top: 80px;
  padding-bottom: 80px;
}
.manifiesto-home .text-container {
  height: 60px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
.manifiesto-home .words-container {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  overflow: hidden;
}
.manifiesto-home .word {
  position: absolute;
  bottom: -10px;
  left: 0;
  font-family: "Be Vietnam Pro";
  font-size: 3.3rem;
  line-height: 4rem;
  color: #FFF;
  height: 81px;
}
.manifiesto-home .word div {
  font-family: "Be Vietnam Pro";
  font-size: 3.3rem;
  line-height: 4rem;
  color: #FFF;
}
.manifiesto-home .word-final {
  font-family: "Be Vietnam Pro";
  font-size: 3.3rem;
  line-height: 4rem;
  color: #FFF;
  margin-top: 50px;
}
.manifiesto-home .boton-3 {
  display: inline-block;
  margin-top: 50px;
}
@media (max-width: 1200px) {
  .manifiesto-home .text-container {
    height: 50px;
  }
  .manifiesto-home .word {
    font-size: 2.5rem;
    line-height: 3rem;
    height: 65px;
  }
  .manifiesto-home .word div,
  .manifiesto-home .word-final {
    font-size: 2.5rem;
    line-height: 3rem;
  }
}
@media (max-width: 992px) {
  .manifiesto-home {
    padding-top: 100px;
    padding-bottom: 100px;
    /*.text-container {
    	height: 50px;
    }

    .word {
    	font-size: 2.2rem;
        line-height: 2.6rem;
    	height: 50px;
    }
    .word div,
    .word-final {
    	font-size: 2.2rem;
        line-height: 2.6rem;
    }*/
  }
  .manifiesto-home .container {
    max-width: 100%;
  }
  .manifiesto-home .text-wrapper {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media (max-width: 767px) {
  .manifiesto-home {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .manifiesto-home .text-container {
    height: 47px;
  }
  .manifiesto-home .word {
    font-size: 1.8rem;
    line-height: 1.3em;
    height: 58px;
  }
  .manifiesto-home .word div,
  .manifiesto-home .word-final {
    font-size: 1.8rem;
    line-height: 1.3em;
  }
}

.parrilla-casos article .enlace-imagen {
  width: 100%;
  padding-top: 100% !important;
}
.parrilla-casos article .enlace-imagen:before {
  z-index: 2;
  border-radius: 30px;
}
.parrilla-casos .block__imagen {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px;
}
.parrilla-casos article.col-lg-12 .enlace-imagen {
  padding-top: 55% !important;
}
@media (max-width: 990px) {
  .parrilla-casos article.col-lg-12 .enlace-imagen {
    padding-top: 100% !important;
  }
}

.page-template-manifest {
  padding-top: 0;
}
.page-template-manifest .pie {
  position: relative;
  z-index: 2;
}

.manifiesto-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1;
}
.manifiesto-video video {
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -100;
  -o-object-fit: cover;
     object-fit: cover;
}

.manifiesto-article {
  position: relative;
  z-index: 2;
}

.manifiesto-heading {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.page-template-manifest .parrilla-manifiesto .subtitulo,
.page-template-manifest .parrilla-manifiesto .numero {
  color: #FFF;
  opacity: 1;
}

@media (max-width: 767px) {
  .page-template-newsletter .wpcf7-email {
    font-size: 15px !important;
  }
}

/**
Hoja de estilos de SCSS nuevas.
*/