html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
header, nav, article, aside, footer, section, origen, tablero, main, mapa, video, object, embed, slide, figure, figcaption, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline; }

/* remember to define focus styles! */
:focus {
  outline: 0; }

header, nav, article, aside, footer, div, section, origen, tablero, main, mapa, video, object, embed, slide, figure, figcaption {
  display: block; }

body div table object {
  margin: auto; }

body {
  line-height: 1;
  color: black;
  background: white;
  overflow-x: hidden; }

ol, ul {
  list-style: none; }

/* tables still need 'cellspacing="0"' in the markup  in the markupin the markupin the markup in the markupin the markup */
table {
  border-collapse: separate;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: ""; }

blockquote, q {
  quotes: "" ""; }

/* floatFix */
* + html .floatFix, * + html ul {
  display: inline-block; }

* + html .floatFix, * + html ul {
  display: block; }

* html .floatFix, * html ul {
  height: 1%; }

.floatFix:after, ul:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.carousel {
  position: relative;
  margin: 0 auto; }

.contenedor {
  width: 100%;
  overflow: hidden;
  position: relative; }

#testimoniales {
  position: relative;
  top: 0;
  left: 0;
  -webkit-transition-timing-function: linear;
  -o-transition-timing-function: linear;
  transition-timing-function: linear; }
  #testimoniales li {
    text-align: center; }

.tarjeta {
  min-height: 300px;
  cursor: pointer;
  float: left;
  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; }
  .tarjeta:last-child {
    margin-right: 0; }

#prev, #next {
  cursor: pointer;
  position: absolute;
  bottom: -40px;
  font-size: 14pt; }

#prev {
  left: 0; }

#next {
  right: 0; }

.transition {
  -webkit-transition: .5s ease;
  -o-transition: .5s ease;
  transition: .5s ease; }

body {
  font-family: 'Raleway', sans-serif;
  font-weight: 300; }
  body * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /*transition: all 0.5s ease;*/ }
  body.menu-expandido header, body.menu-expandido main {
    width: calc(100% - 120px);
    float: right; }
  body.menu-expandido .menu {
    left: 0;
    background: #777;
    height: 100vh;
    width: 120px;
    position: fixed; }
    body.menu-expandido .menu nav .icon-menu {
      left: 32px; }
    body.menu-expandido .menu nav .desplegable {
      left: 17px;
      width: 80px; }

a {
  text-decoration: none;
  color: #000; }

::-moz-selection {
  background: #e73c7e;
  color: #fff; }

::selection {
  background: #e73c7e;
  color: #fff; }

/*header*/
@-webkit-keyframes largo-uno {
  0% {
    width: 20px; }
  50% {
    width: 50px; }
  100% {
    width: 20px; } }
@keyframes largo-uno {
  0% {
    width: 20px; }
  50% {
    width: 50px; }
  100% {
    width: 20px; } }

@-webkit-keyframes largo-dos {
  0% {
    width: 10px; }
  50% {
    width: 30px; }
  100% {
    width: 10px; } }

@keyframes largo-dos {
  0% {
    width: 10px; }
  50% {
    width: 30px; }
  100% {
    width: 10px; } }

header, main {
  width: 100%;
  float: right; }

main > section {
  -webkit-transition: width 0.5s, height 1s;
  -o-transition: width 0.5s, height 1s;
  transition: width 0.5s, height 1s; }

header {
  -webkit-transition: width 0.5s, height 0.3s;
  -o-transition: width 0.5s, height 0.3s;
  transition: width 0.5s, height 0.3s;
  margin: 0;
  width: 100%;
  height: 100vh;
  color: #fff;
  background: -webkit-linear-gradient(135deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
  background: -o-linear-gradient(135deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
  background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
  background-size: 400% 400%;
  position: relative; }
  header.animacion {
    -webkit-animation: gradientBG 10s ease infinite;
    animation: gradientBG 10s ease infinite; }
  header .logo {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: url("../imgs/logo-filomena-blanco.svg") no-repeat;
    background-size: cover;
    width: 700px;
    height: 287px; }
  header .menu {
    width: 0;
    -webkit-transition: width 0.5s, height 0.5s;
    -o-transition: width 0.5s, height 0.5s;
    transition: width 0.5s, height 0.5s; }
    header .menu nav {
      padding-top: 50px;
      text-align: center; }
      header .menu nav.expandida .desplegable {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0); }
      header .menu nav .icon-menu {
        position: fixed;
        left: 32px;
        height: 50px;
        width: 50px;
        background: transparent;
        z-index: 4000; }
        header .menu nav .icon-menu:before, header .menu nav .icon-menu:after {
          content: "";
          display: block;
          background: #fff;
          width: 50px;
          height: 2px;
          -webkit-transition: -webkit-transform .8s ease-in-out;
          transition: -webkit-transform .8s ease-in-out;
          -o-transition: transform .8s ease-in-out;
          transition: transform .8s ease-in-out;
          transition: transform .8s ease-in-out, -webkit-transform .8s ease-in-out; }
        header .menu nav .icon-menu:hover {
          cursor: pointer; }
        header .menu nav .icon-menu:not(.expandido):before, header .menu nav .icon-menu:not(.expandido):after {
          -webkit-box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.3);
          -moz-box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.3);
          box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.3); }
        header .menu nav .icon-menu:not(.expandido):before, header .menu nav .icon-menu:not(.expandido):after {
          -webkit-transition: -webkit-transform .3s ease;
          transition: -webkit-transform .3s ease;
          -o-transition: transform .3s ease;
          transition: transform .3s ease;
          transition: transform .3s ease, -webkit-transform .3s ease; }
        header .menu nav .icon-menu:not(.expandido):before {
          width: 50px;
          margin-bottom: 10px;
          -webkit-animation: none;
          animation: none; }
        header .menu nav .icon-menu:not(.expandido):after {
          width: 30px;
          -webkit-animation: none;
          animation: none; }
        header .menu nav .icon-menu:not(.expandido):hover:before {
          -webkit-animation: largo-uno ease 3s infinite;
          animation: largo-uno ease 3s infinite; }
        header .menu nav .icon-menu:not(.expandido):hover:after {
          -webkit-animation: largo-dos ease 2s infinite;
          animation: largo-dos ease 2s infinite; }
        header .menu nav .icon-menu.expandido:before, header .menu nav .icon-menu.expandido:after {
          position: absolute; }
        header .menu nav .icon-menu.expandido:before {
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          margin-bottom: 10px; }
        header .menu nav .icon-menu.expandido:after {
          -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          transform: rotate(-45deg); }
      header .menu nav .desplegable {
        position: absolute;
        overflow: hidden;
        width: 0;
        top: 120px;
        left: 0;
        height: 100vh;
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
        text-align: center;
        -webkit-transition: width 0.1s linear;
        -o-transition: width 0.1s linear;
        transition: width 0.1s linear; }
        header .menu nav .desplegable a {
          color: #fff;
          font-weight: 300;
          font-size: 15px;
          display: block;
          position: relative;
          text-align: center;
          height: 30px;
          overflow: hidden;
          margin-bottom: 20px; }
          header .menu nav .desplegable a .borde-1,
          header .menu nav .desplegable a .borde-2 {
            stroke-dasharray: 500;
            stroke-width: 3px;
            fill: transparent;
            stroke: #fff;
            border-bottom: 2px solid black;
            -webkit-transition-timing-function: linear;
            -o-transition-timing-function: linear;
            transition-timing-function: linear;
            -webkit-transition: stroke-dashoffset ease 1s, stroke-dasharray ease 1s;
            -o-transition: stroke-dashoffset ease 1s, stroke-dasharray ease 1s;
            transition: stroke-dashoffset ease 1s, stroke-dasharray ease 1s; }
          header .menu nav .desplegable a .borde-1 {
            stroke-dashoffset: 500; }
          header .menu nav .desplegable a .borde-2 {
            stroke-dashoffset: -500; }
          header .menu nav .desplegable a.dos-lineas {
            height: 50px; }
            header .menu nav .desplegable a.dos-lineas .text {
              top: -47px; }
          header .menu nav .desplegable a .text {
            line-height: 1.3em;
            display: block;
            top: -27px;
            position: relative;
            text-align: center; }
        header .menu nav .desplegable .mail {
          display: block;
          height: 50px;
          width: 50px;
          display: block;
          background: url("../imgs/icono-mail.svg") no-repeat;
          margin: 30px auto 10px;
          cursor: pointer; }
        header .menu nav .desplegable .nota {
          display: none;
          font-size: 15px;
          font-family: 'Caveat', cursive;
          margin-bottom: 10px; }
        header .menu nav .desplegable .ig {
          height: 50px;
          width: 50px;
          display: block;
          margin: auto;
          background: url("../imgs/icono-ig.svg") no-repeat; }
        header .menu nav .desplegable .iso {
          display: none; }

@-webkit-keyframes gradientBG {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

@keyframes gradientBG {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

.apertura {
  max-width: 1060px;
  width: calc(100% - 180px);
  height: 100vh;
  background: url("../imgs/apertura-ejemplo.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  margin: 50px auto; }
  .apertura p {
    padding: 350px 50px 50px 50px;
    max-width: 780px;
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 43px;
    color: #fff; }
    .apertura p span {
      background: -webkit-linear-gradient(135deg, #e73c7e, #23a6d5);
      background: -o-linear-gradient(135deg, #e73c7e, #23a6d5);
      background: linear-gradient(-45deg, #e73c7e, #23a6d5);
      background-size: 400% 400%;
      -webkit-animation: gradientBG 10s ease infinite;
      animation: gradientBG 10s ease infinite; }
  .apertura.visible p span {
    -webkit-animation: gradientBG 10s ease infinite;
    animation: gradientBG 10s ease infinite; }

.trabajos {
  margin-bottom: 50px; }
  .trabajos h2 {
    max-width: 1060px;
    width: calc(100% - 180px); }
  .trabajos > div {
    text-align: center; }
  .trabajos ul li {
    width: 25%;
    padding-top: 25%;
    float: left;
    overflow: hidden;
    position: relative; }
    .trabajos ul li img {
      position: absolute;
      height: 100%;
      top: 0;
      left: 50%;
      top: 50%;
      -webkit-transform: translateY(-50%) translateX(-50%);
      -ms-transform: translateY(-50%) translateX(-50%);
      transform: translateY(-50%) translateX(-50%);
      z-index: 1; }
    .trabajos ul li .trabajo {
      height: 0;
      width: 0;
      overflow: hidden; }

.servicios {
  max-width: 1060px;
  width: calc(100% - 180px);
  margin: 50px auto; }
  .servicios > div {
    display: inline-block;
    vertical-align: top;
    width: calc((100% - 50px)/3);
    padding: 0 40px; }
    .servicios > div:nth-of-type(3n) {
      margin-right: 0;
      border-right: 0; }
    .servicios > div:not(:nth-of-type(3n)):not(:first-child) {
      margin-right: 20px;
      border-right: 1px solid #dadada; }
    .servicios > div h3:before {
      content: '';
      margin: 0 10px 20px 0;
      display: block;
      width: 70px;
      height: 70px; }
    .servicios > div.branding h3:before {
      background: url("../imgs/icono-creativity.svg") no-repeat;
      background-size: cover; }
    .servicios > div.web h3:before {
      background: url("../imgs/icono-responsive.svg") no-repeat;
      background-size: cover; }
    .servicios > div.otros h3:before {
      background: url("../imgs/icono-otros-servicios.svg") no-repeat;
      background-size: cover; }
    .servicios > div ul li {
      margin-bottom: 10px;
      position: relative;
      font-weight: 400;
      color: #555; }
      .servicios > div ul li:before {
        content: '';
        margin-right: 10px;
        display: inline-block;
        width: 0px;
        height: 0px;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 6px solid #23a6d5;
        position: relative;
        top: -2px; }

h3 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 30px;
  color: #555; }

h2 {
  max-width: 1060px;
  margin: 200px auto 60px;
  font-size: 160px;
  line-height: 0.8em;
  font-weight: 700;
  color: #555;
  letter-spacing: -3px;
  background: -webkit-linear-gradient(135deg, #e73c7e, #23a6d5);
  background: -o-linear-gradient(135deg, #e73c7e, #23a6d5);
  background: linear-gradient(-45deg, #e73c7e, #23a6d5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }
  h2.scroll {
    -webkit-transition-delay: .15s;
    -o-transition-delay: .15s;
    transition-delay: .15s;
    will-change: transform;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
    -webkit-transition: -webkit-transform 1s cubic-bezier(0.4, 0, 0, 1);
    transition: -webkit-transform 1s cubic-bezier(0.4, 0, 0, 1);
    -o-transition: transform 1s cubic-bezier(0.4, 0, 0, 1);
    transition: transform 1s cubic-bezier(0.4, 0, 0, 1);
    transition: transform 1s cubic-bezier(0.4, 0, 0, 1), -webkit-transform 1s cubic-bezier(0.4, 0, 0, 1); }
  h2.visible {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; }
  .nosotros h2 {
    line-height: inherit; }

.proyecto {
  height: 100vh;
  background: url("../imgs/proyecto-cartulina.jpg") no-repeat;
  background-size: cover;
  background-attachment: fixed;
  margin: 100px auto;
  position: relative; }
  .proyecto p {
    text-align: center;
    margin: auto;
    padding: 250px 50px 50px;
    max-width: 780px;
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 43px;
    color: #fff; }

.nosotros {
  max-width: 1060px;
  width: calc(100% - 180px);
  margin: 100px auto; }
  .nosotros ul li {
    width: 33.33%;
    float: left;
    overflow: hidden;
    position: relative;
    border: 1px solid #fff; }
    .nosotros ul li:before {
      content: '';
      display: block;
      width: 100%;
      padding-top: 100%;
      background-size: cover !important;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1; }
  .nosotros ul .imagen {
    position: relative;
    z-index: 3;
    width: 100%;
    padding-top: 100%;
    background-size: cover !important;
    -webkit-transition: none;
    -o-transition: none;
    transition: none; }
  .nosotros ul .descripcion {
    padding: 20px; }
    .nosotros ul .descripcion h4 {
      display: inline-block;
      font-size: 15px;
      font-weight: 700;
      margin: 0 6px 10px 0; }
    .nosotros ul .descripcion .linkedin {
      display: inline-block;
      width: 20px;
      height: 20px;
      background: url("../imgs/icono-in.svg") no-repeat;
      background-size: cover;
      position: relative;
      top: 4px; }
    .nosotros ul .descripcion .corazon {
      display: inline-block;
      width: 20px;
      height: 20px;
      background: url("../imgs/icono-corazon.svg") no-repeat;
      background-size: cover;
      position: relative;
      top: 4px; }
    .nosotros ul .descripcion p {
      font-size: 15px;
      line-height: 25px; }
    .nosotros ul .descripcion hr {
      border: 0;
      border-top: 2px solid #dadada;
      width: 20%;
      margin: 0 0 10px; }
  .nosotros ul .marian:before {
    background-image: url("../imgs/marian.jpg"); }
  .nosotros ul .marian .imagen {
    background-image: url("../imgs/marian.jpg"); }
  .nosotros ul .andres:before {
    background-image: url("../imgs/andres.jpg"); }
  .nosotros ul .andres .imagen {
    background-image: url("../imgs/andres.jpg"); }
  .nosotros ul .lilo:before {
    background-image: url("../imgs/lilo.jpg"); }
  .nosotros ul .lilo .imagen {
    background-image: url("../imgs/lilo.jpg"); }

/*flecha*/
.visible .flecha {
  display: block;
  margin: auto;
  text-align: center;
  font-size: 20px;
  text-decoration: none;
  text-shadow: 0;
  width: 26px;
  height: 26px;
  border-bottom: 5px solid #fff;
  border-right: 5px solid #fff;
  z-index: 9;
  -webkit-transform: translate(-50%, 0%) rotate(45deg);
  -moz-transform: translate(-50%, 0%) rotate(45deg);
  -ms-transform: translate(-50%, 0%) rotate(45deg);
  transform: translate(-50%, 0%) rotate(45deg);
  -webkit-animation: fade_move_down 2s ease-in-out infinite;
  -moz-animation: fade_move_down 2s ease-in-out infinite;
  animation: fade_move_down 2s ease-in-out infinite; }

/*animacion flecha*/
@-webkit-keyframes fade_move_down {
  0% {
    -webkit-transform: translate(0, -40px) rotate(45deg);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: translate(0, 40px) rotate(45deg);
    opacity: 0; } }

@-moz-keyframes fade_move_down {
  0% {
    -moz-transform: translate(0, -40px) rotate(45deg);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -moz-transform: translate(0, 40px) rotate(45deg);
    opacity: 0; } }

@keyframes fade_move_down {
  0% {
    -webkit-transform: translate(0, -40px) rotate(45deg);
    transform: translate(0, -40px) rotate(45deg);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: translate(0, 40px) rotate(45deg);
    transform: translate(0, 40px) rotate(45deg);
    opacity: 0; } }

/*clientes*/
.clientes {
  max-width: 1060px;
  width: calc(100% - 180px);
  margin: 100px auto 200px; }
  .clientes ul {
    margin-top: 50px; }
    .clientes ul li {
      position: relative;
      display: inline-block;
      vertical-align: top; }
      .clientes ul li:before {
        content: "";
        background: url("../imgs/icono-comillas.svg") no-repeat;
        display: inline-block;
        position: absolute;
        top: -25px;
        left: 0;
        right: 0;
        margin: auto;
        width: 62px;
        height: 50px;
        z-index: 2; }
      .clientes ul li .msj {
        line-height: 1.5em;
        background: #eaedf2;
        min-height: 306px;
        position: relative;
        padding: 50px 30px 40px;
        display: table; }
        .clientes ul li .msj span {
          display: table-cell;
          vertical-align: middle; }
      .clientes ul li .firma {
        padding-top: 20px;
        margin: auto;
        font-style: italic;
        font-weight: 400;
        text-align: center;
        line-height: 1.2em; }

/*contacto*/
.contacto {
  max-width: 1060px;
  width: calc(100% - 180px);
  margin: 100px auto; }
  .contacto a {
    text-align: center;
    display: inline-block;
    margin: auto;
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 30px;
    margin-bottom: 30px;
    color: #23a6d5;
    position: relative;
    margin-left: 55px;
    cursor: pointer; }
    .contacto a:before {
      content: "";
      display: inline-block;
      position: absolute;
      top: -8px;
      left: -55px;
      right: 0;
      margin-right: 20px;
      width: 40px;
      height: 40px; }
    .contacto a.ig:before {
      background: url("../imgs/icono-ig-cian.svg") no-repeat;
      display: inline-block; }
    .contacto a.mail:before {
      background: url("../imgs/icono-mail-cian.svg") no-repeat; }
    .contacto a:after {
      background: none repeat scroll 0 0 transparent;
      bottom: -5px;
      content: "";
      display: block;
      height: 2px;
      left: 50%;
      position: absolute;
      background: #23a6d5;
      -webkit-transition: width 0.5s ease 0s, left 0.5s ease 0s;
      -o-transition: width 0.5s ease 0s, left 0.5s ease 0s;
      transition: width 0.5s ease 0s, left 0.5s ease 0s;
      width: 0; }
    .contacto a:hover:after {
      width: 100%;
      left: 0; }
  .contacto .nota {
    display: none;
    font-size: 20px;
    font-family: 'Caveat', cursive;
    margin: 0 0 20px 20px;
    color: #23a6d5; }

/*modal*/
.modal {
  background: rgba(255, 255, 255, 0.95);
  position: relative;
  width: 100vw;
  height: 100vh;
  z-index: 4001;
  position: fixed;
  top: 0;
  left: 0;
  cursor: pointer; }
  .modal:before {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url("../imgs/icono-cerrar-modal.svg") no-repeat;
    background-size: cover;
    position: absolute;
    top: 15px;
    right: 30px; }
  .modal > div {
    width: 70vh;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    z-index: 4001; }
    .modal > div .descripcion {
      position: relative;
      overflow: hidden;
      padding: 30px 0 10px;
      width: 70vh;
      margin: auto; }
      .modal > div .descripcion h4 {
        display: inline-block;
        font-size: 15px;
        font-weight: 700;
        margin: 0 6px 10px 0; }
      .modal > div .descripcion p {
        font-size: 15px;
        line-height: 25px;
        font-weight: 400; }
      .modal > div .descripcion hr {
        border: 0;
        border-top: 2px solid #999;
        width: 50px;
        margin: 0 0 10px; }
    .modal > div .imagen {
      border: 10px solid #fff;
      max-height: 70vh;
      overflow: hidden;
      -webkit-box-shadow: 0px 6px 20px -8px rgba(0, 0, 0, 0.25);
      -moz-box-shadow: 0px 6px 20px -8px rgba(0, 0, 0, 0.25);
      box-shadow: 0px 6px 20px -8px rgba(0, 0, 0, 0.25); }
      .modal > div .imagen img {
        width: 100%; }

/*animaciones*/
.scroll {
  opacity: 0;
  -webkit-transition: opacity .3s .15s ease-out;
  -o-transition: opacity .3s .15s ease-out;
  transition: opacity .3s .15s ease-out; }

.scroll.visible {
  opacity: 1; }

/***************** desktop  *******************/
@media screen and (min-width: 1024px) {
  .menu nav .desplegable a:hover .borde-1,
  .menu nav .desplegable a:hover .borde-2 {
    stroke-dashoffset: 0;
    stroke-dasharray: 500; }
  .trabajos .trabajo:hover {
    cursor: pointer; }
    .trabajos .trabajo:hover:before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: rgba(255, 255, 255, 0.8);
      z-index: 2;
      top: 0; }
    .trabajos .trabajo:hover:after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      margin: auto;
      width: 50px;
      height: 50px;
      background: url("../imgs/icono-mas.svg") no-repeat;
      background-size: cover;
      z-index: 3; }
  .nosotros ul .marian:hover .imagen {
    background-image: url("../imgs/marian-over.jpg");
    z-index: 3; }
  .nosotros ul .andres:hover .imagen {
    background-image: url("../imgs/andres-over.jpg");
    z-index: 3; }
  .nosotros ul .lilo:hover .imagen {
    background-image: url("../imgs/lilo-over.jpg");
    z-index: 3; }
  .nosotros ul.izquierda .andres .imagen {
    background-image: url("../imgs/andres-izq.jpg");
    z-index: 3; }
  .nosotros ul.izquierda .lilo .imagen {
    background-image: url("../imgs/lilo-izq.jpg");
    z-index: 3; }
  .nosotros ul.medio .marian .imagen {
    background-image: url("../imgs/marian-derecha.jpg");
    z-index: 3; }
  .nosotros ul.medio .lilo .imagen {
    background-image: url("../imgs/lilo-izq.jpg");
    z-index: 3; }
  .nosotros ul.derecha .marian .imagen {
    background-image: url("../imgs/marian-derecha.jpg");
    z-index: 3; }
  .nosotros ul.derecha .andres .imagen {
    background-image: url("../imgs/andres-derecha.jpg");
    z-index: 3; } }

/***************** desktop grande *******************/
@media screen and (min-width: 1367px) {
  header, .apertura, .proyecto {
    max-height: 650px; }
  .apertura.scroll {
    opacity: 1; } }

/***************** desktop chico y mediano *******************/
/***************** desktop  mediano *******************/
/***************** desktop chico *******************/
/***************** desktop  y tablet *******************/
@media screen and (min-width: 750px) {
  header .menu nav .desplegable .iso {
    display: inline-block;
    height: 64px;
    width: 64px;
    display: block;
    margin: 50px auto 0;
    background: url("../imgs/iso.svg") no-repeat;
    background-size: cover;
    opacity: 0.4; }
  .clientes ul li {
    padding: 0 10px; } }

/***************** tablet *******************/
@media screen and (min-width: 750px) and (max-width: 1025px) {
  body.menu-expandido .menu {
    width: 100px; }
    body.menu-expandido .menu nav .icon-menu {
      left: 24px; }
    body.menu-expandido .menu nav .desplegable {
      left: 9px; }
  body.menu-expandido header, body.menu-expandido main {
    width: calc(100% - 100px); }
  header .menu nav .icon-menu {
    left: 20px; }
  main > section:not(.trabajos):not(.proyecto) {
    width: calc(100% - 100px);
    margin: 50px auto; }
  main .trabajos h2 {
    margin: 100px 50px 50px; }
  h2 {
    font-size: 100px;
    margin: 100px auto 60px; }
  header .logo {
    width: 500px;
    height: 205px; }
  header .menu nav .desplegable {
    left: 10px; }
    header .menu nav .desplegable a {
      font-size: 13px; }
  .apertura {
    height: auto; }
    .apertura p {
      padding: 250px 50px 50px 50px;
      max-width: 780px;
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
      font-size: 30px;
      line-height: 43px;
      color: #fff; }
  .servicios > div {
    width: calc((100% - 50px)/3);
    padding: 0 10px 0; }
    .servicios > div ul li {
      font-size: 13px;
      line-height: 16px; }
  .servicios h3 {
    font-size: 20px; }
  .nosotros ul .descripcion {
    padding: 10px; }
    .nosotros ul .descripcion h4 {
      font-size: 13px; }
    .nosotros ul .descripcion p {
      font-size: 14px;
      line-height: 22px; }
  .clientes ul li {
    font-size: 15px; }
    .clientes ul li .msj {
      padding: 50px 20px 30px; }
    .clientes ul li .firma {
      line-height: 22px; }
  .proyecto p {
    padding: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    height: 103px; }
  .proyecto .flecha {
    position: absolute;
    right: 0;
    bottom: 30%;
    left: 0; }
  .modal:before {
    right: 15px; } }

/***************** moviles y tablet *******************/
/***************** moviles *******************/
@media screen and (min-width: 100px) and (max-width: 749px) {
  body.menu-expandido header .logo {
    width: 198px;
    height: 81px;
    z-index: 5000;
    position: fixed;
    top: 83px;
    bottom: auto; }
  body.menu-expandido .menu {
    width: 100%;
    left: 0;
    background: rgba(119, 119, 119, 0.95);
    height: 100vh;
    position: fixed;
    z-index: 4000; }
    body.menu-expandido .menu nav .icon-menu {
      left: auto;
      right: 20px;
      margin: auto;
      top: 20px; }
    body.menu-expandido .menu nav .desplegable {
      top: 245px;
      left: 0;
      width: 100%; }
  body.menu-expandido header, body.menu-expandido main {
    width: 100%; }
  header .logo {
    width: 300px;
    height: 123px; }
  header .menu nav .desplegable {
    left: 0;
    padding-right: 0;
    margin: auto;
    width: 100%; }
    header .menu nav .desplegable a.link {
      font-size: 25px;
      display: block;
      text-align: center;
      height: 40px; }
      header .menu nav .desplegable a.link.dos-lineas {
        height: 67px; }
  header .menu nav .icon-menu {
    left: 20px;
    top: 9px; }
  main > section:not(.trabajos):not(.proyecto) {
    width: calc(100% - 20px);
    margin: 60px auto 30px; }
  main .trabajos h2 {
    width: calc(100% - 30px);
    margin-left: 30px; }
  h2 {
    font-size: 50px;
    margin: 60px 0 50px 20px; }
    h2.scroll {
      -webkit-transform: translate3d(0, 20px, 0);
      transform: translate3d(0, 20px, 0); }
  .apertura {
    background-position: top right; }
    .apertura p {
      padding: 250px 30px 50px;
      font-size: 25px;
      line-height: 35px; }
  .trabajos {
    margin-top: 80px; }
    .trabajos ul li {
      width: 50%;
      padding-top: 50%; }
  .servicios {
    margin-top: 80px; }
    .servicios > div {
      width: 100%;
      padding: 0 20px;
      margin-bottom: 40px;
      border: 0 !important; }
      .servicios > div ul {
        border-bottom: 1px solid #dadada;
        padding-bottom: 20px;
        font-size: 20px; }
    .servicios > div:last-child {
      margin-bottom: 0; }
      .servicios > div:last-child ul {
        border-bottom: 0; }
        .servicios > div:last-child ul li:last-child {
          margin-bottom: 0; }
  .nosotros ul li {
    width: 100%;
    margin-bottom: 20px; }
    .nosotros ul li .descripcion h4 {
      font-size: 20px; }
    .nosotros ul li .descripcion p {
      font-size: 20px;
      line-height: 30px; }
    .nosotros ul li:last-child {
      margin-bottom: 0; }
  .nosotros ul .marian .imagen {
    background-image: url("../imgs/marian-over.jpg"); }
  .nosotros ul .andres .imagen {
    background-image: url("../imgs/andres-over.jpg"); }
  .nosotros ul .lilo .imagen {
    background-image: url("../imgs/lilo.jpg"); }
  .clientes h2 {
    margin-bottom: 30px; }
  .clientes > div {
    width: 100%;
    overflow-x: scroll;
    height: auto;
    overflow-y: hidden; }
    .clientes > div ul li .msj {
      padding: 50px 20px 40px;
      font-size: 18px; }
    .clientes > div ul li .firma {
      padding-top: 20px;
      font-size: 14px; }
  .proyecto {
    margin-top: 60px; }
    .proyecto p {
      margin: 0;
      padding: 0;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      height: 103px;
      padding: 250px 25px 50px;
      font-size: 30px;
      line-height: 33px; }
    .proyecto .flecha {
      position: absolute;
      right: 0;
      bottom: 30%;
      left: 0; }
  .contacto a {
    font-size: 22px;
    margin-left: 35px; }
    .contacto a:before {
      top: -2px;
      left: -33px;
      margin-right: 5px;
      width: 30px;
      height: 30px; }
  .contacto .nota {
    display: none;
    margin: 0 0 20px 30px;
    position: relative;
    top: -10px; }
  .modal:before {
    right: 15px; }
  .modal .trabajo {
    width: 90%; }
    .modal .trabajo .descripcion {
      width: 100%; } }

/***************** moviles grandes *******************/
/***************** moviles chicos *******************/
@media screen and (min-width: 100px) and (max-width: 325px) {
  .apertura p {
    padding: 100px 30px 50px;
    font-size: 20px;
    line-height: 30px; }
  .contacto a {
    font-size: 20px;
    margin-left: 30px; }
    .contacto a:before {
      left: -33px; } }
