/* ESTILOS NORMALES (para escritorios muy grandes)
   ========================================================================= */
 
@import url('https://fonts.googleapis.com/css?family=Montserrat:400,700');
/* Common styles */
* {
	box-sizing: border-box;
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
}

body {
	background-color: #e0322f;
	transition: opacity 200ms;
	opacity: 1;
}

body.loading {
	opacity: 0;
}

/* --- */

.decoration-layer {
    position: fixed;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    z-index: 1;
}

.spot {
    background-image: url(../img/spot.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    width: 64px;
    height: 64px;
    z-index: 2;
    transition: opacity 1s;
    opacity: 0;
}

.floating {
    animation-name: floating1;
    animation-duration: 3s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

.floating:nth-child(1n) {
    animation-name: floating1;
    animation-duration: 3s;
    left: 100px;
}

.floating:nth-child(2n) {
    animation-name: floating2;
    animation-duration: 3.5s;
    left: 200px;
}

.floating:nth-child(3n) {
    animation-name: floating3;
    animation-duration: 4s;
    left: 300px;
}

.floating:nth-child(4n) {
    animation-name: floating4;
    animation-duration: 3.75s;
    left: 400px;
}

@keyframes floating1 {
    from {
        transform: translate(0, 0px);
    }
    65% {
        transform: translate(0, 8px);
    }
    to {
        transform: translate(0, -0px);
    }
}

@keyframes floating2 {
    from {
        transform: translate(0, 0px);
    }
    60% {
        transform: translate(0, 10px);
    }
    to {
        transform: translate(0, -0px);
    }
}

@keyframes floating3 {
    from {
        transform: translate(0, 0px);
    }
    70% {
        transform: translate(0, 18px);
    }
    to {
        transform: translate(0, -0px);
    }
}

@keyframes floating4 {
    from {
        transform: translate(0, 0px);
    }
    70% {
        transform: translate(0, 16px);
    }
    to {
        transform: translate(0, -0px);
    }
}

/* --- */

.conf{
	fill:#F0EDDE!important;
	stroke:#F0EDDE!important;
	stroke-linecap:square;
	stroke-linejoin:square;
	fill-rule:evenodd;
	stroke-miterlimit:10;
}

/* --- */

.aro, .bocadillo, .diamante, .brillo1, .brillo2, .brillo3, .brillo4, .brillo5, .cohete, .users, .flecha1, .flecha2, .derecho, .izquierdo, .b1, .b2, .b3, .b4, .b5, .b6, .b7, .b8, .b9, .b10, .b11, .b12 { display: none; }

/* --- */

.visually-hidden {
	position: absolute;
	overflow: hidden;
	clip: rect(0 0 0 0);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

/* Basic styling */
img {
	max-width: 100%;
}

section {
	background-repeat: no-repeat;
	background-position: right 65%;
	background-origin: content-box;
	background-size: 35vw;
	color: #efecde;
	padding: 0 8vw;
	position: relative;
	z-index: 3;
}

.down-arrow {
	position: absolute;
	bottom: 1em;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.down-arrow:hover {
	animation-name: floating1;
	animation-duration: 1s;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
}

h2 {
	color: #383f47;
	text-transform: uppercase;
	margin-bottom: 2vw;
}

sup {
	color: #383f47;
}

a {
	color: inherit;
	text-decoration: none;
}

.section-content {
	font-size: 2.15vw;
	width: 55%;
}

.caps {
	text-transform: uppercase;
}

.details {
	margin-top: 0;
}

.footnote {
	font-size: 2.75vw;
}

/* Header */
header {
	position: fixed;
	z-index: 4;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 1vw;
	top: 0;
	left: 0;
	right: 0;
}

.burger {
	background-color: transparent;
	background-image: url(../img/burger3.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px;
	border: 0;
	outline: 0;
	position: relative;
	z-index: 5;
	color: transparent;
	width: 100px;
	cursor: pointer;
}

.burger.active {
	background-image: url(../img/burger_active.svg);
}

nav {
	position: fixed;
	width: 100%;
	height: 100vh;
	background-color: #efecde;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	transition: opacity 300ms;
	pointer-events: none;
}

.burger.active + nav {
	opacity: 1;
	z-index: 4;
	pointer-events: unset;
}

nav .main-menu {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	list-style: none;
}

nav .menu-item {
	font-size: 3.25vw;
	text-transform: uppercase;
	color: #e0322f;
}

.logo-wrapper {
	justify-self: right;
}

header .caps-logo {	
	width: 200px;
}

.caps-logo-center{
	width: 350px;
}

.caps-logo{
	opacity: 0;
}

button.burger {
	justify-self: left;
}

/* Section specific styles */

#section-logo {
	padding: 0;
}

#section-logo .section-content {
	width: 100%;
	text-align: center;
}

.caps-logo {
	width: 350px;
	margin: 0 auto;
}

/* ------------------------- */

#section-hacemos .section-content {
	width: 100%;
}

.columns-content {
	margin-top: 1em;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.group {
	margin-left: 6vw;
}

#section-hacemos h3 {
	font-size: 2.25vw;
	margin: 0;
	position: relative;
	text-transform: uppercase;
}

#section-hacemos ul {
	margin: 0.25em 0 1em 0;
}

#section-hacemos h3::before {
	content: '';
	display: block;
	width: 4em;
	height: 4em;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	transform: translateX(-90%) translateY(-40%);
	background-size: 100%;
}

.consulting::before {
	background-image: url(../img/ico_plans.svg);
}

.design::before {
	background-image: url(../img/ico_design.svg);
}

.shopper::before {
	background-image: url(../img/ico_shopping.svg);
}

.brand::before {
	background-image: url(../img/ico_copyright.svg);
}

#section-hacemos li {
	font-size: 1.75vw;
}

/* ------------------------- */

#section-contacto .section-content {
	width: 85%;
}

p.contact {
	margin: 0 0 0.25em 1em;
	font-size: 2.15vw;
	position: relative;
}

p.contact::before {
	position: absolute;
	display: block;
	content: '';
	background-repeat: no-repeat;
	width: 2em;
	height: 2em;
	transform: translateX(-85%) translateY(-15%);
	background-size: 40%;
	background-position: center center;
}

p.contact.mobile::before {
	background-image: url(../img/ico_phone.svg);
}

p.contact.email::before {
	background-image: url(../img/ico_mail.svg);
}

p.contact.maps::before {
	background-image: url(../img/ico_pin.svg);
}

/* --- */
/* --- */

/* secciones */

.section-img-t {
	float:right;
	width: 45%;
}

.section-img-b {
	display: none;
}

/* secciones */

/* imagenes */

/* img 1, img 2, img 3 , img 4 , img 5 */
.img1-b,.img2-b,.img3-b,.img4-b,.img5-b {display: none;}

/* img 1 */
.img1-t {display: block;
	margin-top: 9.5%!important;
	height: 94%!important;
	width: 94%!important;
	float: right!important;
}

/* img 2 */
.img2-t {
	margin-top: 18.5%!important;
	height: 94%!important;
	width: 94%!important;
	float: right!important;
}

/* img 3 */
.img3-t {
	margin-top: 15%!important;
	height: 94%!important;
	width: 94%!important;
	float: right!important;
}

/* img 4 */
.img4-t {
	margin-top: 11%!important;
	height: 94%!important;
	width: 94%!important;
	float: right!important;
}

/* img 5 */
.img5-t {
	margin-top: 11%!important;
	height: 34%!important;
	width: 34%!important;
	float: right!important;
}

/* imagenes */

#section-coordinamos {background-size: 35vw;}

#section-pensamos .action {width: 55%;}

#section-pensamos .details {font-size: 1.25vw;}

#section-pensamos .section-content {
	width: 100%;
	clear: both;
}
 
/* RESPONSIVE
   ========================================================================= */
 
/* Tablets en horizonal y escritorios normales
   ------------------------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1199px) { 
	.down-arrow {
        max-width: 90px;
        bottom: 0;
    }
}

/* Móviles en horizontal o tablets en vertical
   ------------------------------------------------------------------------- */
@media (max-width: 767px) { 
	.down-arrow {
        max-width: 70px;
        bottom: 0;
    }
	nav .menu-item {
        font-size: 6vw;
    }
    
    p.contact {
        font-size: 3.75vw;
        margin: 0 0 0.55em 1em;
    }	
	/* secciones */
	section {
        background-position: center 75%;
        background-size: 50vw;
    }
   
    #section-pensamos .action {font-size: 4vw!important;}
    #section-pensamos .details {font-size: 2vw!important;}
    .section-content {
        font-size: 5vw;
        width: 100%;
        position: relative;
    }
	.section-img-t {	display: none;}
	.section-img-b {
		width: 100%;
		display: block;
	}
	/* secciones */
	
	/* imagenes */	
	/* img 1, img 2, img 3 , img 4 , img 5 */
	.img1-t, .img2-t, .img3-t, .img4-t, .img5-t {display: none;}
	/* img 1 */	
	.img1-b {
		display: block;
		height: 35%!important;
		width: 35%!important;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	/* img 2 */	
	.img2-b {
		display: block;
		height: 35%!important;
		width: 35%!important;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	/* img 3 */	
	.img3-b {
		display: block;
		height: 35%!important;
		width: 35%!important;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	/* img 4 */	
	.img4-b {
		display: block;
		height: 35%!important;
		width: 35%!important;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	/* img 5 */	
	.img5-b {
		display: block;
		height: 25%!important;
		width: 25%!important;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
}
 
/* Móviles en vertical
   ------------------------------------------------------------------------- */
@media (max-width: 480px) { 
	.down-arrow {
        max-width: 60px;
        bottom: 0;
    }
	nav .menu-item {
        font-size: 6vw;
    }
    .group {
        margin-left: 15vw;
    }
    .columns-content {
        margin-top: 2em;
        grid-template-columns: 1fr;
    }
    p.contact {
        font-size: 3.75vw;
        margin: 0 0 0.55em 1em;
    }	
	/* secciones */
	section {
        background-position: center 75%;
        background-size: 50vw;
    }
    #section-hacemos .section-content {
        top: 0;
    }
    #section-hacemos h3 {
        font-size: 4vw;
    }
    #section-hacemos li {
        font-size: 3vw;
    }
    #section-pensamos .action {font-size: 5vw!important;}
    #section-pensamos .details {font-size: 2.05vw!important;}
    .section-content {
        font-size: 5vw;
        width: 100%;
        position: relative;
    }
	.section-img-t {	display: none;}
	.section-img-b {
		width: 100%;
		display: block;
	}
	/* secciones */
	
	/* imagenes */	
	/* img 1, img 2, img 3 , img 4 , img 5 */
	.img1-t, .img2-t, .img3-t, .img4-t, .img5-t {display: none;}
	/* img 1 */	
	.img1-b {
		display: block;
		height: 65%!important;
		width: 65%!important;
		left: 0;
		right: 0;
		margin: 65px auto;
	}
	/* img 2 */	
	.img2-b {
		display: block;
		height: 65%!important;
		width: 65%!important;
		left: 0;
		right: 0;
		margin: 65px auto;
	}
	/* img 3 */	
	.img3-b {
		display: block;
		height: 65%!important;
		width: 65%!important;
		left: 0;
		right: 0;
		margin: 65px auto;
	}
	/* img 4 */	
	.img4-b {
		display: block;
		height: 65%!important;
		width: 65%!important;
		left: 0;
		right: 0;
		margin: 65px auto;
	}
	/* img 5 */	
	.img5-b {
		display: block;
		height: 45%!important;
		width: 45%!important;
		left: 0;
		right: 0;
		margin: 35px auto;
	}
}

/* --- */

div.cc-window.cc-banner.cc-type-info.cc-theme-classic.cc-bottom.cc-color-override--160555778 {
	opacity: 0.7!important;
}

span.cc-message {
	font-size: 14px!important;
	font-weight: normal!important;
}

.aviso-legal{
	background-color:#fff!important;
}

.texto-justificado{
	text-align:justify!important;
	font-size: 14px!important;
}

.right-logo{
	width: 200px;
    float: right;
}
.grid {
	display: flex;
	flex-direction: row;

}

.col-4 {
	padding: 10px;
	width: 33%;
}
.grid-g {
	display: flex;
	flex-direction: row;

}

.col-g4 {
	padding: 10px;
	width: 33%;
}

/* Responsive layout - makes a one column layout instead of a two-column layout */
@media (max-width: 900px) {
	.grid {
	  flex-direction: column;
	  align-items: center;
	}
	.col-4 {
		width: 100%;
		text-align: center;
	}
}


.text-center {
	text-align: center;
}
.video {
	margin-top: 150px;
}
video {
	height: auto !important;
	max-width: 380px;
	width: 100%;
}
@media (max-width: 900px) {
	video {
		height: auto !important;
		max-width: 280px;
		width: 100%;
	}
}
video:hover, video:focus, video:active {
	border: 0px;
	outline: #383f47;
}
audio::-webkit-media-controls-timeline,
video::-webkit-media-controls-timeline {
    display: none;
}

img.zoom {
    width: 350px;
	position: relative;
	cursor: pointer;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
}
 
.transition {
    -webkit-transform: scale(1.02); 
    -moz-transform: scale(1.02);
    -o-transform: scale(1.02);
    transform: scale(1.02);
}
.full-img {
	color: #383f47;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 5;
	position: fixed;
	height: 100vh;
	background: #ffffff 50%;
	overflow: hidden;
	justify-content: center;
}

.full-img .grid-img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 90%;
	margin: auto;
	flex-direction: column;
}
.full-img .grid-title {
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	width: 100%;
}
.full-img img {
	max-width: 100%;
}
.grid-sub {

}
.close {
	cursor: pointer;
}
@media (min-width: 790px) {
	.full-img .grid-img {
		width: 60%;
	}
}

.overflow-scroll {
	overflow: scroll !important;
}