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

body {
  line-height: 1; }

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

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* Fonts */
@font-face {
  font-family: 'Surt';
  src: url("/fonts/Surt-Light.eot");
  src: url("/fonts/Surt-Light.eot?#iefix") format("embedded-opentype"), url("/fonts/Surt-Light.woff2") format("woff2"), url("/fonts/Surt-Light.woff") format("woff"), url("/fonts/Surt-Light.otf") format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
  font-variant-alternates: normal;
  font-variant-ligatures: common-ligatures; }

@font-face {
  font-family: 'Surt';
  src: url("/fonts/Surt-Medium.eot");
  src: url("/fonts/Surt-Medium.eot?#iefix") format("embedded-opentype"), url("/fonts/Surt-Medium.woff2") format("woff2"), url("/fonts/Surt-Medium.woff") format("woff"), url("/fonts/Surt-Medium.otf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
  font-variant-alternates: normal;
  font-variant-ligatures: common-ligatures; }

@font-face {
  font-family: 'Surt Extra';
  src: url("/fonts/Surt-UltraBold.eot");
  src: url("/fonts/Surt-UltraBold.eot?#iefix") format("embedded-opentype"), url("/fonts/Surt-UltraBold.woff2") format("woff2"), url("/fonts/Surt-UltraBold.woff") format("woff"), url("/fonts/Surt-UltraBold.otf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  font-variant-alternates: normal;
  font-variant-ligatures: common-ligatures; }

/* default theme */
/*  Font Import  */
/*  General  */
* {
  box-sizing: border-box; }

html,
body {
  height: 100%; }

body {
  background-color: #f5f5f5;
  color: #000;
  font-size: 16px;
  font-size: 1rem;
  font-family: 'Surt', Arial, Helvetica, sans-serif; }

.main {
  margin: 0 auto; }

li {
  list-style: none; }

a {
  cursor: pointer;
  outline: none;
  color: #000;
  transition: all 0.3s ease-out; }

a img {
  transition: all 0.3s ease-out; }

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

p {
  line-height: 130%; }

p + p {
  margin-top: 15px; }

/* formularios */
button.btn,
a.btn {
  transition: all 0.3s ease-out;
  border: none;
  font-family: 'Surt', Arial, Helvetica, sans-serif;
  font-size: 25px;
  font-size: 1.5625rem;
  background: none repeat scroll 0 0 #000;
  color: #fff;
  margin: 0;
  padding: 0px 18px;
  border: 3px solid #000;
  display: inline-flex;
  white-space: nowrap;
  align-items: center;
  text-decoration: none;
  -webkit-appearance: none;
  border-radius: 30px;
  outline: none;
  cursor: pointer;
  min-height: 48px;
  justify-content: space-between;
  position: relative; }
  button.btn span,
  a.btn span {
    font-size: 16px; }

.botones {
  display: flex; }
  .botones .btn + .btn {
    margin-left: 10px; }

/* forms */
.input, .submit {
  display: block;
  margin-bottom: 20px;
  position: relative; }
  .input:last-child, .submit:last-child {
    margin-bottom: 0; }
  .input label, .submit label {
    display: block;
    margin-bottom: 8px; }
    .input label span, .submit label span {
      display: block;
      margin-top: 0px;
      margin-bottom: 8px;
      opacity: 0.5;
      font-size: 15px;
      line-height: 120%; }
    .input label i, .submit label i {
      float: right; }
    .input label + p, .submit label + p {
      margin-top: -3px;
      margin-bottom: 8px;
      opacity: 0.5;
      font-size: 15px;
      line-height: 120%; }
      .input label + p i, .submit label + p i {
        color: #666666; }
    .input label.error, .submit label.error {
      margin-top: 8px;
      font-weight: 600;
      color: red;
      font-size: 15px;
      order: 2; }
  .input select, .submit select {
    display: block;
    font-family: 'Surt', Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-size: 1.0625rem;
    letter-spacing: 0.5px;
    color: #444;
    line-height: 1.3;
    padding: 14px 20px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    border: 2px solid transparent;
    box-shadow: none;
    border-radius: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #f7f7f7;
    background-image: url("/img/ico-sort-down.svg");
    background-repeat: no-repeat, repeat;
    background-position: right 18px top 3px, 0 0;
    background-size: 20px auto, 100%; }
    .input select::-ms-expand, .submit select::-ms-expand {
      display: none; }
    .input select:focus, .submit select:focus {
      border-color: #000;
      box-shadow: none;
      color: #222;
      outline: none; }
    .input select option, .submit select option {
      font-weight: normal; }
  .input textarea,
  .input input, .submit textarea,
  .submit input {
    width: 100%;
    border-radius: 0px;
    color: #000;
    border: 2px solid transparent;
    background-color: #f7f7f7;
    padding: 15px 20px;
    font-family: 'Surt', Arial, Helvetica, sans-serif;
    font-size: 17px;
    font-size: 1.0625rem;
    letter-spacing: 0.5px; }
    .input textarea:focus,
    .input input:focus, .submit textarea:focus,
    .submit input:focus {
      border-color: #000;
      outline: none; }
    .input textarea[type=submit],
    .input input[type=submit], .submit textarea[type=submit],
    .submit input[type=submit] {
      -webkit-appearance: none;
      cursor: pointer;
      background-color: #000;
      color: #fff; }
      @media only screen and (min-width: 1030px) {
        .input textarea[type=submit]:hover,
        .input input[type=submit]:hover, .submit textarea[type=submit]:hover,
        .submit input[type=submit]:hover {
          border-color: #000;
          background-color: #000; } }
      .input textarea[type=submit]:active,
      .input input[type=submit]:active, .submit textarea[type=submit]:active,
      .submit input[type=submit]:active {
        border-color: #000;
        background-color: #000; }
  .input div.error-message, .submit div.error-message {
    margin-top: 8px;
    font-weight: 600;
    color: red;
    font-size: 15px; }
  .input > i, .submit > i {
    position: absolute;
    right: 20px;
    bottom: 18px;
    color: #000;
    transform: scale(1.5);
    transition: transform 0.3s ease-out;
    background-color: #f7f7f7;
    padding-left: 6px; }
  .input input:focus + i, .submit input:focus + i {
    transform: scale(0); }
  .input.submit > i, .submit.submit > i {
    background-color: transparent; }
  .input.radio label, .submit.radio label {
    margin-bottom: 0; }
  .input.radio input, .submit.radio input {
    width: auto; }
    .input.radio input:focus, .submit.radio input:focus {
      width: auto;
      margin: 0 4px 0 0;
      padding: 0;
      border: none; }
  .input.checkbox, .submit.checkbox {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    cursor: pointer;
    font-size: 15px;
    user-select: none; }
    .input.checkbox label, .submit.checkbox label {
      width: calc(100% - 54px);
      margin-bottom: 0;
      margin-top: 3px; }
      .input.checkbox label a, .submit.checkbox label a {
        text-decoration: underline; }
    .input.checkbox input, .submit.checkbox input {
      width: 20px;
      cursor: pointer;
      width: auto;
      z-index: 2;
      margin-right: 9px; }
    .input.checkbox p, .submit.checkbox p {
      width: 100%;
      margin-top: 2px;
      margin-bottom: 8px;
      opacity: 0.5;
      font-size: 15px;
      line-height: 120%; }
  .input.radio, .submit.radio {
    display: block;
    position: relative;
    cursor: pointer;
    font-size: 15px;
    user-select: none; }
    .input.radio label, .submit.radio label {
      margin-bottom: 0; }
    .input.radio input, .submit.radio input {
      /* Hide the browser's default checkbox */
      position: absolute;
      opacity: 0;
      cursor: pointer;
      top: 8px;
      right: 7px;
      width: auto;
      z-index: 2; }
      .input.radio input:focus, .submit.radio input:focus {
        margin: 3px 4px 0 0px; }
  .input.time, .submit.time {
    display: flex;
    flex-wrap: wrap;
    line-height: 48px;
    top: -5px; }
    .input.time label, .submit.time label {
      width: 100%;
      margin-bottom: 0;
      line-height: 29px; }
    .input.time select, .submit.time select {
      width: calc(50% - 8px);
      margin-right: 4px; }
      .input.time select:last-child, .submit.time select:last-child {
        margin-right: 0;
        margin-left: 4px; }
  .input.date input, .submit.date input {
    padding: 12px 20px; }

.submit {
  margin-bottom: 0; }
  .submit label {
    margin-bottom: 15px; }
  .submit input[type=submit] {
    transition: all 0.3s ease-out;
    font-size: 14px;
    font-size: 0.875rem;
    background: none repeat scroll 0 0 #000;
    color: #000;
    display: inline-block;
    margin: 0;
    text-decoration: none;
    border-radius: 0px;
    outline: none;
    cursor: pointer;
    padding: 0px 18px;
    border: 3px solid #000;
    display: flex;
    white-space: nowrap;
    align-items: center;
    -webkit-appearance: none;
    border-radius: 30px;
    min-height: 48px; }
    @media only screen and (min-width: 1030px) {
      .submit input[type=submit]:hover {
        background-color: #fff;
        border: 3px solid #000; } }
  .submit > i {
    bottom: 14px;
    color: #000; }

.doble {
  display: flex; }
  .doble .input {
    width: 100%;
    margin-right: 10px; }
    .doble .input > i {
      bottom: 19px; }
    .doble .input:last-child {
      margin-right: 0;
      margin-bottom: 15px; }
  @media only screen and (max-width: 560px) {
    .doble {
      display: block; }
      .doble input {
        margin-right: 0; } }
/* menu */
.show-menu {
  display: none;
  position: fixed;
  z-index: 9998;
  left: 41px;
  top: 28px;
  flex-direction: column;
  justify-content: space-between;
  width: 56px;
  height: 56px;
  padding: 20px 18px 19px; }
  @media only screen and (max-width: 1030px) {
    .show-menu {
      display: flex;
      left: 15px;
      top: 10px; } }
  @media only screen and (max-width: 560px) {
    .show-menu {
      display: flex;
      left: auto;
      right: 0px;
      top: 0px; } }
  .show-menu em {
    position: absolute;
    clip: rect(1px 1px 1px 1px);
    /* for Internet Explorer */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0;
    border: 0;
    height: 1px;
    width: 1px;
    overflow: hidden; }
  .show-menu i {
    transition: all 0.3s ease-out;
    width: 100%;
    height: 3px;
    display: inline-block;
    background-color: #262E95;
    position: relative; }
  .show-menu.open i {
    background-color: #FFBFCF; }
    .show-menu.open i:nth-child(2) {
      bottom: -7px;
      transform: rotate(45deg); }
    .show-menu.open i:nth-child(3) {
      transform: scale(0); }
    .show-menu.open i:nth-child(4) {
      top: -7px;
      transform: rotate(-45deg); }

/* --------- */
.main {
  margin: 0 auto; }

header {
  position: fixed;
  z-index: 10;
  right: 0;
  top: 0;
  height: 120px;
  width: 160px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  transition: all 0.3s ease-out; }
  @media only screen and (max-width: 560px) {
    header {
      left: 0;
      top: 0;
      width: 100%;
      height: 56px;
      position: static;
      background-color: #FFBFCF;
      padding: 20px; } }
  body.menu-open header {
    height: 100vh;
    width: 100vw;
    background-color: rgba(38, 46, 149, 0.9); }
  header .header-box {
    padding: 30px; }
    @media only screen and (max-width: 560px) {
      header .header-box {
        padding: 0; } }
  header .logo {
    width: 100px;
    margin: 0 0 0 auto; }
    @media only screen and (max-width: 560px) {
      header .logo {
        position: absolute;
        left: 20px;
        top: 16px;
        width: 40px; } }
    header .logo a {
      position: relative;
      display: inline-block; }
      @media only screen and (max-width: 560px) {
        header .logo a {
          pointer-events: none; } }
      header .logo a #logo {
        width: 100px;
        height: auto; }
        @media only screen and (max-width: 560px) {
          header .logo a #logo {
            width: 40px; } }
        header .logo a #logo .st0 {
          fill: #262E95; }
      body.menu-open header .logo a #logo .st0 {
        fill: #FFBFCF; }
  header .menu {
    margin-top: 31px;
    text-align: right; }
    @media only screen and (max-width: 560px) {
      header .menu {
        margin-top: 40px; } }
    header .menu ul li + li {
      margin-top: 10px; }
    header .menu ul li a {
      display: block;
      color: #fff;
      text-decoration: none;
      font-size: 24px; }
      @media only screen and (min-width: 1030px) {
        header .menu ul li a:hover {
          color: #FFBFCF; } }
  header .idiomas {
    margin-top: 30px; }
    header .idiomas ul {
      display: flex;
      justify-content: flex-end; }
      header .idiomas ul li + li {
        margin-left: 5px; }
      header .idiomas ul li a {
        border-radius: 20px;
        padding: 5px 7px;
        font-size: 12px;
        color: #fff;
        text-decoration: none; }
        @media only screen and (min-width: 1030px) {
          header .idiomas ul li a:hover {
            background-color: #fff;
            color: #262E95; } }
      header .idiomas ul li.active a {
        background-color: #FFBFCF;
        color: #262E95; }
  header .close-menu {
    position: absolute;
    top: 30px;
    right: 200px;
    width: 60px;
    height: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    @media only screen and (max-width: 560px) {
      header .close-menu {
        display: none; } }
    header .close-menu i {
      display: block;
      width: 60px;
      height: 2px;
      background-color: #FFBFCF; }
      header .close-menu i:first-child {
        transform: rotate(45deg) translateY(1px); }
      header .close-menu i:last-child {
        transform: rotate(-45deg) translateY(-1px); }
    @media only screen and (min-width: 1030px) {
      header .close-menu:hover {
        transform: scale(0.8); } }
@keyframes show {
  100% {
    opacity: 1;
    transform: translateY(0px); } }

@keyframes hide {
  100% {
    opacity: 0;
    transform: translateY(-20px); } }

*:not(:first-child).effect {
  opacity: 0;
  transform: translateY(50px); }
  *:not(:first-child).effect.visible {
    animation: show 0.6s ease-out 0.3s 1 forwards; }
  *:not(:first-child).effect:nth-child(2n).visible {
    animation: show 0.6s ease-out 0.6s 1 forwards; }
  *:not(:first-child).effect:nth-child(3n).visible {
    animation: show 0.6s ease-out 0.9s 1 forwards; }
  *:not(:first-child).effect:nth-child(4n).visible {
    animation: show 0.6s ease-out 1.2s 1 forwards; }

@keyframes spin {
  100% {
    transform: rotate(359deg); } }

@keyframes hide {
  100% {
    height: 0; } }

.loading {
  height: calc(100vh + 1px);
  background-color: #FFBFCF;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  animation: hide 0.3s ease-out 3s 1 forwards; }
  .loading span {
    display: block;
    position: relative;
    width: 40px;
    height: 40px;
    border: 4px solid #262E95;
    border-radius: 40px; }
    .loading span i {
      display: block;
      width: 44px;
      height: 4px;
      background-color: #FFBFCF;
      position: absolute;
      z-index: 2;
      left: -6px;
      top: 14px;
      animation: spin 1s ease-out 0s infinite; }

.gallery article {
  position: relative;
  overflow: hidden; }
  .gallery article .film {
    display: block;
    background-color: #fff;
    transition: all 0.5s ease-out;
    height: 100%; }
    .gallery article .film .txt {
      position: absolute;
      opacity: 0;
      transform: translateY(-20px);
      z-index: 1;
      bottom: 40px;
      left: 40px;
      color: #FFBFCF; }
      @media only screen and (max-width: 1030px) {
        .gallery article .film .txt {
          bottom: 30px;
          left: 30px; } }
      .gallery article .film .txt .title {
        display: block;
        font-family: 'Surt Extra', Arial, Helvetica, sans-serif;
        font-size: 2.4vw; }
        @media only screen and (max-width: 560px) {
          .gallery article .film .txt .title {
            font-size: 20px; } }
      .gallery article .film .txt .subtitle {
        display: block;
        margin-top: 10px;
        font-size: 1.4vw; }
        @media only screen and (max-width: 560px) {
          .gallery article .film .txt .subtitle {
            font-size: 12px; } }
    .gallery article .film .image {
      opacity: 1; }
      .gallery article .film .image img {
        display: block;
        object-fit: cover;
        width: 100%;
        min-height: 100%;
        transition: all 0.6s ease-out;
        mix-blend-mode: multiply;
        transform: scale(1.02); }
    .gallery article .film .video {
      opacity: 0;
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }
      .gallery article .film .video video {
        display: block;
        object-fit: cover;
        width: 100%;
        min-height: 100%;
        transition: all 0.6s ease-out;
        transform: scale(1.02); }
        .gallery article .film .video video.mobile {
          display: none; }
          @media only screen and (max-width: 560px) {
            .gallery article .film .video video.mobile {
              display: block; } }
        @media only screen and (max-width: 560px) {
          .gallery article .film .video video:not(.mobile) {
            display: none; } }
  @media only screen and (min-width: 1030px) {
    .gallery article a.film:hover {
      background-color: #262E95; }
      .gallery article a.film:hover .txt {
        animation: show 1s ease-out 0s 1 forwards; }
      .gallery article a.film:hover .image {
        opacity: 0; }
        .gallery article a.film:hover .image img {
          opacity: 0; }
      .gallery article a.film:hover .video {
        opacity: 1; }
        .gallery article a.film:hover .video video {
          filter: grayscale(100%);
          transform: scale(1.12);
          opacity: 0.6; } }
.cabecera h2 {
  font-size: 7.5vw;
  font-weight: 200;
  color: #262E95;
  padding: 20px; }

.goback {
  position: absolute;
  left: 30px;
  top: 20px;
  z-index: 2; }
  .goback #flecha {
    transform: rotate(180deg);
    width: 100px; }
    .goback #flecha .fill {
      fill: #262E95;
      stroke: #262E95;
      transition: all 0.3s ease-out; }
    @media only screen and (min-width: 1030px) {
      .goback #flecha:hover .fill {
        fill: #FFBFCF;
        stroke: #FFBFCF; } }
  body.scrolling_down .goback {
    opacity: 0; }
  body.scrolling_up .goback {
    position: fixed;
    opacity: 1; }

.play span {
  display: inline-block;
  border-radius: 100%;
  width: 60px;
  height: 60px;
  border: 3px solid #FFBFCF;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease-out; }
  .play span:after {
    content: "";
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-width: 13px 18px;
    border-left-color: #FFBFCF;
    position: absolute;
    top: 14px;
    left: 21px;
    transition: all 0.3s ease-out; }
  .play span:before {
    content: "";
    width: 0;
    height: 0;
    border: 10px solid transparent;
    border-width: 13px 18px;
    border-left-color: #FFBFCF;
    position: absolute;
    top: 14px;
    left: -21px;
    transition: all 0.3s ease-out; }

@media only screen and (min-width: 1030px) {
  .play:hover span {
    background-color: #FFBFCF; }
    .play:hover span:after {
      left: 81px; }
    .play:hover span:before {
      border-left-color: #262E95;
      left: 21px; } }

.selector {
  padding: 60px 30px 25px; }
  .selector ul {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    width: 100%;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center; }
    .selector ul li {
      margin: 5px 15px 10px; }
      .selector ul li a {
        text-decoration: none;
        color: grey;
        font-size: 20px; }
        @media only screen and (min-width: 1030px) {
          .selector ul li a:hover {
            color: #262E95; } }
        .selector ul li a.active {
          color: #262E95; }

.gallery.alterna {
  display: grid;
  grid-template-columns: 33.333% 33.333% 33.333%; }
  @media only screen and (max-width: 1030px) {
    .gallery.alterna {
      grid-template-columns: 50% 50%; } }
  @media only screen and (max-width: 560px) {
    .gallery.alterna {
      display: block; } }
  .gallery.alterna article:first-child {
    grid-column-start: span 3;
    grid-row-start: span 2; }
    .gallery.alterna article:first-child .film .txt {
      opacity: 1;
      transform: translateY(0px); }
      .gallery.alterna article:first-child .film .txt .title {
        font-family: 'Surt', Arial, Helvetica, sans-serif;
        font-size: 9.5vw;
        line-height: 90%;
        word-spacing: 100vw; }
        @media only screen and (max-width: 560px) {
          .gallery.alterna article:first-child .film .txt .title {
            font-size: 40px; } }
      .gallery.alterna article:first-child .film .txt .subtitle {
        display: none; }
    .gallery.alterna article:first-child .film .video {
      opacity: 1; }
    .gallery.alterna article:first-child .film .image {
      opacity: 0;
      visibility: hidden; }
    @media only screen and (min-width: 1030px) {
      .gallery.alterna article:first-child .film:hover .video video {
        filter: grayscale(0%);
        transform: scale(1.12);
        mix-blend-mode: normal;
        opacity: 1; } }
  @media only screen and (max-width: 1030px) {
    .gallery.alterna article:nth-child(2) {
      grid-column-start: span 1;
      grid-row-start: span 1; } }
  .gallery.alterna article:nth-child(3) {
    grid-column-start: span 2;
    grid-row-start: span 2; }
    @media only screen and (max-width: 1030px) {
      .gallery.alterna article:nth-child(3) {
        grid-column-start: span 1;
        grid-row-start: span 1; } }
  .gallery.alterna article:nth-child(4) a {
    background-color: #FFBFCF; }
    .gallery.alterna article:nth-child(4) a .txt {
      opacity: 1;
      transform: translateY(0px);
      color: #fff; }
    .gallery.alterna article:nth-child(4) a .image img {
      filter: grayscale(100%);
      opacity: 1; }
    @media only screen and (min-width: 1030px) {
      .gallery.alterna article:nth-child(4) a:hover .image img {
        opacity: 0; } }
  .gallery.alterna article:nth-child(5) {
    grid-column-start: span 2;
    grid-row-start: span 2; }
  .gallery.alterna article:nth-child(6) a {
    background-color: #FFBFCF; }
    .gallery.alterna article:nth-child(6) a .txt {
      color: #262E95; }
  .gallery.alterna article:nth-child(9) {
    grid-column-start: span 2;
    grid-row-start: span 2; }
  .gallery.alterna article:nth-child(11) {
    grid-column-start: span 2;
    grid-row-start: span 2; }
  .gallery.alterna article:last-child {
    min-height: 150px;
    background: url("/img/logotipo.svg") no-repeat 40px center #FFBFCF;
    background-size: auto calc(100% - 60px); }
    @media only screen and (max-width: 560px) {
      .gallery.alterna article:last-child {
        display: none; } }
.directors .gallery {
  display: block; }
  .directors .gallery article {
    height: 33vw; }
    .directors .gallery article .txt {
      opacity: 1;
      bottom: auto;
      top: 45px;
      transform: translateY(0px); }
      .directors .gallery article .txt .title {
        font-size: 7.5vw;
        line-height: 90%;
        word-spacing: 100vw;
        font-family: 'Surt', Arial, Helvetica, sans-serif;
        font-weight: 200; }
    @media only screen and (min-width: 1030px) {
      .directors .gallery article:nth-child(2n) a:hover {
        background-color: #FFBFCF; } }
    .directors .gallery article:nth-child(2n) a .txt {
      color: #262E95; }

.director article .film .play {
  position: absolute;
  z-index: 2;
  right: calc(50% - 30px);
  bottom: calc(50% - 30px);
  opacity: 0; }

.director article:first-child .film .play {
  opacity: 1;
  position: absolute;
  z-index: 2;
  right: 30px;
  bottom: 30px; }

@media only screen and (min-width: 1030px) {
  .director article a.film:hover .play {
    opacity: 1; } }

footer {
  display: grid;
  grid-template-columns: 33.333% 33.333% 33.333%; }
  @media only screen and (max-width: 560px) {
    footer {
      display: block; } }
  footer section {
    display: flex;
    flex-direction: column;
    justify-content: flex-end; }
    footer section .text {
      padding: 40px; }
      footer section .text .title {
        font-family: 'Surt Extra', Arial, Helvetica, sans-serif;
        font-size: 26px;
        margin-bottom: 10px; }
      footer section .text p {
        font-family: 'Surt Extra', Arial, Helvetica, sans-serif;
        text-transform: uppercase;
        font-size: 14px;
        color: #999999; }
        footer section .text p:after {
          content: "";
          display: block;
          width: 20px;
          height: 3px;
          background-color: #999999;
          margin-top: 10px;
          margin-bottom: 15px; }
    footer section.social {
      background-color: #4d4d4d;
      color: #e6e6e6; }
      footer section.social.effect {
        opacity: 0;
        transform: translateY(50px); }
        footer section.social.effect.visible {
          animation: show 0.6s ease-out 0.3s 1 forwards; }
      footer section.social ul {
        display: flex; }
        footer section.social ul li a {
          color: #e6e6e6;
          text-decoration: none; }
          @media only screen and (min-width: 1030px) {
            footer section.social ul li a:hover {
              color: gray; } }
        footer section.social ul li + li {
          margin-left: 10px;
          padding-left: 10px;
          border-left: 2px solid #e6e6e6; }
    footer section.newsletter {
      background-color: #e6e6e6;
      color: #4d4d4d;
      grid-column-start: span 2;
      grid-row-start: span 2;
      min-height: 30vw; }
      footer section.newsletter .text button {
        cursor: pointer;
        margin-top: 10px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border: 2px solid #4d4d4d;
        color: #4d4d4d;
        background-color: transparent;
        border-radius: 30px;
        padding: 10px 15px;
        width: 100%;
        font-size: 16px;
        transition: background-color 0.3s ease-out; }
        @media only screen and (min-width: 1030px) {
          footer section.newsletter .text button:hover {
            background-color: rgba(0, 0, 0, 0.1); } }
        footer section.newsletter .text button #flecha {
          height: 20px; }
          footer section.newsletter .text button #flecha .fill {
            fill: #4d4d4d;
            stroke: #4d4d4d; }
    footer section.copy {
      color: #999999; }
    footer section.links {
      min-height: 18vw; }
      footer section.links .text ul li + li {
        margin-top: 5px; }
      footer section.links .text ul li a {
        text-decoration: none;
        color: #999999;
        font-size: 12px; }
        @media only screen and (min-width: 1030px) {
          footer section.links .text ul li a:hover {
            color: #000; } }
    footer section.partners {
      min-height: 18vw;
      grid-column-start: span 2;
      grid-row-start: span 2; }
      footer section.partners .images {
        display: flex; }
        footer section.partners .images a {
          display: block;
          display: flex;
          align-items: center;
          justify-content: center; }
          footer section.partners .images a img {
            display: block;
            filter: grayscale(100%);
            max-height: 80px;
            opacity: 0.5;
            max-width: 70px;
            object-fit: content;
            transition: all 0.3s ease-out; }
            @media only screen and (max-width: 560px) {
              footer section.partners .images a img {
                max-height: 40px;
                max-width: 35px; } }
          footer section.partners .images a + a {
            margin-left: 30px; }
          @media only screen and (min-width: 1030px) {
            footer section.partners .images a:hover img {
              filter: grayscale(0%);
              opacity: 1; } }
  body.home footer section.social {
    color: #9DD8D3;
    background-color: #01A79C; }
    body.home footer section.social ul {
      display: flex; }
      body.home footer section.social ul li a {
        color: #9DD8D3; }
        @media only screen and (min-width: 1030px) {
          body.home footer section.social ul li a:hover {
            color: #79c9c3; } }
      body.home footer section.social ul li + li {
        border-left-color: #9DD8D3; }
  body.home footer section.newsletter {
    color: #01A79C;
    background-color: #9DD8D3; }
    body.home footer section.newsletter .text button {
      border: 2px solid #01A79C;
      color: #01A79C; }
      body.home footer section.newsletter .text button #flecha .fill {
        fill: #01A79C;
        stroke: #01A79C; }

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