
:root{
	--darkBlue: #180f68;
	--skyBlue: #00ade8;
	--skyBlueD: #007fc9;

}
*{
	box-sizing: border-box;
}

html{
	scroll-behavior: smooth;
}

body{
	margin: 0;
	font-family: helvetica, sans-serif;
	line-height: 1.5;
}

h1{
	margin: 0;
	line-height: 1;
	font-size: 100%;
}

h2{
	text-transform: uppercase;
	font-size: 200%;
	line-height: 1;
	/*margin-bottom: 2em;	*/
}

img{
	max-width: 100%;
}

a{
	color: var(--darkBlue);
}


/* ======= SCROLL DOWN ======= */

.scroll-down{
	
	display: inline-flex;
	width: 36px;
	height: 60px;
	border: solid 2px var(--skyBlue);
	border-radius: 18px;
	justify-content: center;
	align-items: center;
	
	filter: drop-shadow(0 0 3px #000);
}

	@media screen and (min-width: 1025px){
		.scroll-down{
			bottom: 30px;
			position: absolute;
			bottom: 80px;
			left: 50%;
			transform: translateX(-50%);
		}
	}

	.scroll-down::before{
		content: "";
		display: inline-block;
		width: 8px;
		height: 8px;
		background-color: var(--skyBlue);
		border-radius: 50%;
		animation-name: vertMove;
		animation-iteration-count: infinite;
		animation-duration: 1.5s;
		animation-fill-mode: both;
		animation-timing-function: linear;
	}

	@keyframes vertMove{
		0%{
			transform: translateY(-20px);
		}
		50%{
			opacity: 1;
		}
		100%{
			transform: translateY(20px);
			opacity: 0;
		}
	}


/* ===== CTA ====== */

.cta{
	padding: 15px 40px;
	background-color: var(--darkBlue);
	color: #fff;;
	border: none;
	border-radius: 25px;
	display: block;
	margin-left: auto;
	cursor: pointer;
	text-decoration: none;
	font-size: 100%;
}

a.cta{
	display: inline-block;
}


/* ===== __DESCRIPION__ ===== */

[class*="__description"]{
	text-align: center;
	margin-bottom: 60px;
}

[class*="__description"]::after{
	content: "";
	display: block;
	height: 3px;
	width: 100px;
	background-color: var(--darkBlue);
	margin: 15px auto 0;
}

.clients [class*="__description"]::after{
	background-color: var(--skyBlue);
}

/* ===== LOGO ===== */

.logo{
	color: #000;
	text-decoration: none;
	display: inline-block;
	border-radius: 60px;
	overflow: hidden;
}
	@media screen and (min-width: 1025px){
		.logo{
			margin: 0;
		}
	}

	.logo__img{
		width: 250px;
		max-width: 80vw;
		height: auto;
		padding: 5px 20px;
		background: white;
		display: block;
		-webkit-box-sizing: content-box;
		-moz-box-sizing: content-box;
		box-sizing: content-box;
	}
	@media screen and (min-width: 1025px){
		.logo__img{
			width: auto;
			max-width: 250px;
		}
	}

	.logo__img--large{
		padding: 10px 20px;
	}

	@media screen and (min-width: 1025px){
		.logo__img--large{
			padding: 20px 40px;
		}
	}

/* ===== HEADER ===== */

.header{
	padding: 10px 0;
	position: fixed;
	z-index: 10;
	width: 100%;
	transition: opacity 2400ms;
	background-color: #fff;
	opacity: 0;
	display: none;
	border-bottom: solid 1px var(--skyBlue);
}
	@media screen and (min-width: 768px){
		.header{
			display: block;
		}
	}

	.header--dark{
		opacity: 1;
	}

	.header__content{
		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: 1170px;
		margin-left: auto;
		margin-right: auto;
		padding: 0 15px;
	}

	.header__title{
		font-size: 25px;
		margin: 0;
	}

	.header__nav{
		display: flex;
		align-items: center;
	}

	.header__search{
		font-size: 20px;
		background-color: transparent;
		border: none;
		cursor: pointer;
	}

/* ====== MENU ===== */

.menu{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
}

	.menu__link{
		text-decoration: none;
		color: var(--skyBlue);
		/*text-transform: uppercase;*/
		/*font-weight: 700;*/
		display: block;
		padding: 5px 10px;
		/*font-size: 14px;*/
	}

/* ======== BANNER ======= */

.banner{
	height: 100vh;
}
	.banner__item{
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		/*background-image: linear-gradient(rgba(255,255,255,0.7),rgba(255,255,255,0.7)), url("../images/fondo.jpg");*/
		/*background-image: linear-gradient(rgba(255,255,255,1),rgba(255,255,255,0)), url("../images/fondo.jpg");*/
		background-image: url("../images/fondo-min.jpg");
		background-size: cover;
		background-position: center bottom;
		transition: background-position 5ms;
	}

	@media screen and (min-width: 1025px){
		.banner__item{
			background-attachment: fixed;
		}
	}
	.banner__content{
		height: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-evenly;
		position: relative;
	}

	@media screen and (min-width: 768px){
		.banner__content{
			justify-content: center;
		}
	}

	.banner__title{
		font-size: 20px;
		font-weight: 400;
	}
	.banner__strong{
		font-size: 40px;
		display: block;
	}
	.banner__text{
		background-color: #fff;
		display: inline-block;
		padding: 5px 10px;
	}

/* ==== PORTFOLIO ======= */

.aboutus{
	padding: 60px 0;
	background-color: var(--skyBlue);
	color: #fff;
}

.aboutus__content{
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 15px;
}

.aboutus__title{
	text-align: center;
}



.aboutus__link{
	font-weight: 700px;
	color: #000;
	text-decoration: none;
	display: block;
	padding: 5px 15px;
	text-transform: uppercase;
}

.aboutus__row{
	text-align: center;
}

@media screen and (min-width: 768px){
	.aboutus__row{
		text-align: left;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 30px;
	}

	.aboutus__row p:first-child{
		margin-top: 0;
	}
	/*.aboutus__column{
		columns: 2;
		column-gap: 30px;
	}*/
}

.aboutus__button{
	background-color: transparent;
	border: none;
	font-weight: 700;
	display: block;
	margin-left: auto;
	margin-right: auto;
	cursor: pointer;
}

/* ======= GALLERY ========= */

.gallery{
	list-style: none; /* quitando la viñeta */
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 20px;
	margin-bottom: 60px;
}
.gallery__img{
	width: 100%;
	display: block;
}


/* ======== SOLUTIONS ======== */

.solutions{
	padding: 60px 0;
	background-color: #f7f8fa;
}
.solutions__content{
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 15px;
}
.solutions__title{
	text-align: center;
}


.solutions__filter{
	display: block;
	margin: 0 auto;
	max-width: 90%;
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	background-color: var(--darkBlue);
}

.solutions__filter::after{
	content:"▼";
	font-size: 12px;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	position: absolute;
	width: 35px;
	right: 0;
	top: 0;
	height: 100%;
	background-color: var(--darkBlue);
	color: #fff;
	border-left: solid 1px #fff;
	pointer-events: none;
}

.solutions__select{
	width: 100%;
	background-color: var(--darkBlue);
	color: #fff;
	padding: 10px;
	background-color: transparent;
	-webkit-appearance: none;
	appearance: none;
	
}
@media screen and (min-width: 768px){
	.solutions__filter{
		display: none;
	}
}

.solutions__menu{
	list-style: none;
	padding: 0;
	text-align: center;
	border: solid 1px #666;
	border-radius: 40px;
	margin: 10px 60px 60px;
	overflow: hidden;
	display: none;
}	
	@media screen and (min-width: 768px){
		.solutions__menu{
			display: flex;
		}	
	}

	.solutions__menu li{
		width: 25%;
	}

	.solutions__menu li:not(:last-child){
		border-right: solid 1px #666;
	}
	.solutions__menu a{
		display: flex;
		height: 100%;
		-ms-align-items: center;
		align-items: center;
		padding: 10px 20px;
		color: inherit;
		text-decoration: none;
		
		font-size: 14px;
		color: #666;
		transition: background-color 300ms, color 300ms;
	}

	.solutions__menu a:hover,
	.solutions__menu a.active{
		background-color: var(--darkBlue);
		color: #fff;
	}



.solutions__description{
	text-align: center;
}
.solutions__list{
	list-style: none;
	padding: 0;
	
	/*columns: 3;
	column-gap: 30px;
*/}

@media screen and (min-width: 540px){
	.solutions__list{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 20px;
	}
}

@media screen and (min-width: 768px){
	.solutions__list{
		grid-template-columns: repeat(3, 1fr);
	}
}

.solutions__item{
	text-align: center;
	background-color: #fff;
	padding: 20px;
	color: #666;
	display: inline-block;
	margin-bottom: 30px;
}

.solutions__item--hidden{
	display: none;
}

.solutions__icon{
	display: inline-flex;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: #f7f8fa;
}
.solutions__subtitle{
	text-transform: uppercase;
	color: #000;
	display: none;
}
.solutions__link{
	font-weight: 700;
	color: #000;
	text-decoration: none;
	text-transform: uppercase;
}

.solutions__img {
    height: 270px;
    object-fit: cover;
}
/* ========== TESTIMONIALS =========== */

.testimonials{
	padding: 60px 0;
}

.testimonials__content{
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
}

.testimonials__title{
	text-align: center;
}

.testimonials__description{
	text-align: center;
}

.testimonials__text{
	text-align: center;
	max-width: 600px;
	margin: 0 auto;
}

.testimonials__text::before{
	content: " ❞ ";
	display: block;
	font-size: 60px;
	line-height: 0.7;
}


.testimonials__author{
	font-style: normal;
	font-weight: 700;
}

.testimonials__author::after{
	content: "Happy Client";
	display: block;
	font-style: italic;
	font-weight: 400;
}

/* =========== CLIENTS ============ */

.clients{
	padding: 60px 0;
	background-color: var(--darkBlue);
	color: #fff;
}


.clients__content{
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 15px;
}

.clients__title{
	/*display: none;*/
	text-align: center;
}


@keyframes animacionDeLogos{
	0%{
		transform: translateX(0);
	}
	100%{
		transform: translateX(-66.6666666666666666666%);
	}
}
.clients__animation{
	overflow: hidden;


}



.clients__list{
	padding: 0;
	margin: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 30px;
	text-align: center;
	
}

@media screen and (min-width: 768px){
	.clients__list{
		grid-template-columns: repeat(4, 1fr);
	}
}

@media screen and (min-width: 1025px){
	.clients__list{
		grid-template-columns: repeat(12, 1fr);
		width: 300%;
		animation: animacionDeLogos 20s infinite linear paused;
		animation-fill-mode: both;
	}
	.clients__list:hover{
		animation-play-state: running;
	}
}




.clients__item{
	background-color: #fff;
	padding: 20px 30px;
}

.clients__item:nth-child(7) ~ *{
	display: none;
}

@media screen and (min-width: 768px){
	.clients__item:nth-child(7) ~ *{
		display: block;
	}
}

.clients__item::after{
	content:"";
	display: block;
	height: 4px;
	width: 40px;
	margin: 20px auto;
	background-color: #000;
}

.clients__number{
	font-size: 60px;
	display: block;
}

.clients__logo{
	height: 100px;
	max-width: 100%;
}

/* ========SKILLS========== */

.contactus{
	padding: 60px 0;
}

.contactus__content{
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 15px;
}

.contactus__title{
	text-align: center;
}

.contactus__description{
	text-align: center;
}
.contactus__row{
	text-align: center;
}


@media screen and (min-width: 540px){
	.contactus__row{
		text-align: left;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 30px;
	}
}

.contactus__list{
	padding: 0;
	margin: 0;
	list-style: none;
}
.contactus__subtitle{
	display: flex;
	justify-content: space-between;
}

.contactus__bar{
	background-color: #999;
	height: 4px;
}

.contactus__bar::before{
	content: "";
	display: block;
	background-color: #000;
	height: 100%;
}

.contactus__bar--design::before{
	width: 70%;
}

.contactus__bar--branding::before{
	width: 88%;
}

.contactus__bar--development::before{
	width: 75%;
}

.contactus__bar--photography::before{
	width: 84%;
}
 /* ========= TEAM ========= */

.team{
	padding: 0;
	margin: 60px 0 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 30px;
	text-align: center;
}


.team__image{
	width: 100%;
}

/* ====== VIDEO ======= */


.video{
	height: 300px;
	background-image: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url("../images/coworking.jpg");
	background-size: cover;
}

	.video__content{
		max-width: 1170px;
		margin-left: auto;
		margin-right: auto;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		color: #fff;
		padding: 0 15px;
	}

	.video__link{
		display: inline-block;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		border: solid 2px #fff;
	}


/* ======= BLOG ========= */

.blog{
	padding: 60px 0;
}

	.blog__content{
		max-width: 1170px;
		margin-left: auto;
		margin-right: auto;
		padding: 0 15px;
	}

	.blog__title{
		text-align: center;
	}

	.blog__description{
		text-align: center;
		text-transform: uppercase;
	}

	.blog__list{
		padding: 0;
		margin-top: 60px;
		list-style: none;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 30px;
	}

	.blog__item{
		background-color: #fff;
		box-shadow: 0 0 5px #999;
		color: #999;
		position: relative;
	}

	.blog__date{
		position: absolute;
		background-color: #000;
		color: #fff;
		top: 20px;
		left: 20px;
		padding: 5px 10px;
	}

	.blog__image{
		width: 100%;
	}

	.blog__text{
		padding: 30px;
	}
	.blog__subtitle{
		margin-top: 0;
		color: #000;
	}

/* ======== FOOTER ========= */

.footer{
	padding: 60px 0;
	background-color: #f7f8fa;
	text-align: center;
}

	.footer__content{
		max-width: 1170px;
		margin-left: auto;
		margin-right: auto;
		padding: 0 15px;
	}

/* ======== SOCIALS ========= */

.socials{
	list-style: none;
	padding: 0;
	display: flex;
	justify-content: center;
}

	.socials__link{
		text-decoration: none;
		color: #000;
		padding: 5px 10px;
	}

/* ======= F O R M S ======= */

.form{

}

.form label{
	display: none;
}

.form input, .form textarea{
	display: block;
	padding: 10px 20px;
	width: 100%;
	margin-bottom: 15px;
	border: solid 1px var(--darkBlue);
	border-radius: 25px;
	outline: none;
}

.form textarea{
	height: 150px;
}

.cta{
	padding: 15px 40px;
	background-color: var(--darkBlue);
	color: #fff;;
	border: none;
	border-radius: 25px;
	display: block;
	margin-left: auto;
	cursor: pointer;
	text-decoration: none;
}

#form-messages{
	text-align: center;
	padding: 20px 0;
}

.error{
	color: red;
}

.success{
	color: #1dae38;
}


/* === DATA === */
.data{
	list-style: none;
	padding: 0;
}
.data li{
	margin-bottom: 10px;
	position: relative;
}


@media screen and (min-width: 540px){
	.data{
		padding: 0 0 0 40px;
	}

	.data strong{
		display: block;
	}

	.data [class*="icon"]{
		position: absolute;
		left: -30px;
		top: 2px;
	}
}

.whats{
	position: fixed;
	bottom: 15px;
	right: 15px;
	width: 45px;
	height: 45px;
	text-decoration: none;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	background-color: #25d366;
	color: white;
	border-radius: 50%;
	font-size: 25px;
}


