@font-face {
    font-family:'Montserrat';
    src: url('../fontface/Montserrat-Regular.woff2') format('woff2'),
        url('../fontface/Montserrat-Regular.woff') format('woff');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}

@font-face {
    font-family:'Montserrat';
    src: url('../fontface/Montserrat-Medium.woff2') format('woff2'),
        url('../fontface/Montserrat-Medium.woff') format('woff');
    font-weight:500;
    font-style:normal;
    font-display:swap;
}

@font-face {
    font-family:'Montserrat';
    src: url('../fontface/Montserrat-SemiBold.woff2') format('woff2'),
        url('../fontface/Montserrat-SemiBold.woff') format('woff');
    font-weight:600;
    font-style:normal;
    font-display:swap;
}

@font-face {
    font-family:'Montserrat';
    src: url('../fontface/Montserrat-Bold.woff2') format('woff2'),
        url('../fontface/Montserrat-Bold.woff') format('woff');
    font-weight:700;
    font-style:normal;
    font-display:swap;
}

@font-face {
    font-family:'Montserrat';
    src: url('../fontface/Montserrat-ExtraBold.woff2') format('woff2'),
        url('../fontface/Montserrat-ExtraBold.woff') format('woff');
    font-weight:800;
    font-style:normal;
    font-display:swap;
}

html {
	height:100%;
}

* {
	font-smooth:always;
    -webkit-font-smoothing:antialiased;
    font-smoothing:antialiased; 
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body {
    min-width:320px; 
	font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:400;
	font-size:16px;
	line-height:20px;
    color:#333;
    margin:auto;
}

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

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

h1, h2, h3 {
    margin:0;
	padding:0;
	border:0;
	font:inherit;
	font-size:100%;
	font-weight:normal;
	vertical-align:baseline;
}

p {
    margin:0;
    padding:0;
}

ul {
    margin:0;
    padding:0;
    list-style:none;
}

section {
    margin:0;
    padding:0;
    font-size:0;
    line-height:0;
}

iframe {
	margin:0;
	padding:0;
}

input, textarea, select {
    outline:none;
}

.clear {
	clear:both;
}


/*/// PORTADA ///*/

#contenedorVideo {
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
    background:#000;
    line-height:0;
}

#VideoFS {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:1;
}

.background-punto {
    position:absolute;
    inset:0;
    background-image:url(../imgs/punto.png);
    background-repeat:repeat;
    pointer-events:none;
    z-index:2;
}

.cabecera-home {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:3;
    padding:30px 0;
}

.centrador {
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    max-width:1920px;
    margin:auto;
    padding:0 30px;
}

.logo {
	width:190px;
}

.logo.center {
    display:none;
}

.ClipRedes {
    display:flex;
    align-items:center;
    margin-top:-26px;
}

.ico {
    width:40px;
    margin-left:15px;
}

.ico.linkedin {
    position:relative;
    top:-2px;
    width:38px;
}

.ClipFlecha {
    position:absolute;
    bottom:50px;
    left:0;
    right:0;
    width:50px;
    height:50px;
    margin:auto;
    animation:bounceFlecha 1.5s infinite;
    z-index:3;
}

@keyframes bounceFlecha {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(10px);
    }
}

.flecha-baja {
    display:inline-block;
    width:50px;
    height:50px;
    border:none;
    background-image:url('../imgs/bajar.png');
    background-size:contain;
    background-repeat:no-repeat;
    filter:drop-shadow(0 2px 6px rgba(0,0,0,0.7));
}


/*/// INTRO ///*/

.intro {
    padding:100px 0 136px;
    background:#FFF;
}

.intro .centrador {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:40px;
    max-width:1330px;
    margin:auto;
    padding:0 40px;
}

.intro-izq {
    width:40%;
}

.intro-der {
    width:60%;
    padding:7px 0 0 42px;
}

.intro h1 {
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:800;
    font-size:40px;
    line-height:46px;
    letter-spacing:-0.7px;
    margin:-1px 0 6px;
}

.intro h2 {
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:600;
    font-size:21px;
    line-height:25px;
    margin:0 0 27px;
}

.intro p {
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:400;
    font-size:17px;
    line-height:24px;
    margin:34px 0 0 0;
}

.intro-der p {
    font-size:19px;
    line-height:29px;
    margin:0;
}


/*/// TRABAJOS ///*/

.trabajos {
    width:100%;
}

.trabajo {
    position:relative;
    overflow:hidden;
}

.trabajo img {
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    transform:scale(1.02);
}

.overlay {
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    background:rgba(0,0,0,.38);
    text-align:center;
    z-index:3;
}

.overlay h2 {
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:700;
    font-size:46px;
    line-height:53px;
    text-transform:uppercase;
    color:#FFF;
    margin:0;
}

.overlay h3 {
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:400;
    font-size:30px;
    line-height:37px;
    text-transform:uppercase;
    color:#FFF;
    margin:5px 0 0 0;
}

.btn-play {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:140px;
    height:48px;
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:700;
    font-size:16px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#FFF;
    margin-top:30px;
    padding:0;
    border:2px solid #FFF;
    background:transparent;
    transition:.25s;
    cursor:pointer;
}

.btn-play:hover {
    color:#000;
    background:#FFF;
}


/*/// LOGOS ///*/

.ClipLogos {
    position:relative;
    float:left;
    width:100%;
    text-align:center;
    padding:70px 0 40px;
    margin:0;
    background:#FFF;
    z-index:8;
}

.ClipLogos h2 {
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:700;
    font-size:45px;
    letter-spacing:-1px;
    color:#3B3D40;
    margin:auto;
    padding:0 30px 7px;
}

.ClipLogos p {
    max-width:1040px;
    margin:auto;
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:400;
    font-size:21px;
    line-height:27px;
    color:#656B6F;
    padding:10px 30px 25px;
}

.ClipThumbs_int_clientes {
    max-width:1920px;
    padding:0 30px;
}

.thumb_cliente {
    width:100%;
    margin:auto;
    /*border:1px solid #999;*/
}

.thumb_cliente_int {
    margin:0;
}

.ClipThumbs_int_clientes .owl-nav {
    display:none;
}

.ClipThumbs_int_clientes .owl-dots {
    display:none;
}


/*/// FOOTER ///*/

footer {
    width:100%;
    padding:60px 0;
    background:#000;
}

footer > .centrador {
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
}

footer .ClipLogo {
    margin-bottom:40px;
}

footer .logo {
    width:200px;
}

footer .Clip-btn-FT {
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:15px;
}

.ico-tel, .ico-sobre {
    width:20px;
    padding-top:1px;
    margin-right:7px;
}

.ico-sobre {
    margin-right:8px;
}

.telefono {
    display:inline-block;
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:500;
    font-size:16px;
    line-height:27px;
    color:#FFF;
}

.sobre {
    display:inline-block;
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:500;
    font-size:16px;
    line-height:27px;
    color:#FFF;
}

.telefono:hover {
    color:#CCC;
}

.sobre:hover {
    color:#CCC;
}

footer .redes-footer {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    margin-top:20px;
}

footer .redes-footer img {
    width:40px;
    margin:0;
}

footer .volver-arriba {
    margin-top:40px;
}

footer .volver-arriba img {
    width:40px;
}

.banda {
    width:100%;
    margin-top:60px;
    padding:9px 0 11px;
    background:#FFF;
}

.copyright {
    font-family:'Montserrat', Arial, Helvetica, sans-serif;
    font-weight:500;
    font-size:15px;
    color:#000;
    margin:auto;
}


/*/// Modal video ///*/

#modalVideo {
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.9);
    z-index:9999;
}

.modal-contenido {
    position:absolute;
    top:50%;
    left:50%;
    width:90%;
    max-width:1400px;
    transform:translate(-50%,-50%);
}

#youtubeFrame {
    display:block;
    width:100%;
    aspect-ratio:16/9;
    border:none;
}

.cerrar-modal {
    position:fixed;
    top:20px;
    right:20px;
    width:40px;
    z-index:10000;
}

.cerrar-modal img {
    display:block;
    width:100%;
    height:auto;
}


/*/// Queries ///*/


@media screen and (max-width:1390px) {
    .intro .centrador { gap:10px; max-width:1310px; }
}

@media screen and (max-width:1340px) {
    .intro .centrador { gap:40px; max-width:1230px; padding:0 30px; }
}

@media screen and (max-width:1270px) {
    .intro .centrador { gap:0; padding:0 50px; }
    .intro-der { padding:7px 20px 0 70px; }
    .intro h1 { font-size:34px; line-height:38px; margin:2px 0 10px; }
    .intro h2 { font-size:18px; line-height:22px; margin:0 0 27px; }
}

@media screen and (max-width:1023px) {
    .cabecera-home { padding-top:40px; }
    .ClipLogo { float:none; margin:auto; }
    .logo { width:180px; }
    footer .logo { width:200px; }
    .ClipRedes { display:none; }
    .intro { padding:60px 0 80px; }
    .intro .centrador { display:block; padding:0 30px; }
    .intro-izq { width:100%; }
    .intro-der { width:100%; padding:0; }
    .intro h1 { font-size:32px; line-height:37px; margin:0 0 7px; }
    .intro h2 { font-size:17px; line-height:21px; margin:0; }
    .intro p { font-size:18px; line-height:25px; margin-top:25px; }
    .overlay h2 { max-width:430px; font-size:35px; line-height:42px; }
    .overlay h3 { max-width:500px; font-size:26px; line-height:33px; }
    .btn-play { height:44px; margin-top:25px; }
}

@media screen and (max-width:767px) {
    .logo { width:170px; }
    footer .logo { width:170px; }
    .intro { padding:45px 0 60px; }
    .intro .centrador { padding:0 22px; }
    .intro h1 { font-size:25px; line-height:30px; margin-bottom:5px; }
    .intro h2 { font-size:16px; line-height:20px; }
    .intro p { font-size:17px; line-height:24px; }
    .overlay h2 { max-width:274px; font-size:22px; line-height:27px; margin:-10px auto 0; }
    .overlay h3 { max-width:280px; font-size:18px; line-height:23px; margin-top:2px; }
    .btn-play { min-width:100px; height:36px; font-size:15px; margin-top:20px; }
    .banda { padding:12px 0 15px; }
    .copyright { font-size:16px; }
    .cerrar-modal { top:-40px; right:0; width:30px; }
    .ico-tel { margin-right:9px; }
    .ico-sobre { margin-right:11px; }
}

/*
@media screen and (max-width:567px) {
    .thumb_cliente { width:70%; }
}
*/