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,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img {
    max-width: 100%;
    height: auto
}

.alignleft,
img.alignleft {
    display: inline;
    float: left;
    margin-right: 24px;
    margin-top: 4px
}

.alignright,
img.alignright {
    display: inline;
    float: right;
    margin-left: 24px;
    margin-top: 4px
}

.aligncenter,
img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto
}

img.alignleft,
img.alignright,
img.aligncenter {
    margin-bottom: 12px
}

.wp-caption {
    background: #f1f1f1;
    line-height: 18px;
    margin-bottom: 20px;
    max-width: 632px !important;
    text-align: center;
    padding: 4px
}

.wp-caption img {
    margin: 5px 5px 0
}

.wp-caption p.wp-caption-text {
    color: #888;
    font-size: 12px;
    margin: 5px
}

.gallery {
    margin: 0 auto 18px
}

.gallery .gallery-item {
    float: left;
    margin-top: 0;
    text-align: center;
    width: 33%
}

.gallery-columns-2 .gallery-item {
    width: 50%
}

.gallery-columns-4 .gallery-item {
    width: 25%
}

.gallery img {
    border: 10px solid #f1f1f1
}

.gallery-columns-2 .attachment-medium {
    max-width: 92%;
    height: auto
}

.gallery-columns-4 .attachment-thumbnail {
    max-width: 84%;
    height: auto
}

.gallery .gallery-caption {
    color: #888;
    font-size: 12px;
    margin: 0 0 12px
}

.gallery br+br {
    display: none
}

.wp-smiley,
.gallery dl {
    margin: 0
}

* {
    box-sizing: border-box;
    outline: none
}

.demi {
    font-weight: 300
}

@font-face {
    font-family: 'Graphik';
    src: url('../fonts/GraphikRegular.eot');
    src: url('../fonts/GraphikRegular.eot') format('embedded-opentype'), url('../fonts/GraphikRegular.woff2') format('woff2'), url('../fonts/GraphikRegular.woff') format('woff'), url('../fonts/GraphikRegular.ttf') format('truetype'), url('../fonts/GraphikRegular.svg#GraphikRegular') format('svg');
    font-weight: 400
}

@font-face {
    font-family: 'Graphik';
    src: url('../fonts/GraphikSemibold.eot');
    src: url('../fonts/GraphikSemibold.eot') format('embedded-opentype'), url('../fonts/GraphikSemibold.woff2') format('woff2'), url('../fonts/GraphikSemibold.woff') format('woff'), url('../fonts/GraphikSemibold.ttf') format('truetype'), url('../fonts/GraphikSemibold.svg#GraphikSemibold') format('svg');
    font-weight: 600
}

@font-face {
    font-family: 'GTAmerica';
    src: url('../fonts/GTAmericaLight.eot');
    src: url('../fonts/GTAmericaLight.eot') format('embedded-opentype'), url('../fonts/GTAmericaLight.woff2') format('woff2'), url('../fonts/GTAmericaLight.woff') format('woff'), url('../fonts/GTAmericaLight.ttf') format('truetype'), url('../fonts/GTAmericaLight.svg#GTAmericaLight') format('svg');
    font-weight: 200
}

@font-face {
    font-family: 'GTAmerica';
    src: url('../fonts/GTAmericaRegular.eot');
    src: url('../fonts/GTAmericaRegular.eot') format('embedded-opentype'), url('../fonts/GTAmericaRegular.woff2') format('woff2'), url('../fonts/GTAmericaRegular.woff') format('woff'), url('../fonts/GTAmericaRegular.ttf') format('truetype'), url('../fonts/GTAmericaRegular.svg#GTAmericaRegular') format('svg');
    font-weight: 400
}

@font-face {
    font-family: 'GTAmerica';
    src: url('../fonts/GTAmericaMedium.eot');
    src: url('../fonts/GTAmericaMedium.eot') format('embedded-opentype'), url('../fonts/GTAmericaMedium.woff2') format('woff2'), url('../fonts/GTAmericaMedium.woff') format('woff'), url('../fonts/GTAmericaMedium.ttf') format('truetype'), url('../fonts/GTAmericaMedium.svg#GTAmericaMedium') format('svg');
    font-weight: 500
}

@font-face {
    font-family: 'NoeDisplay';
    src: url('../fonts/NoeDisplayRegular.eot');
    src: url('../fonts/NoeDisplayRegular.eot') format('embedded-opentype'), url('../fonts/NoeDisplayRegular.woff2') format('woff2'), url('../fonts/NoeDisplayRegular.woff') format('woff'), url('../fonts/NoeDisplayRegular.ttf') format('truetype'), url('../fonts/NoeDisplayRegular.svg#NoeDisplayRegular') format('svg');
    font-weight: 400
}

@font-face {
    font-family: 'NoeDisplay';
    src: url('../fonts/NoeDisplayMedium.eot');
    src: url('../fonts/NoeDisplayMedium.eot') format('embedded-opentype'), url('../fonts/NoeDisplayMedium.woff2') format('woff2'), url('../fonts/NoeDisplayMedium.woff') format('woff'), url('../fonts/NoeDisplayMedium.ttf') format('truetype'), url('../fonts/NoeDisplayMedium.svg#NoeDisplayMedium') format('svg');
    font-weight: 500
}

@font-face {
    font-family: 'NoeDisplay';
    src: url('../fonts/NoeDisplayBold.eot');
    src: url('../fonts/NoeDisplayBold.eot') format('embedded-opentype'), url('../fonts/NoeDisplayBold.woff2') format('woff2'), url('../fonts/NoeDisplayBold.woff') format('woff'), url('../fonts/NoeDisplayBold.ttf') format('truetype'), url('../fonts/NoeDisplayBold.svg#NoeDisplayBold') format('svg');
    font-weight: 700
}

@font-face {
    font-family: 'OpenSans';
    src: url('../fonts/OpenSansRegular.eot');
    src: url('../fonts/OpenSansRegular.eot') format('embedded-opentype'), url('../fonts/OpenSansRegular.woff2') format('woff2'), url('../fonts/OpenSansRegular.woff') format('woff'), url('../fonts/OpenSansRegular.ttf') format('truetype'), url('../fonts/OpenSansRegular.svg#OpenSansRegular') format('svg');
    font-weight: 400
}

@font-face {
    font-family: 'OpenSans';
    src: url('../fonts/OpenSansSemibold.eot');
    src: url('../fonts/OpenSansSemibold.eot') format('embedded-opentype'), url('../fonts/OpenSansSemibold.woff2') format('woff2'), url('../fonts/OpenSansSemibold.woff') format('woff'), url('../fonts/OpenSansSemibold.ttf') format('truetype'), url('../fonts/OpenSansSemibold.svg#OpenSansSemibold') format('svg');
    font-weight: 600
}

@font-face {
    font-family: 'OpenSans';
    src: url('../fonts/OpenSansBold.eot');
    src: url('../fonts/OpenSansBold.eot') format('embedded-opentype'), url('../fonts/OpenSansBold.woff2') format('woff2'), url('../fonts/OpenSansBold.woff') format('woff'), url('../fonts/OpenSansBold.ttf') format('truetype'), url('../fonts/OpenSansBold.svg#OpenSansBold') format('svg');
    font-weight: 700
}

@font-face {
    font-family: 'VarelaRound';
    src: url('../fonts/VarelaRoundRegular.eot');
    src: url('../fonts/VarelaRoundRegular.eot') format('embedded-opentype'), url('../fonts/VarelaRoundRegular.woff2') format('woff2'), url('../fonts/VarelaRoundRegular.woff') format('woff'), url('../fonts/VarelaRoundRegular.ttf') format('truetype'), url('../fonts/VarelaRoundRegular.svg#VarelaRoundRegular') format('svg');
    font-weight: 400
}

.cover_background {
    display: block;
    background-position: center;
    width: 100%;
    height: 100%;
    background-size: cover
}

.group::after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0
}

body {
    background: #fff;
    overflow-x: hidden;
    font-family: GTAmerica;
    font-weight: 300;
    color: #000;
    font-size: 30px;
    padding-top: 180px;
    font-weight: 200
}

.wrapper {
    max-width: 1240px;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto
}

.meta {
    font-size: 30px;
    line-height: 35px
}

.owl-item a {
    text-decoration: none;
    color: #000
}

.owl-item h2 {
    padding-top: 35px;
    font-size: 45px;
    line-height: 50px
}

.owl-item img {
    width: 100%;
    height: auto;
    display: block
}

.arrow {
    width: 100px;
    height: 1px;
    background: #000;
    display: block;
    position: relative;
    margin-left: 0;
    margin-right: 0;
    -webkit-transition: margin .3s;
    transition: margin .3s
}

.arrow:before {
    content: '';
    width: 20px;
    height: 1px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: block;
    background: #000;
    top: 6.9px;
    position: absolute;
    left: -3.9px
}

.arrow:after {
    content: '';
    width: 20px;
    height: 1px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    display: block;
    background: #000;
    top: -6.9px;
    position: absolute;
    left: -3.9px
}

.owl-nav button {
    position: absolute;
    top: 50%;
    left: 80px;
    width: 100px;
    height: 40px;
    display: block;
    background: red;
    margin-top: -40px
}

.owl-nav button:hover .arrow {
    margin-left: -10px
}

.owl-nav button.owl-next {
    left: auto;
    right: 80px;
    background: green;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.owl-nav button.disabled .arrow,
.owl-nav button.disabled .arrow:before,
.owl-nav button.disabled .arrow:after {
    background: rgba(0, 0, 0, 0.1)
}

.owl-nav button.disabled:hover .arrow {
    margin-left: 0
}

.texto_html a {
    text-decoration: underline
}

.texto_html em {
    font-style: italic
}

.texto_html strong {
    font-weight: 700
}

.texto_html ul,
.texto_html ol {
    padding-left: 20px
}

.texto_html ul {
    list-style: disc
}

.texto_html ol {
    list-style: numeric
}

.texto_html ul,
.texto_html ol,
.texto_html p {
    padding-bottom: 20px
}

.texto_html ul:last-child,
.texto_html ol:last-child,
.texto_html p:last-child {
    padding-bottom: 0
}

#contenido {
    padding-bottom: 100px
}

#contenido a {
    color: #000;
    text-decoration: underline;
    -webkit-transition: color .3s;
    transition: color .3s
}

#contenido a:hover {
    color: #9B9A9A
}

@-webkit-keyframes arrow {
    0% {
        margin-left: 0
    }

    70% {
        margin-left: 10px
    }

    100% {
        margin-left: 0
    }
}

@keyframes arrow {
    0% {
        margin-left: 0
    }

    70% {
        margin-left: 10px
    }

    100% {
        margin-left: 0
    }
}

#cabecera {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    padding: 35px 0 40px;
    background: #fff;
    -webkit-transition: all .3s;
    transition: all .3s;
    border-bottom: 1px solid #9B9A9A;
    z-index: 100
}

#cabecera .logo {
    text-align: center
}

#cabecera .logo a {
    color: #000;
    text-decoration: none;
    font-size: 25px;
    line-height: 20px;
    position: relative;
    z-index: 2
}

footer p.logo {
    color: #fff;
    text-decoration: none;
    font-size: 25px;
    line-height: 20px;
    position: relative;
    z-index: 2
}

#cabecera .sidebar_cabecera {
    display: none
}

#cabecera #abrir_menu {
    position: absolute;
    display: block;
    padding: 20px;
    right: 50px;
    top: 30px;
    z-index: 2;
    -webkit-transition: top .3s;
    transition: top .3s
}

#cabecera #abrir_menu span,
#cabecera #abrir_menu span:before,
#cabecera #abrir_menu span:after {
    content: '';
    width: 35px;
    height: 1px;
    background: #000;
    display: block;
    -webkit-transition: .3s;
    transition: .3s
}

#cabecera #abrir_menu span {
    position: relative
}

#cabecera #abrir_menu span:before {
    position: absolute;
    top: -7px
}

#cabecera #abrir_menu span:after {
    position: absolute;
    bottom: -6px
}

#cabecera #main_menu {
    position: absolute;
    top: 40px;
    left: 0;
    right: 0;
    z-index: 1;
    margin-top: -200px;
    -webkit-transition: all .3s;
    transition: all .3s
}

#cabecera #main_menu ul.menu {
    font-size: 0 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important
}

#cabecera #main_menu ul.menu>li {
    display: inline-block;
    vertical-align: top;
    font-size: 20px;
    line-height: 20px
}

#cabecera #main_menu ul.menu>li a {
    display: block;
    color: #000;
    text-decoration: none;
    -webkit-transition: color .3s;
    transition: color .3s
}

#cabecera #main_menu ul.menu>li a:hover {
    color: #FF0037
}

#cabecera #main_menu ul.menu>li:first-child a {
    padding-left: 0
}

body.scrolled #cabecera {
    background: #fff !important;
    padding: 15px 0 20px
}

body.scrolled #cabecera #abrir_menu {
    top: 12px
}

body.scrolled #cabecera #main_menu {
    top: 23px
}

body.showmenu #abrir_menu span {
    background: transparent !important
}

body.showmenu #abrir_menu span:before {
    -webkit-transform: rotate(-45deg) translate(-5px, 6px);
    transform: rotate(-45deg) translate(-5px, 6px)
}

body.showmenu #abrir_menu span:after {
    -webkit-transform: rotate(45deg) translate(-2px, -6px);
    transform: rotate(45deg) translate(-2px, -6px)
}

body.showmenu #cabecera {
    background: #fff !important
}

body.showmenu #cabecera #main_menu {
    margin-top: 0
}

body.showmenu #progreso_scroll {
    display: none
}

body.home {
    padding-top: 0
}

body.home #cabecera {
    background: none
}

body.home #contenido {
    padding-bottom: 0
}

body.post-type-archive-proyecto #contenido {
    padding-bottom: 0
}

body.post-type-archive-proyecto #contenido ul {
    margin: 0 -20px;
    padding-bottom: 40px;
    font-size: 0 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important
}

body.post-type-archive-proyecto #contenido ul li {
    display: inline-block;
    vertical-align: top;
    width: 50%;
    padding: 20px
}

body.post-type-archive-proyecto #contenido ul li img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 15px
}

body.post-type-archive-proyecto #contenido ul li a {
    font-size: 30px;
    line-height: 32px;
    text-decoration: none;
    color: #000;
    -webkit-transition: color .3s;
    transition: color .3s
}

body.post-type-archive-proyecto #contenido ul li a:hover {
    color: #575756
}

body.post-type-archive-proyecto .meta {
    color: #9B9A9A
}

body.single-proyecto {
    padding-top: 0
}

body.single-proyecto #cabecera {
    background: transparent
}

body.single-proyecto #contenido .cabecera {
    width: 100%;
    height: 50vh;
    display: block;
    background-position: center;
    background-size: cover
}

body.single-proyecto #contenido .resumen .bloques_resumen {
    padding-top: 40px;
    margin: 0 -15px;
    font-size: 0 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important
}

body.single-proyecto #contenido .resumen .bloques_resumen .texto_html,
body.single-proyecto #contenido .resumen .bloques_resumen .meta {
    padding: 15px;
    display: inline-block;
    vertical-align: top
}

body.single-proyecto #contenido .resumen .bloques_resumen .texto_html {
    width: 66.666%;
    font-size: 45px;
    line-height: 50px
}

body.single-proyecto #contenido .resumen .bloques_resumen .texto_html a {
    color: #fff;
    text-decoration: underline
}

body.single-proyecto #contenido .resumen .bloques_resumen .meta {
    width: 33.333%;
    font-size: 20px;
    line-height: 22px
}

body.single-proyecto #contenido .informacion {
    padding-top: 60px;
    padding-bottom: 60px
}

body.single-proyecto #contenido .bloques_informacion {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    font-size: 20px;
    line-height: 22px;
    margin: 0 -15px;
    font-weight: 200
}

body.single-proyecto #contenido .bloques_informacion .bloque_informacion {
    display: inline-block;
    vertical-align: top;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: 33.333%;
    padding: 15px
}

body.single-proyecto #contenido .bloques_informacion .bloque_informacion h2 {
    font-size: 30px;
    line-height: 32px;
    margin-bottom: 25px;
    font-weight: 500
}

#navegacion {
    padding-top: 70px;
    background: #fff
}

#navegacion::after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0
}

#navegacion h2 {
    font-size: 30px;
    line-height: 34px;
    padding-bottom: 40px;
    display: block;
    font-weight: 200
}

#navegacion a {
    display: block;
    color: #000;
    text-decoration: none;
    padding-bottom: 30px
}

#navegacion a .meta {
    color: #9B9A9A
}

#navegacion a .arrow {
    margin-bottom: 30px;
    position: relative
}

#navegacion a:hover .arrow {
    margin-left: -10px
}

#navegacion a h3 {
    clear: both
}

#navegacion .anterior,
#navegacion .siguiente {
    width: 45%
}

#navegacion .anterior {
    float: left
}

#navegacion .siguiente {
    float: right;
    text-align: right
}

#navegacion .siguiente .arrow {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    float: right
}

#navegacion .siguiente a:hover .arrow {
    margin-right: -10px
}

#progreso_scroll {
    position: fixed;
    top: 0;
    left: 0;
    height: 5px;
    background: #000;
    z-index: 100
}

body.page-template-template-franjas #contenido {
    padding-bottom: 0
}

.franja.superior_minimo {
    padding-top: 10px
}

.franja.inferior_minimo {
    padding-bottom: 10px
}

.franja.superior_estrecho {
    padding-top: 50px
}

.franja.inferior_estrecho {
    padding-bottom: 50px
}

.franja.superior_alto {
    padding-top: 50px
}

.franja.inferior_alto {
    padding-bottom: 50px
}

.franja.imagen img {
    height: auto;
    margin: auto;
    display: block
}

.franja.imagen.centrada {
    max-width: 1240px;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto
}

.franja.imagen.centrada img {
    max-width: 100%
}

.franja.imagen.a_sangre img {
    width: 100%
}

.franja.texto_imagen::after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0
}

.franja.texto_imagen .texto_html,
.franja.texto_imagen .media {
    width: 50%
}

.franja.texto_imagen .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.franja.texto_imagen .texto_html {
    padding-right: 15px;
    font-size: 45px;
    line-height: 47px
}

.franja.texto_imagen .media {
    padding-left: 15px
}

.franja.texto_imagen .media img {
    max-width: 100%;
    height: auto;
    display: block
}

.franja.texto .texto_destacado {
    font-size: 45px;
    line-height: 50px;
    max-width: 900px;
    font-weight: 200
}

.franja.texto .texto_destacado strong {
    color: #FF0037
}

.franja.texto .texto_destacado+.columnas {
    margin-top: 50px
}

.franja.texto .columnas {
    margin-left: -40px;
    margin-right: -40px;
    font-size: 0 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important
}

.franja.texto .columnas .columna {
    display: inline-block;
    vertical-align: top;
    width: 33.3333%;
    padding: 0 40px;
    font-size: 20px;
    line-height: 22px
}

.franja.texto .columnas .columna h3 {
    font-size: 30px;
    line-height: 32px
}

.franja.texto .columnas .columna h4 {
    font-size: 20px;
    line-height: 22px;
    color: #9B9A9A;
    margin-bottom: 40px
}

.franja.texto .columnas .columna p {
    margin-bottom: 40px
}

.franja.texto .columnas .columna p:last-child {
    margin-bottom: 0
}

.franja.texto .columnas .columna a {
    color: #000;
    text-decoration: none
}

.franja.texto .columnas .columna a:hover {
    color: #FF0037
}

.franja.texto.izquierda {
    font-size: 45px;
    line-height: 45px
}

.franja.texto.izquierda .texto_html {
    max-width: 950px;
    position: relative
}

.franja.texto.izquierda .texto_html:before {
    content: url(../images/logo_texto.png);
    position: absolute;
    right: 40px;
    top: -40px;
    z-index: -1
}

.franja.texto .titulo_y_texto {
    border-top: 1px solid rgba(155, 154, 154, 0.5);
    padding-top: 40px
}

.franja.texto .titulo_y_texto .titulo {
    float: left;
    width: 400px;
    padding-right: 20px
}

.franja.texto .titulo_y_texto .titulo h2 {
    font-size: 45px;
    line-height: 50px;
    color: #FF0037
}

.franja.texto .titulo_y_texto .texto_html {
    margin-left: 420px
}

.franja.texto .titulo_y_texto .texto_html p {
    padding-bottom: 40px
}

.franja.texto .titulo_y_texto .texto_html ul li {
    padding: 3px 0
}

.franja.texto.iframe .texto_html {
    position: relative;
    overflow: hidden;
    padding-top: 56.25%
}

.franja.texto.iframe .texto_html iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.franja.imagen_texto {
    background-position: center;
    background-size: cover;
    color: #fff;
    position: relative;
    width: 100%;
    height: 100vh
}

.franja.imagen_texto .wrapper:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5)
}

.franja.imagen_texto .texto_html {
    max-width: 900px;
    position: relative;
    font-size: 45px;
    line-height: 50px;
    padding-top: 30vh;
    font-weight: 200
}

.franja.imagen_texto button {
    position: absolute;
    bottom: 50px;
    left: 50%;
    width: 100px;
    height: 40px;
    border: none;
    cursor: pointer;
    background: none;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    margin-left: -50px
}

.franja.imagen_texto button .arrow {
    -webkit-animation: arrow 1.5s infinite;
    animation: arrow 1.5s infinite;
    background: #FF0037
}

.franja.imagen_texto button .arrow:before,
.franja.imagen_texto button .arrow:after {
    background: #FF0037
}

.franja.clientes h2 {
    font-size: 30px;
    line-height: 34px;
    margin-bottom: 30px
}

.franja.clientes ul {
    font-size: 0 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important
}

.franja.clientes ul li {
    display: inline-block;
    vertical-align: middle;
    width: 25%;
    padding: 45px 10px;
    text-align: center
}

.franja.clientes ul li img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: auto
}

.franja.slider_proyectos .wrapper {
    max-width: 100%;
    padding: 0
}

.franja.slider_proyectos a {
    text-decoration: none !important
}

.franja.equipo::after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0
}

.franja.equipo h2 {
    font-size: 45px;
    line-height: 50px;
    margin-bottom: 60px
}

.franja.equipo ul li {
    float: left;
    width: 50%;
    position: relative;
    padding: 0 30px 0 120px;
    font-size: 30px;
    line-height: 35px;
    color: #9B9A9A
}

.franja.equipo ul li img {
    max-width: 100%;
    height: auto;
    display: block
}

.franja.equipo ul li .texto_html {
    position: absolute;
    top: 60px;
    left: 0
}

.franja.equipo ul li .texto_html h3 {
    color: #FF0037;
    font-size: 45px;
    line-height: 50px;
    margin-bottom: 5px
}

.franja.equipo ul li .texto_html h4 {
    margin-bottom: 30px
}

.franja.equipo ul li .texto_html a {
    color: #9B9A9A;
    -webkit-transition: color .3s;
    transition: color .3s;
    text-decoration: none
}

.franja.equipo ul li .texto_html a:hover {
    color: #FF0037
}

.franja.equipo ul li:nth-child(even) {
    padding: 90px 120px 0 30px
}

.franja.equipo ul li:nth-child(even) img {
    float: left
}

.franja.equipo ul li:nth-child(even) .texto_html {
    top: 150px;
    right: 0;
    left: auto
}

.franja.slider_imagenes .owl-dots {
    display: none
}

.franja.slider_imagenes .media {
    width: 100%;
    padding-bottom: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

.franja.imagenes_laterales {
    font-size: 0 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important
}

.franja.imagenes_laterales div {
    display: inline-block;
    vertical-align: top;
    width: 60%;
    padding-left: 20px
}

.franja.imagenes_laterales div:first-child {
    width: 40%;
    padding-left: 0
}

.franja.imagenes_laterales div span {
    background-size: cover;
    background-position: center;
    display: block;
    width: 100%;
    height: 100%
}

.franja.imagenes_laterales div span img {
    display: none
}

.franja.imagenes_centradas .imagenes {
    margin: 0 -10px;
    font-size: 0 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important
}

.franja.imagenes_centradas .imagenes.n3 .imagen {
    width: 33.3333%
}

.franja.imagenes_centradas .imagenes.n2 .imagen {
    width: 50%
}

.franja.imagenes_centradas .imagenes.n4 .imagen {
    width: 25%
}

.franja.imagenes_centradas .imagenes .imagen {
    display: inline-block;
    vertical-align: top
}

.franja.imagenes_centradas .imagenes .imagen img {
    width: 100%;
    height: auto;
    display: block
}

.franja.imagenes_centradas.a_sangre {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0
}

.franja.imagenes_centradas.superior_alto .imagenes,
.franja.imagenes_centradas.inferior_alto .imagenes {
    margin: 0 -100px
}

.franja.imagenes_centradas.superior_alto .imagenes .imagen,
.franja.imagenes_centradas.inferior_alto .imagenes .imagen {
    padding: 0 100px
}

.franja.imagenes_centradas.superior_estrecho .imagenes,
.franja.imagenes_centradas.inferior_estrecho .imagenes {
    margin: 0 -50px
}

.franja.imagenes_centradas.superior_estrecho .imagenes .imagen,
.franja.imagenes_centradas.inferior_estrecho .imagenes .imagen {
    padding: 0 50px
}

.franja.imagenes_centradas.inferior_minimo .imagenes,
.franja.imagenes_centradas.superior_minimo .imagenes {
    margin: 0 -10px
}

.franja.imagenes_centradas.inferior_minimo .imagenes .imagen,
.franja.imagenes_centradas.superior_minimo .imagenes .imagen {
    padding: 0 10px
}

.franja.cita .texto_html {
    font-size: 75px;
    line-height: 80px;
    letter-spacing: -2px;
    /* margin-bottom: 100px; */
    font-family: unset;
}

.franja.cita .autor {
    font-size: 30px;
    line-height: 34px;
    margin-bottom: 2.5rem;
    color: #fff;
}

.franja.testimonios {
    text-align: center
}

.franja.testimonios h2 {
    text-transform: uppercase;
    font-size: 26px;
    line-height: 28px;
    margin-bottom: 60px
}

.franja.testimonios .owl-carousel {
    font-family: NoeDisplay;
    font-size: 40px;
    line-height: 45px
}

.franja.testimonios .owl-carousel .owl-item {
    padding: 0 15vw;
    margin: auto
}

.franja.testimonios .owl-carousel .owl-nav button {
    width: 50px
}

.franja.testimonios .owl-carousel .owl-nav button .arrow {
    background: none
}

.franja.testimonios .owl-carousel .owl-nav button .arrow:after,
.franja.testimonios .owl-carousel .owl-nav button .arrow:before {
    height: 2px
}

.franja.testimonios .owl-carousel .owl-dots {
    display: none
}

.franja.proceso {
    font-size: 20px;
    line-height: 24px
}

.franja.proceso h2 {
    font-size: 45px;
    line-height: 50px;
    margin-bottom: 20px
}

.franja.proceso .pasos {
    position: relative
}

.franja.proceso .pasos .paso {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 50px 0
}

.franja.proceso .pasos .paso .texto_html,
.franja.proceso .pasos .paso .letra {
    width: 45%
}

.franja.proceso .pasos .paso .letra {
    font-size: 200px;
    line-height: 300px;
    color: #FF0037;
    text-align: center
}

.franja.proceso .pasos .paso .letra::after {
    visibility: hidden;
    display: block;
    content: "";
    clear: both;
    height: 0
}

.franja.proceso .pasos .paso .letra strong {
    float: left;
    background: #FAF8F4;
    width: 300px;
    height: 300px;
    border-radius: 400px;
    -webkit-border-radius: 400px;
    -moz-border-radius: 400px
}

.franja.proceso .pasos .paso:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.franja.proceso .pasos .paso:nth-child(even) .letra strong {
    float: right
}

.franja.proceso canvas {
    position: absolute
}

.franja.proceso canvas#canvas-proceso-responsive {
    display: none
}

.franja.destacado button:not(.disabled) .arrow,
.franja.destacado button:not(.disabled) .arrow:before,
.franja.destacado button:not(.disabled) .arrow:after {
    background: #FF0037
}

body.page-template-template-contacto {
    background: #FF0037
}

body.page-template-template-contacto #cabecera {
    background: #FF0037 !important
}

body.page-template-template-contacto #cabecera #main_menu ul.menu>li a:hover {
    color: #fff
}

body.page-template-template-contacto #contenido {
    font-size: 45px;
    line-height: 50px;
    padding-bottom: 0
}

body.page-template-template-contacto #contenido p {
    margin-bottom: 50px;
    max-width: 900px
}

body.page-template-template-contacto #contenido p a {
    color: #000;
    text-decoration: none
}

body.page-template-template-contacto #contenido p a:hover {
    text-decoration: underline
}

body.page-template-template-contacto #contenido p:first-child {
    color: #fff
}

body.page-template-template-contacto #contenido p:first-child a {
    color: #fff
}

body.page-template-template-contacto #contenido p:first-child a:hover {
    text-decoration: underline
}

body.page-template-template-contacto #contenido p:last-child {
    margin-bottom: 0;
    max-width: 1180px
}

body.page-template-template-contacto #contenido img {
    max-width: 100%;
    height: auto;
    display: block;
    padding-top: 50px
}

footer {
    background: #000;
    color: #fff;
    font-size: 20px;
    line-height: 30px;
    text-align: center;
    padding-bottom: 40px
}

footer li.widget {
    padding-top: 40px;
    max-width: 1240px;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto
}

footer li.widget h2 {
    color: #575756
}

footer li.widget a {
    color: #fff;
    text-decoration: none;
    -webkit-transition: color .3s;
    transition: color .3s
}

footer li.widget a:hover {
    color: #575756
}

footer li.widget ul li {
    display: inline-block;
    vertical-align: top
}

footer li.widget.copy {
    border-top: 1px solid #575756;
    font-size: 15px;
    margin-top: 40px
}

footer li.widget.social li a {
    padding: 0 5px
}

body.error404 #contenido {
    font-size: 20px;
    line-height: 24px;
    background: url(../images/error404.png) top right no-repeat;
    padding-right: 400px;
    padding-bottom: 100px
}

body.error404 #contenido h1 {
    font-size: 45px;
    line-height: 50px;
    margin-bottom: 54px;
    font-weight: 200
}

body.error404 #contenido h2 {
    margin-bottom: 25px;
    font-weight: 500
}

body.error404 #contenido a {
    color: #000;
    text-decoration: underline;
    -webkit-transition: color .3s;
    transition: color .3s
}

body.error404 #contenido a:hover {
    color: #FF0037
}

@media only screen and (max-width:768px) {
    .franja.texto .columnas .columna {
        width: 50%;
        margin: 10px 0
    }

    .franja.texto .titulo_y_texto .titulo {
        float: none;
        width: 100%;
        display: block;
        padding: 0 0 20px 0
    }

    .franja.texto .titulo_y_texto .texto_html {
        margin: 0
    }

    .franja.equipo ul li {
        padding: 0 15px 0 60px
    }

    .franja.equipo ul li:nth-child(even) {
        padding: 45px 60px 0 15px
    }

    .franja.equipo ul li .texto_html {
        font-size: 24px;
        line-height: 26px
    }

    .franja.equipo ul li .texto_html h3 {
        font-size: 29px;
        line-height: 31px
    }

    .franja.clientes ul li {
        width: 33.333%
    }

    .franja.slider_proyectos .wrapper {
        padding: 0 40px
    }

    .franja.slider_proyectos h2 {
        font-size: 29px;
        line-height: 31px
    }

    .franja.slider_proyectos .meta {
        font-size: 20px;
        line-height: 24px
    }

    .franja.slider_proyectos .owl-carousel .owl-nav button.owl-prev {
        left: -20px
    }

    .franja.slider_proyectos .owl-carousel .owl-nav button.owl-next {
        right: -20px
    }

    .franja.slider_imagenes .owl-carousel .owl-nav button.owl-prev {
        left: 20px
    }

    .franja.slider_imagenes .owl-carousel .owl-nav button.owl-next {
        right: 20px
    }
}

@media only screen and (max-width:1000px) {
    .franja.proceso .pasos .paso {
        display: block;
        padding-right: 50px
    }

    .franja.proceso .pasos .paso .texto_html,
    .franja.proceso .pasos .paso .letra {
        width: 100%;
        display: block
    }

    .franja.proceso .pasos .paso .letra {
        margin-bottom: 20px
    }

    .franja.proceso .pasos .paso .letra strong {
        width: 150px;
        height: 150px;
        font-size: 100px;
        line-height: 150px;
        float: left !important
    }

    .franja.proceso .pasos .paso .texto_html {
        font-size: 19px;
        line-height: 23px
    }

    .franja.proceso .pasos .paso .texto_html h2 {
        font-size: 29px;
        line-height: 33px
    }

    .franja.proceso .pasos canvas#canvas-proceso {
        display: none
    }

    .franja.proceso .pasos canvas#canvas-proceso-responsive {
        display: block
    }
}

@media only screen and (max-width:768px) {
    body {
        padding-top: 120px
    }

    body.error404 #contenido {
        padding-right: 0;
        background-position: top center;
        padding-top: 350px
    }

    #cabecera {
        border: none;
        padding: 25px 40px
    }

    #cabecera .logo {
        text-align: left
    }

    #cabecera #abrir_menu {
        padding: 10px 0;
        margin-top: 3px
    }

    #cabecera #main_menu {
        position: fixed;
        left: 0;
        right: initial;
        top: 0 !important;
        bottom: 0;
        margin-bottom: 100vh;
        margin-left: 0;
        background: #FF0037;
        padding-top: 100px;
        width: 100%;
        overflow-y: auto
    }

    #cabecera #main_menu ul.menu>li {
        display: block;
        font-size: 29px;
        line-height: 31px
    }

    #cabecera #main_menu ul.menu>li a {
        display: block;
        padding: 10px 0;
        margin: 0 !important
    }

    #cabecera #main_menu ul.menu>li a:hover {
        color: #fff
    }

    #cabecera .sidebar_cabecera {
        display: block;
        padding-top: 25px
    }

    #cabecera .sidebar_cabecera .widget {
        padding-top: 50px;
        font-size: 18px;
        line-height: 22px
    }

    #cabecera .sidebar_cabecera .widget h2 {
        color: #fff
    }

    #cabecera .sidebar_cabecera .widget ul li {
        display: inline-block;
        padding: 3px
    }

    #cabecera .sidebar_cabecera .widget ul li:first-child {
        padding-left: 0
    }

    #cabecera .sidebar_cabecera a {
        color: #000;
        text-decoration: none;
        -webkit-transition: color .3s;
        transition: color .3s
    }

    #cabecera .sidebar_cabecera a:hover {
        color: #fff
    }

    body.scrolled #cabecera {
        padding: 10px 40px 15px
    }

    body.showmenu {
        overflow: hidden
    }

    body.showmenu #cabecera #main_menu {
        margin-bottom: 0
    }

    .franja.clientes h2,
    .franja.texto .texto_html,
    .franja.texto .texto_destacado,
    .franja.imagen_texto .texto_html {
        font-size: 29px;
        line-height: 31px
    }

    .franja.texto .titulo_y_texto .titulo h2 {
        font-size: 29px;
        line-height: 31px
    }

    .franja.texto .titulo_y_texto .texto_html {
        font-size: 20px;
        line-height: 22px
    }

    .franja.texto .columnas .columna h3 {
        font-size: 28px;
        line-height: 30px
    }

    .franja.testimonios h2 {
        font-size: 20px;
        line-height: 22px
    }

    .franja.testimonios .owl-item {
        font-size: 29px;
        line-height: 31px
    }

    .franja.testimonios .owl-carousel .owl-nav button.owl-prev {
        left: 0
    }

    .franja.testimonios .owl-carousel .owl-nav button.owl-next {
        right: 0
    }

    .franja.cita .texto_html {
        font-size: 29px;
        line-height: 31px;
        margin-bottom: 40px
    }

    .franja.cita .autor {
        font-size: 20px;
        line-height: 22px
    }

    .franja.texto_imagen .texto_html {
        font-size: 29px;
        line-height: 31px
    }

    .franja.texto_imagen .media {
        text-align: center
    }

    .franja.texto_imagen .media img {
        margin: auto
    }

    .franja.equipo h2 {
        font-size: 29px;
        line-height: 31px;
        margin-bottom: 35px
    }

    .franja.equipo ul {
        margin: 0 -10px
    }

    .franja.equipo ul li {
        width: 50%;
        padding: 25px 10px !important
    }

    .franja.equipo ul li img {
        margin-bottom: 20px;
        float: none !important
    }

    .franja.equipo ul li .texto_html {
        position: initial
    }

    .franja.clientes ul li {
        width: 50%
    }

    body.page-template-template-contacto #contenido {
        font-size: 29px;
        line-height: 31px
    }

    body.page-template-template-contacto #contenido p {
        margin-bottom: 30px
    }

    body.post-type-archive-proyecto #contenido ul li {
        width: 100%;
        margin-bottom: 20px
    }

    body.post-type-archive-proyecto #contenido ul li h2,
    body.post-type-archive-proyecto #contenido ul li .meta {
        font-size: 20px;
        line-height: 24px
    }

    body.single-proyecto #contenido .resumen .bloques_resumen .texto_html,
    body.single-proyecto #contenido .resumen .bloques_resumen .meta {
        width: 100%
    }

    body.single-proyecto #contenido .resumen .bloques_resumen .texto_html {
        font-size: 29px;
        line-height: 31px
    }

    body.single-proyecto #contenido .bloques_informacion .bloque_informacion {
        width: 100%
    }

    body.single-proyecto #contenido .bloques_informacion .bloque_informacion h2 {
        font-size: 24px;
        line-height: 26px
    }

    footer {
        font-size: 13px;
        line-height: 20px
    }

    footer li.widget.copy {
        font-size: 9px;
        line-height: 11px
    }
}

@media only screen and (max-width:600px) {
    .franja.equipo ul li {
        width: 100%
    }

    .franja.equipo ul li .texto_html {
        font-size: 18px;
        line-height: 20px
    }

    .franja.equipo ul li .texto_html h3 {
        font-size: 22px;
        line-height: 24px
    }

    .franja.clientes ul li {
        width: 100%
    }

    .franja.imagenes_laterales>div {
        display: block;
        width: 100% !important;
        height: auto !important;
        padding: 0;
        background: none
    }

    .franja.imagenes_laterales>div:first-child {
        margin-bottom: 20px
    }

    .franja.imagenes_laterales>div img {
        width: 100%;
        height: auto;
        display: block !important
    }

    .franja.texto .columnas .columna {
        width: 100%
    }

    .franja.texto_imagen .wrapper {
        display: block
    }

    .franja.texto_imagen .texto_html,
    .franja.texto_imagen .media {
        width: 100%;
        float: none;
        display: block;
        padding: 0
    }

    .franja.texto_imagen .texto_html {
        text-align: center;
        padding-bottom: 20px
    }

    #cabecera #main_menu {
        padding-top: 70px
    }

    #cabecera #main_menu ul.menu>li {
        font-size: 22px;
        line-height: 24px
    }

    #cabecera .sidebar_cabecera {
        padding-top: 0
    }

    #cabecera .sidebar_cabecera .widget {
        padding-top: 30px
    }

    .slider_imagenes .arrow,
    .slider_proyectos .arrow {
        width: 65px
    }

    .slider_imagenes .arrow:before,
    .slider_proyectos .arrow:before,
    .slider_imagenes .arrow:after,
    .slider_proyectos .arrow:after {
        width: 15px
    }

    .slider_imagenes .arrow:before,
    .slider_proyectos .arrow:before {
        top: 5px
    }

    .slider_imagenes .arrow:after,
    .slider_proyectos .arrow:after {
        top: -5px
    }

    #navegacion .anterior *,
    #navegacion .siguiente * {
        font-size: 20px;
        line-height: 24px
    }

    body.error404 #contenido {
        background-size: contain
    }
}