body {
    overflow-x: hidden !important;
    background: #fff;
    animation: myfadeInAnimation 3s;
}

body.home #main {
    background-image: url(img/bg/bghome.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

body.page-template-template-servicios #main {
    background-image: url(img/bg/bghome.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

body.page-template-template-proyecto1 #main,
body.page-template-template-proyecto2 #main,
body.page-template-template-proyecto3 #main {
    background-image: url(img/bg/bgproyectos.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.body {
    overflow-x: hidden !important;
}

a,
object {
    outline: none !important;
}

.nopd {
    padding-right: 0;
    padding-left: 0;
}

.nopdl {
    padding-left: 0;
}

.nopdr {
    padding-right: 0;
}

.nopdb {
    padding-bottom: 0;
}

.nopdt {
    padding-top: 0;
}

.gutter>[class*='col-'] {
    padding-right: 5px;
    padding-left: 5px;
}

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

.modal-header,
.modal-footer {
    border: none;
}

.modal {
    overflow-y: auto;
}

.cS-hidden {
    height: 1px;
    opacity: 0;
    filter: alpha(opacity=0);
    overflow: hidden;
}

.alignleft {
    float: left;
    margin-right: 30px;
    padding-top: 15px;
}

.alignright {
    float: right;
    margin-left: 30px;
    padding-top: 15px;
}

.aligncenter {
    margin: auto;
    display: block;
}

.os-animation,
.staggered-animation {
    opacity: 0;
}

.os-animation.animated,
.staggered-animation.animated {
    opacity: 1;
}

.mobile {
    display: none;
}

.desktop {
    display: block;
}


/***************************/


/* CABECERA ****************/

header {
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    z-index: 999 !important;
    display: block;
    padding-top: 40px;
    padding-bottom: 20px;
}

.sticky-wrapper {
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    z-index: 999 !important;
    display: block;
}

header .logo .img-fluid {
    max-width: 155px;
}

header .logo .v2 {
    display: none;
}

body.page-child header .logo .v1 {
    display: none;
}

body.page-child header .logo .v2 {
    display: block;
}

body.page-template-template-proyectos .logo .v1 {
    display: none;
}

body.page-template-template-proyectos .logo .v2 {
    display: block;
}

.menu {
    margin-bottom: 0;
    position: relative;
    top: -2px;
    float: right;
}

.menu li {
    background: none;
    display: inline-block;
    padding: 0;
    padding-right: 55px;
}

.menu li.ultimo {
    padding-right: 0;
}

.menu a {
    font-family: "Apercu Medium Regular";
    font-size: 15px;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none !important;
    font-weight: 500;
    letter-spacing: 1px;
}

.menu a:hover,
.menu li.current-menu-item a {
    color: #415364;
}

.menu li.current-page-ancestor a {
    color: /*#415364*/ #cab277;
}

body.page-child .menu a:hover {
    color: #415364;
}

body.home .menu a {
    color: #415364;
}

body.home .menu a:hover,
body.home .menu li.current-menu-item a {
    color: #fff;
}

body.page-template-template-contacto .menu a,
body.template-single .menu a,
body.page-template-template-clientes .menu a,
body.page-template-template-trabaja .menu a {
    color: #415364;
}

body.page-template-template-contacto .menu a:hover,
body.page-template-template-contacto .menu li.current-menu-item a,
body.page-template-template-proyectos .menu a:hover,
body.page-template-template-proyectos .menu li.current-menu-item a,
body.template-single .menu a:hover,
body.template-single .menu li.current-menu-item a,
body.page-template-template-clientes .menu a:hover,
body.page-template-template-clientes .menu li.current-menu-item a,
body.page-template-template-trabaja .menu a:hover,
body.page-template-template-trabaja .menu li.current-menu-item a {
    color: #cab277;
}

body.page-template-template-nosotros .menu a {
    color: #415364;
}

body.page-template-template-nosotros .menu a:hover,
body.page-template-template-nosotros .menu li.current-menu-item a {
    color: #fff;
}

.menu-trigger {
    position: relative;
    z-index: 998;
    -webkit-transition: top ease-in-out 0.35s;
    -moz-transition: top ease-in-out 0.35s;
    -o-transition: top ease-in-out 0.35s;
    transition: top ease-in-out 0.35s;
    cursor: pointer;
    display: none;
    float: right;
    top: 8px;
}

.menu-trigger .icon {
    display: inline-block;
    width: 30px;
    height: 2px;
    position: relative;
    top: -8px;
    background: #415364;
    border-radius: 5px;
    -webkit-transition: all 0.35s;
    -moz-transition: all 0.35s;
    -ms-transition: all 0.35s;
    -o-transition: all 0.35s;
    transition: all 0.35s;
}

.menu-trigger .icon:before {
    content: '';
    width: 100%;
    height: 2px;
    background: #415364;
    position: absolute;
    top: -8px;
    border-radius: 5px;
    -webkit-transition: all 0.35s;
    -moz-transition: all 0.35s;
    -ms-transition: all 0.35s;
    -o-transition: all 0.35s;
    transition: all 0.35s;
}

.menu-trigger .icon:after {
    content: '';
    width: 100%;
    height: 2px;
    background: #415364;
    position: absolute;
    top: 8px;
    border-radius: 5px;
    -webkit-transition: all 0.35s;
    -moz-transition: all 0.35s;
    -ms-transition: all 0.35s;
    -o-transition: all 0.35s;
    transition: all 0.35s;
}

.menu-trigger.close-menu span {
    background: none;
    color: #415364;
    -webkit-transition: all 0.35s;
    -moz-transition: all 0.35s;
    -ms-transition: all 0.35s;
    -o-transition: all 0.35s;
    transition: all 0.35s;
}

.menu-trigger.close-menu span:before {
    top: 0 !important;
    background-color: #415364;
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 100%;
}

.menu-trigger.close-menu span:after {
    width: 100%;
    top: 0 !important;
    background-color: #415364;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

#txt-menu {
    float: right;
    font-size: 14px;
    text-transform: uppercase;
    color: #415364;
    margin: 0;
    margin-right: 8px;
    position: relative;
    top: 5px;
    z-index: 998;
    display: none;
    cursor: pointer;
}

.sidr {
    box-shadow: none !important;
}

.sidr .cont {
    width: 100%;
    height: 100%;
    position: relative;
}

body.sidr-open .sidr .cont,
body.sidr-animating .sidr .cont {
    opacity: 1;
}

.sidr .modulo {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


/***************************/


/* CUERPO ******************/

#main {
    min-height: 600px;
}

section {
    padding: 90px 0;
    overflow: hidden;
}

body.page-template-template-clientes #main,
body.template-categoria #main,
body.page-template-template-contacto #main,
body.page-template-template-trabaja #main {
    padding-top: 90px;
}

.paginas {
    padding: 0 45px;
}

.titulo {
    margin-bottom: 45px;
    overflow: hidden;
}

.mas .img-fluid {
    max-width: 35px;
}

.slide {
    position: relative;
}

.slide .leyenda {
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    top: 65%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 11;
}

.slide h1 {
    font-size: 50px;
    line-height: 50px;
    color: #fff;
    margin-bottom: 40px;
    text-transform: none;
}

.slide a {
    font-size: 16px;
    color: #fff !important;
    text-decoration: none !important;
}

.slide a .ico {
    max-width: 30px;
    margin-left: 10px;
}

#portada .titulo {
    margin-bottom: 80px;
}

#portada p {
    font-family: "Apercu Medium Regular";
    font-size: 32px;
    line-height: 36px;
}

#portada .servicios {
    margin-bottom: 130px;
}

#portada .servicios h2 {
    font-size: 26px;
    margin-bottom: 40px;
    text-transform: uppercase;
}

#portada .servicios a {
    display: block;
    text-decoration: none !important;
    padding: 18px 25px;
    background: #415364;
    cursor: pointer;
    position: relative;
    margin-top: 5px;
}

#portada .servicios a:hover {
    background: #cab275;
}

#portada .servicios a h3 {
    font-size: 26px;
    color: #fff;
}

#portada .servicios a .ico {
    max-width: 40px;
    position: relative;
    margin-right: 20px;
}

#portada .servicios a .mas {
    width: 20px;
    position: absolute;
    right: 25px;
    bottom: 15px;
}

.banner {
    position: relative;
}

.banner .leyenda {
    position: absolute;
    width: 100%;
    left: 0;
    right: 0;
    top: 85%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 11;
}

.banner a {
    font-size: 16px;
    color: #fff !important;
    text-decoration: none !important;
}

.banner .icon-scroll.ico {
    max-width: 30px;
    margin-left: 10px;
}

.nosotros h1 {
    font-size: 32px;
}

.nosotros h3 {
    font-family: "Apercu Medium Regular";
    font-size: 32px;
    line-height: 34px;
    margin-bottom: 30px;
}

.nosotros h2 {
    margin-bottom: 40px;
}

.nosotros .imagen {
    margin-bottom: 40px;
}

.nosotros .descripcion {
    margin-top: 80px;
}

.nosotros .descripcion p {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 40px;
}

.equipo {
    margin: 70px 0;
    padding: 0 80px;
}

.equipo .modulo {
    text-align: center;
    margin-bottom: 30px;
}

.equipo .modulo h3 {
    font-family: "Apercu Bold";
    font-size: 14px;
    color: #415364;
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: normal;
    margin: 0;
    margin-top: 10px;
}

.equipo .modulo h4 {
    font-family: "Apercu Bold";
    font-size: 13px;
    color: #cab275;
    letter-spacing: 1px;
    margin-bottom: 5px;
    line-height: 15px;
}

.equipo .modulo .cargo {
    font-size: 12px;
    color: #86888b;
    display: block;
    line-height: normal;
}

.equipo .modulo .foto .img-fluid {
    border-radius: 100%;
    max-width: 80%;
}

.equipo .modulo .contenido {
    padding: 0 25px;
}

.servicios .descripcion {
    margin-bottom: 60px;
}

.servicios .descripcion p {
    font-family: "Apercu Medium Regular";
    font-size: 32px;
    line-height: 42px;
    color: #415364;
}

.desplegador {
    padding: 18px 25px;
    background: #415364;
    cursor: pointer;
    position: relative;
    margin-top: 5px;
    box-shadow: none !important;
    outline: none !important;
}

.desplegador.ui-state-active {
    background: #415364;
}

/*
@media only screen and (max-width: 768px) {
desplegador.ui-state-active {margin-top:80px}
}  
*/
.desplegador h3 {
    font-size: 26px;
    color: #fff;
}

.desplegador .ico {
    max-width: 40px;
    position: relative;
    margin-right: 20px;
}

.desplegador .mas {
    width: 20px;
    position: absolute;
    right: 25px;
    bottom: 15px;
}

.desplegador .menos {
    width: 20px;
    position: absolute;
    right: 25px;
    bottom: 15px;
    display: none;
}

.desplegador.ui-state-active .mas {
    display: none;
}

.desplegador.ui-state-active .menos {
    display: block;
}

.desplegable {
    display: none;
}

.desplegable .contenido {
    background: #cab275;
    padding: 15px 25px;
    padding-left: 93px;
}

.desplegable .contenido ul li {
    background: url(img/bullet_listab.png) no-repeat 0 6px;
    font-size: 18px;
    color: #fff;
}

.empresas .modulo .ico {
    max-width: 300px;
}

.empresas .modulo p {
    font-size: 18px;
    line-height: 24px;
}

.clientes h3 {
    font-family: "Apercu Bold";
    font-size: 16px;
    color: #cab275;
    text-transform: uppercase;
    margin-bottom: 75px;
    letter-spacing: 2px;
}

.clientes .grupo {
    text-align: center;
    border: 1px solid #415364;
    padding: 40px;
    overflow: hidden;
}

.clientes .modulo {
    text-align: center;
    margin-bottom: 30px;
}

.destacado.especial ul li {
    background: none;
    padding-left: 0;
    font-size: 30px;
    color: #949699;
}

.proyectos .modulo {
    margin-bottom: 20px;
}

.proyectos .modulo .imagen {
    display: block;
    text-decoration: none !important;
    position: relative;
}

.proyectos .modulo h3 {
    font-family: "Apercu Bold";
    font-size: 15px;
    color: #cab277;
    margin-top: 12px;
}

.proyectos .modulo p {
    font-family: "Apercu Bold";
    font-size: 20px;
    line-height: 20px;
    margin-bottom: 0;
    color: #fff;
}

.proyectos .modulo span {
    font-size: 14px;
    font-family: "Apercu Bold";
    color: #415364;
    display: block;
}

.proyectos .modulo .rollover {
    width: 100%;
    height: 100%;
    background: rgba(65, 83, 100, .9);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -ms-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

.proyectos .modulo .imagen:hover .rollover {
    opacity: 1;
}

.proyectos .modulo .rollover .int {
    padding: 30px;
    padding-right: 100px;
    position: relative;
}

.proyectos .modulo .rollover .ico {
    max-width: 35px;
    position: absolute;
    bottom: 30px;
    right: 30px;
}

body.page-template-template-proyecto1 h1,
body.page-template-template-proyecto2 h1,
body.page-template-template-proyecto3 h1 {
    color: #fff;
    text-transform: none;
    font-size: 50px;
    line-height: 50px;
    margin-bottom: 40px;
}

body.page-template-template-proyecto1 .banner .leyenda,
body.page-template-template-proyecto2 .banner .leyenda,
body.page-template-template-proyecto3 .banner .leyenda {
    /* top: 70%; */
    top: 60%;
}

.paginador {
    margin-top: 65px;
}

.paginador .ico {
    width: 35px;
}

body.home .proyectos {
    margin-bottom: 75px;
}

body.home .proyectos h2 {
    font-size: 28px;
    margin-bottom: 20px;
}

.entrada h1,
.entrada .titulo h2 {
    font-size: 40px;
    line-height: 45px;
    text-transform: none;
}

.entrada .bajada h2 {
    font-size: 42px;
    line-height: 45px;
    margin-bottom: 30px;
}

.entrada.dos .bajada h2 {
    margin-bottom: 100px;
}

.entrada .bajada p {
    font-size: 30px;
    line-height: 33px;
}

.entrada .imagen {
    margin-top: 75px;
    margin-bottom: 70px;
}

.entrada .bajada .grupo {
    margin: 75px 0;
    margin-top: 120px;
}

.entrada .bajada .grupo .imagen {
    margin: 0;
    position: relative;
    top: -100px;
}

.entrada .modulo.ultimo {
    margin-top: 75px;
}

.entrada .imagen.ultimo {
    margin-top: 40px;
}

.entrada.dos .modulo .imagen {
    margin-top: 0;
}

.entrada.dos .imagen {
    margin-bottom: 40px;
}

.entrada.dos .modulo.ultimo .imagen {
    margin-top: 80px;
}

.entrada.dos .bajada .grupo {
    padding-bottom: 100px;
}

.entrada.dos .bajada .grupo .interior {
    position: relative;
}

.entrada.dos .bajada .grupo .imagen {
    position: absolute;
    left: 0;
    right: 0;
    top: -250px;
}

.entrada.tres .bajada .grupo {
    margin-top: 20px;
    margin-bottom: 0;
}

.entrada.tres .bajada .grupo .imagen {
    top: -275px;
}

body.page-template-template-proyecto1 #main .paginas,
body.page-template-template-proyecto2 #main .paginas,
.colnopdr,
body.page-template-template-proyecto3 #main .paginas {
    padding-right: 0;
}

.contacto h1,
.trabaja h1 {
    font-size: 32px;
    line-height: 35px;
    text-transform: none;
}

.contacto .boton {
    float: left;
}

.contactos p {
    font-family: "Apercu Bold";
    font-size: 17px;
    line-height: 22px;
    color: #415364;
    margin-bottom: 0;
}

.contactos p a {
    font-family: "Apercu Bold";
    font-size: 17px;
    color: #415364 !important;
    text-decoration: none !important;
}

.contactos p.dir {
    max-width: 240px;
}

.contactos .modulo {
    margin-bottom: 15px;
}

.trabaja .imagen {
    margin-top: 50px;
}

.trabaja .textarea.form-control {
    min-height: 100px !important;
}


/***************************/


/* PIE *********************/

footer {
    background: #415364;
    padding: 30px 0 60px 0;
}

footer p {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 20px;
    color: #fff;
    position: relative;
}

footer p a {
    font-size: 16px;
    color: #fff;
}

footer p a:hover {
    color: #fff;
}

footer p.dir {
    max-width: 220px;
    margin-bottom: 15px;
}

footer .icono {
    max-width: 28px;
}

.menu-footer {
    margin: 0;
}

.menu-footer li {
    font-size: 15px;
    background: none;
    padding: 0;
    line-height: normal;
    padding-bottom: 8px;
}

.menu-footer li.ultimo {
    display: none;
}

.menu-footer a {
    font-family: "Apercu Medium Regular";
    font-size: 15px;
    color: #cab277;
    text-transform: uppercase;
    text-decoration: none !important;
}

.menu-footer a:hover {
    color: #fff;
}

footer .boton {
    background: none;
    border: 1px solid #fff;
    float: left;
}

footer .redes {
    margin-top: 15px;
}

.redes a {
    font-size: 18px;
    color: #fff;
    text-decoration: none !important;
    margin-right: 5px;
    display: inline-block;
}

.redes a:hover {
    color: #fff;
}

#translateButton {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #fff;
    border-radius: 50%;
    padding: 10px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    z-index: 1000;
}

#translateButton img {
    width: 30px;
    height: 30px;
}

#translateButton:hover {
    background-color: #0056b3;
}


/***************************/


/* TEXTOS ******************/

@font-face {
    font-family: "Apercu Regular";
    src: url("fonts/0a086e32e41c5e5960b26626757f07f3.eot");
    src: url("fonts/0a086e32e41c5e5960b26626757f07f3d41d.eot?#iefix") format("embedded-opentype"), url("fonts/0a086e32e41c5e5960b26626757f07f3.woff2") format("woff2"), url("fonts/0a086e32e41c5e5960b26626757f07f3.woff") format("woff"), url("fonts/0a086e32e41c5e5960b26626757f07f3.ttf") format("truetype"), url("fonts/0a086e32e41c5e5960b26626757f07f3.svg#Apercu Regular") format("svg");
}

@font-face {
    font-family: "Apercu Medium Regular";
    src: url("fonts/0a86294232788103a7bf4227393fb9b8.eot");
    src: url("fonts/0a86294232788103a7bf4227393fb9b8d41d.eot?#iefix") format("embedded-opentype"), url("fonts/0a86294232788103a7bf4227393fb9b8.woff2") format("woff2"), url("fonts/0a86294232788103a7bf4227393fb9b8.woff") format("woff"), url("fonts/0a86294232788103a7bf4227393fb9b8.ttf") format("truetype"), url("fonts/0a86294232788103a7bf4227393fb9b8.svg#Apercu Medium Regular") format("svg");
}

@font-face {
    font-family: "Apercu Bold";
    src: url("fonts/53dfbbcf0e4d38cc847ccd1e8fa25c53.eot");
    src: url("fonts/53dfbbcf0e4d38cc847ccd1e8fa25c53d41d.eot?#iefix") format("embedded-opentype"), url("fonts/53dfbbcf0e4d38cc847ccd1e8fa25c53.woff2") format("woff2"), url("fonts/53dfbbcf0e4d38cc847ccd1e8fa25c53.woff") format("woff"), url("fonts/53dfbbcf0e4d38cc847ccd1e8fa25c53.ttf") format("truetype"), url("fonts/53dfbbcf0e4d38cc847ccd1e8fa25c53.svg#Apercu Bold") format("svg");
}

h1,
h2,
h3,
h4,
h5 {
    margin: 0;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -ms-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

h1 {
    font-family: "Apercu Bold";
    font-size: 25px;
    line-height: 25px;
    text-transform: uppercase;
    color: #415364;
}

h2 {
    font-family: "Apercu Bold";
    font-size: 42px;
    color: #415364;
}

h3 {
    font-family: "Apercu Bold";
    font-size: 28px;
    color: #415364;
}

p,
a,
span {
    font-family: "Apercu Regular";
    font-size: 24px;
}

p,
span {
    color: #86888b;
    line-height: 28px;
}

p,
ul,
ol {
    margin-bottom: 35px;
}

a {
    color: #404041;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -ms-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

a:hover,
a:focus {
    text-decoration: underline;
    color: #404041;
}

ul {
    padding: 0;
}

ul li {
    font-family: "Apercu Regular";
    font-size: 24px;
    background: url(img/bullet_lista.png) no-repeat 0 7px;
    padding-left: 13px;
    padding-bottom: 1px;
    color: #404041;
    list-style: none;
}

strong,
b {
    font-weight: 600;
}

blockquote {
    border: none;
    padding: 0;
    margin: 0;
}

blockquote p {
    font-size: 35px !important;
    color: #404041 !important;
    line-height: 45px !important;
}


/* TABLAS ******************/

.table-responsive {
    border: none !important;
    margin-bottom: 30px;
    font-size: 12px;
}

.table th {
    font-weight: normal;
    background: #fff;
    color: #414042;
    border: none;
    padding: 20px 8px !important;
    text-align: center;
}

.table td {
    text-align: center;
    color: #414042;
    padding: 20px 8px !important;
}

.table tr.par {
    border-bottom: 1px solid #ddd;
}


/***************************/


/* FORMULARIOS *************/

.form-group {
    margin-bottom: 20px;
}

.form-control {
    font-family: "Apercu Regular";
    font-size: 14px;
    background: none;
    border: none;
    border-bottom: 1px solid #9b9d9f;
    box-shadow: none !important;
    outline: none !important;
    color: #9b9d9f !important;
    height: 35px;
    padding: 5px 0;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
}

textarea.form-control {
    min-height: 135px;
}

.form-control:focus {
    background: none;
    border: none;
    border-bottom: 1px solid #9b9d9f;
    box-shadow: none;
}

.form-control::placeholder {
    color: #9b9d9f;
}

textarea.form-control:focus {
    background: #fff;
    border: none;
    border-bottom: 1px solid #9b9d9f;
}

.boton {
    background: #415364;
    border: 1px solid #415364;
    text-decoration: none !important;
    float: right;
    line-height: 35px;
    text-align: center;
    display: block;
    position: relative;
    padding: 0 20px;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -ms-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

.boton span {
    font-family: "Apercu Bold";
    font-size: 16px;
    color: #fff;
    line-height: 35px;
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -ms-transition: all 0.25s ease;
    -o-transition: all 0.25s ease;
    transition: all 0.25s ease;
    position: relative;
    z-index: 1;
}

.boton:hover {
    background: #fff;
    border: 1px solid #415364;
}

.boton:hover span {
    color: #415364;
}

.boton.inverso {
    background: #fff;
    border: 1px solid #415364;
}

.boton.inverso span {
    color: #415364;
}

.boton.inverso:hover {
    background: #415364;
    border: 1px solid #415364;
}

.boton.inverso:hover span {
    color: #fff;
}

.boton.ultimo {
    margin-left: 12px;
}

.wpcf7-submit {
    background: #fff;
    border: 1px solid #415364;
    font-family: "Apercu Bold";
    font-size: 16px;
    color: #415364;
    line-height: 35px;
    text-align: center;
    padding: 0 20px;
    cursor: pointer;
    border-radius: 0;
    box-shadow: none;
    float: left;
}

.wpcf7-submit:hover,
.wpcf7-submit:focus {
    background: #415364 !important;
    outline: none;
    color: #fff !important;
    border: 1px solid #415364 !important;
    box-shadow: none !important;
}

.centrar {
    text-align: center;
}

.centrar .boton {
    float: none;
    display: inline-block;
}

.help-block {
    font-size: 12px;
    color: #c00;
    line-height: 16px;
}

.alert {
    background: none !important;
    border: none !important;
    font-family: "Apercu Regular";
    padding: 4px 5px;
    font-size: 12px;
    color: #86888b;
    margin-top: 25px;
    text-align: left;
}

.alert-success {
    color: #86888b;
    background: none !important;
    border: none !important;
}

div.wpcf7 .ajax-loader {
    line-height: normal;
}


/***************************/

@keyframe myfadeInAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@-webkit-keyframes myfadeInAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


/***************************/

@media (min-width:992px) {
    .w-20 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 20% !important;
        flex: 0 0 20% !important;
        max-width: 20%;
    }
}

@media (min-width:1600px) {
    section {
        padding: 100px 0;
    }
    .paginas {
        padding: 0 150px;
    }
    .entrada.dos {
        padding-bottom: 230px;
    }
}


@media screen and (min-width:300px) and (max-width:992px) {
    .mobile {
        display: block;
    }
    .desktop {
        display: none;
    }
    header {
        padding: 10px 0;
        position: fixed;
        background: #fff;
    }
    header .logo {
        position: relative;
        z-index: 998;
    }
    body.page-child header .logo .v1 {
        display: inline-block;
    }
    body.page-child header .logo .v2 {
        display: none;
    }
    body.page-template-template-proyectos .logo .v1 {
        display: inline-block;
    }
    body.page-template-template-proyectos .logo .v2 {
        display: none;
    }
    .menu {
        display: none;
    }
    .menu-trigger,
    #txt-menu {
        display: block;
    }
    .sidr .menu {
        display: block;
        float: none;
    }
    .menu {
        text-align: center;
    }
    .menu li {
        display: block;
        padding: 0;
        padding-bottom: 5px;
    }
    .menu a {
        font-size: 22px;
        color: #415364 !important;
    }
    .paginas {
        padding: 0;
    }
    body.page-template-template-clientes #main,
    body.template-categoria #main,
    body.page-template-template-contacto #main,
    body.page-template-template-trabaja #main {
        padding-top: 66px;
    }
    section {
        padding: 60px 0;
    }
    .titulo {
        margin-bottom: 35px;
    }
    .banner {
        height: 380px;
        background-repeat: no-repeat;
        background-position: center center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
    }
    .banner .icon-scroll.ico {
        max-width: 25px;
    }
    .slide .modulo .int {
        height: 400px;
        background-repeat: no-repeat;
        background-position: center center;
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
    }
    .slide h1 {
        font-size: 32px;
        line-height: 35px;
    }
    .slide .leyenda {
        top: 60%;
    }
    #portada .titulo {
        margin-bottom: 40px;
    }
    #portada p {
        font-size: 24px;
        line-height: 30px;
    }
    #portada .servicios {
        margin-bottom: 50px;
    }
    #portada .servicios a {
        padding: 18px 15px;
    }
    #portada .servicios a .ico {
        max-width: 30px;
        margin-right: 10px;
    }
    #portada .servicios a .mas {
        right: 15px;
        width: 15px;
    }
    #portada .servicios h2 {
        font-size: 25px;
    }
    .nosotros h1 {
        font-size: 25px;
    }
    .nosotros h3 {
        font-size: 22px;
        line-height: 26px;
    }
    .equipo {
        margin: 40px 0;
        padding: 0;
    }
    .equipo .modulo .cargo {
        display: none;
    }
    .nosotros .descripcion {
        margin-top: 0;
    }
    .servicios .descripcion {
        margin-bottom: 40px;
    }
    .servicios .descripcion p {
        font-size: 22px;
        line-height: 27px;
    }
    .desplegador {
        padding: 18px 15px;
    }
    .desplegador .ico {
        max-width: 30px;
        margin-right: 10px;
    }
    .desplegador .mas {
        right: 15px;
    }
    .desplegador .menos {
        right: 15px;
    }
    .desplegable .contenido {
        padding: 15px 20px;
    }
    .desplegable .contenido ul li {
        font-size: 16px;
    }
    .empresas .modulo .ico {
        max-width: 220px;
        margin-bottom: 20px;
    }
    .empresas .modulo p {
        font-size: 16px;
        line-height: 22px;
    }
    .clientes h3 {
        margin-bottom: 40px;
    }
    .trabaja .imagen {
        margin-top: 0;
    }
    .contacto h1,
    .trabaja h1 {
        font-size: 25px;
    }
    .contactos {
        margin-top: 30px;
    }
    body.page-template-template-proyecto1 h1,
    body.page-template-template-proyecto2 h1,
    body.page-template-template-proyecto3 h1 {
        font-size: 32px;
        line-height: 35px;
    }
    body.page-template-template-proyecto1 .banner .leyenda,
    body.page-template-template-proyecto2 .banner .leyenda,
    body.page-template-template-proyecto3 .banner .leyenda {
        /* top: 65%; */
        top: 40%;
    }
    .entrada .bajada p {
        font-size: 24px;
        line-height: 28px;
    }
    .entrada .imagen {
        margin-bottom: 30px;
        margin-top: 0;
    }
    .entrada .imagen.ultimo {
        margin-top: 0;
    }
    .entrada .bajada h2 {
        font-size: 32px;
        line-height: 35px;
        margin-bottom: 40px;
    }
    .entrada .bajada .grupo {
        margin: 0;
        margin-bottom: 40px;
    }
    .entrada .bajada .grupo .imagen {
        top: 0;
    }
    .entrada.dos .bajada h2 {
        margin-bottom: 40px;
    }
    .entrada .modulo.ultimo {
        margin-top: 0;
    }
    .entrada.dos .modulo.ultimo .imagen {
        margin-top: 0;
    }
    .entrada.dos .bajada .grupo .imagen {
        position: relative;
        top: 0;
    }
    .entrada.tres .bajada .grupo .imagen {
        top: 0;
        margin-bottom: 40px;
        margin-top: 20px;
    }
    .entrada.tres .bajada .grupo {
        margin-top: 0;
    }
    footer {
        text-align: center;
        padding: 30px 0;
    }
    footer .menu-footer {
        display: none;
    }
    footer p.dir {
        margin: auto;
        margin-top: 20px;
        margin-bottom: 20px;
    }
    footer .boton {
        float: none;
        display: inline-block;
        margin-top: 20px;
    }
    h2 {
        font-size: 28px;
    }
    .colnopdr {
        padding-right: 15px;
    }
    #main {
        padding-top: 56px;
    }
}

@media screen and (min-width:300px) and (max-width:576px) {
    #portada .servicios a h3 {
        font-size: 17px;
    }
    #portada .servicios a .mas {
        width: 15px;
    }
    .desplegador h3 {
        font-size: 17px;
    }
    .desplegador .mas,
    .desplegador .menos {
        width: 15px;
    }
    .desplegador .ico {
        float: left;
        width: 25px;
        position: relative;
        top: -2px;
    }
    #portada .servicios a .ico {
        float: left;
        width: 25px;
        position: relative;
        top: -2px;
    }
}

@media screen and (min-width:300px) and (max-width:320px) {}


/* css swiper */

.swiper-button-next,
.swiper-button-prev {
    color: #415364!important;
    width: calc(35px / 33* 33) !important;
}

.swiper-button-next::after {
    background-image: url(../assets/img/swiperjs/next.png);
    background-position: 50%;
    background-repeat: no-repeat;
    height: 35px;
    width: 35px;
}

.swiper-button-prev::after {
    background-image: url(../assets/img/swiperjs/prev.png);
    background-position: 50%;
    background-repeat: no-repeat;
    height: 35px;
    width: 35px;
}

.swiper-button-prev:after,
.swiper-button-next:after {
    background-position: 50%;
    background-repeat: no-repeat;
    content: ""!important;
}

.swiper-wrapper
{padding-bottom: 30px;}

.swiper-pagination-bullet {
    background: #415364 !important;
    height: .725rem!important;
    transition: .5s ease !important;
    width: .725rem!important;}

.txt-shadow{
    text-shadow: 5px 2px 8px #000000b3;
}

.wi-100 {
    width: 100%;
}

.rounded-24{
    border-radius: 24px;
}

/* #btn-banner-ancla .btn-banner {
    background-color: white;
    border-radius: 24px;
    color:#131313!important;
    box-shadow: -1px 3px 26px -1px rgba(0,0,0,0.75);
    -webkit-box-shadow: -1px 3px 26px -1px rgba(0,0,0,0.75);
    -moz-box-shadow: -1px 3px 26px -1px rgba(0,0,0,0.75);
    padding: 8px 16px;

    transition: background-color 0.3s ease;
  animation: bounce 1s ease-in-out infinite;
}

#btn-banner-ancla .btn-banner:hover {
    background-color: white;
    border-radius: 24px;
    color:red!important;
    box-shadow: -1px 3px 26px -1px rgba(0,0,0,0.75);
    -webkit-box-shadow: -1px 3px 26px -1px rgba(0,0,0,0.75);
    -moz-box-shadow: -1px 3px 26px -1px rgba(0,0,0,0.75);
} */

#btn-banner-ancla .btn-banner {
    background-color: #ffffffa6;
    border-radius: 24px;
    color: #131313 !important;
    box-shadow: -1px 3px 26px -1px rgba(0, 0, 0, 0.75);
    padding: 8px 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

#btn-banner-ancla .btn-banner:hover {
    /* color: red !important; */
    background-color: white;
}

#btn-banner-ancla .btn-bounce {
    display: inline-block;
    animation: bounce-smooth 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
}

/* Animación de brinco */
@keyframes bounce-smooth {
    0%, 100% {
        transform: translateY(0);
    }
    30% {
        transform: translateY(-10px);
    }
    50% {
        transform: translateY(-6px);
    }
    70% {
        transform: translateY(-8px);
    }
}
html {
    scroll-behavior: smooth;
  }
  