@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/* CSS Document */


html, body {
  	padding: 0;
  	margin: 0;
  	height: 100%;
 	width: 100%;
		font-size:10px;
}
.animation {
		-webkit-transition: all .25s ease-out;
  	-moz-transition: all .25s ease-out;
  	-o-transition: all .25s ease-out;
  	transition: all .25s ease-out;
}
.align {
	display: table-cell; 
	vertical-align: middle;
}

.header {
width: 100vw;
height: 150px;
position: fixed;
z-index: 20;
top:0;
left: 0;
}
.header_small {
height: 75px;
background-color: #000;
}

@-webkit-keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}


.logo {
float: left;
padding: 25px 0 0 60px;
width: 150px;
height: 100%;
display: table;
text-align: center;
}

.logo_small {
width: 40px;
padding: 0 0 0 60px;
}

.nav {
float: right;
width: calc(100% - 300px);
padding-right: 75px;
height: 100%;
display: table;
text-align: right;
}

.footer {
background-color: #FFF;
text-align: center;
height: 100px; 
display: table;
padding: 0 50px 0 50px;
width: calc(100vw - 100px);
}
.footer_left {
float: left;
}
.footer_right {
float: right;
}

.mainbanner {
width: 100vw; 
text-align: center; 
position: relative; 
height: 95vh; 
display: table;
	background: linear-gradient(-45deg, #dc0d93, #14a0e7);
	background-size: 200% 200%;
	-webkit-animation: gradient 5s ease infinite;
	        animation: gradient 5s ease infinite;

}
.maincontent {
width: calc(100% - 50px); 
padding: 0 25px 50px 25px; 
text-align: center; 
position: relative; 
margin-top:-100px;
}
.content_about {
width: calc(100% - 150px); 
padding: 230px 75px 50px 75px;
}
.about_left {
float: left; 
width: 30%;
}
.about_right {
float: right; 
width: 60%
}
.content_case, .content_portfolio {
width: calc(100% - 150px); 
padding: 250px 75px 50px 75px;
}
.case_left, .portfolio_left {
float: left; 
width: 30%; 
position: sticky; 
left: 0; 
top: 150px;
}
.case_right, .portfolio_right {
float: right; 
width: 60%;
}
.content_contact {
width: calc(100% - 150px); 
padding: 250px 75px 0 75px; 
display: table; 
height: calc(100vh - 350px);
}
.contact_left {
float: left; 
width: 30%;
}
.contact_right {
float: right; 
width: 60%;
}
.contact_item {
background-position: left center; 
background-repeat: no-repeat; 
background-size: 50px auto; 
height: 50px; 
display: table; 
padding-left: 75px; 
margin-bottom: 25px;
}
.bt_white, .bt_black {
display: inline-block;
background-color: transparent;
height: 33px;
padding: 17px 25px 0 25px;
text-decoration: none;
color: #FFF;
border: 1px solid #FFF; 
border-radius: 25px;
font-family: 'Rubik', sans-serif;
font-size: 1.4rem;
font-weight: 600;
	letter-spacing: 2px;
}
.bt_white:hover {
background-color: #FFF;
color: #000;
transform: scale(1.10);
}
.bt_black {
color: #000;
border: 1px solid #000; 
}
.bt_black:hover {
background-color: #000;
color: #FFF;
transform: scale(1.10);
}

.icon_tw, .icon_ld, .icon_in {
width: 30px;
height: 30px;
margin-left: 50px;
vertical-align: middle;
display: inline-block;
text-decoration: none;
color: transparent;
background-position: center center;
background-repeat: no-repeat;
background-size: 100% auto;
background-image: url(images/icon_twitter.svg);
}
.icon_tw:hover {
background-image: url(images/icon_twitter_hover.svg);
}
.icon_ld {
background-image: url(images/icon_linkedin.svg);
}
.icon_ld:hover {
background-image: url(images/icon_linkedin_hover.svg);
}
.icon_in {
background-image: url(images/icon_instagram.svg);
}
.icon_in:hover {
background-image: url(images/icon_instagram_hover.svg);
}




.thumb, .thumb_wide {
width: calc(50% - 50px); 
margin: 0 25px 50px 25px; 
float: left;
text-align: left;
}
.thumb_wide {
width: 100%; 
margin: 0 0 50px 0; 
}
.thumb_img {
width: 100%; 
padding-top: 50%; 
position: relative;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-color: #000;
margin-bottom: 15px;
}



/* Fonts */
.gradient {
		background: #dc0d93; /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #dc0d93, #14a0e7); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #dc0d93, #14a0e7); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.menu {
display: inline-block;
margin-left: 50px;
font-family: 'Rubik', sans-serif;
	text-decoration:none;
		font-size: 1.4rem;
color: #000;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 2px;
}

.t1, .t2, .t3, .t4, .t5 {
font-family: 'Rubik', sans-serif;
	font-weight:300;
	text-decoration:none;
}
.t1 {
	font-size:6rem;
	line-height: 5rem;
}
.t2 {
	font-size:1.6rem;
	line-height: 2.4rem;
}
.t3 {
	font-size:2.2rem;
	line-height: 2.6rem;
}
.t4 {
	font-size:1.2rem;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.black{
	color:#000;
}
.white {
	color:#FFF;
}





.detalle_servicio {
width: 100vw; 
height: 100vh;
top: 0;
left: 0;
position: fixed; 
z-index: 100;
background-color: rgba(0,0,0,.75);
display: none;
}
.detalle_servicio_content {
width:100%;
max-width: 1000px;
height: 100vh; 
margin: auto;
background-color:#FFF;
overflow-y: scroll;
}
/*
.detalle_servicio_wrapper {
padding: 100px 150px 100px 100px; 
}
*/

.icon_close, .icon_menu, .icon_close_menu {
display: block;
float: right;
width: 40px;
height: 40px;
text-decoration: none;
background-position: center center;
background-repeat: no-repeat;
background-size: 100% auto;
color: transparent;
position: absolute;
right: 50px;
top: 50px;
background-image: url(images/icon_close.svg);
}
.icon_close:hover {
transform: rotate(90deg);
}
.icon_close_menu {
display: none;
top: 25px;
left: 25px;
}
.icon_menu {
background-image: url(images/icon_menu.svg);
display: none;
top: 17px;
left: 25px;
}





@media screen and (max-width: 600px) {

.icon_menu, .icon_close, .icon_close_menu {
display: block;
}
.nav {
width: 100vw;
height: 100vh;
position: fixed;
background-color: #000 !important;
text-align: center;
top: 0;
right: -100vw;
padding: 0;
}
.footer {
height: initial; 
width: calc(100% - 150px);
padding: 50px 75px 50px 75px;
text-align: center;
}
.footer_left {
float: none;
width: 100%;
text-align: center;
}
.footer_right {
float: none;
width: 100%;
margin-bottom: 50px;
text-align: center;
}
.icon_tw, .icon_ld, .icon_in {
margin: 0 15px 0 15px;
}



.thumb, .thumb_wide {
width: 100%; 
margin: 0 0 50px 0; 
float: none;
text-align: center;
}
.maincontent { 
margin-top:-50px;
}

.t1 {
	font-size:4.5rem;
	line-height: 4rem;
}
.logo {
float: none;
padding-left: 0;
margin: auto;
}
.menu {
display: block;
margin-left: 0;
		font-size: 2rem;
color: #FFF !important;
margin-bottom: 50px;
}

.content_about {
width: calc(100% - 100px); 
padding: 200px 50px 50px 50px;
}
.about_left {
float: none; 
width: 75%;
margin: auto;
margin-bottom: 50px;
clear: both;
}
.about_right {
float: none; 
width: 100%;
text-align: center;
}

.content_case, .content_portfolio {
width: calc(100% - 50px); 
padding: 200px 25px 0 25px;
}
.case_left, .portfolio_left {
float: none; 
width: 100%; 
position: initial; 
text-align: center;
margin-bottom: 50px;
}
.case_right, .portfolio_right {
float: none; 
width: 100%;
}
.content_contact {
width: calc(100% - 100px); 
padding: 200px 50px 0 50px; 
height: initial;
}
.contact_left {
float: none; 
text-align: center;
width: 100%;
margin-bottom: 50px;
}
.contact_right {
float: none; 
width: 100%;
}


.contact_item {
background-size: 25px auto; 
padding-left: 40px; 
}
.contact_item_linkedin {
display: none;
}

.icon_close {
background-color: #000;
border-radius: 30px;
background-size: 50% auto;
width: 60px;
height: 60px;
top: 25px;
right: 25px;
}

}

@media screen and (max-width: 350px) {


}


@media (min-width: 1500px) {
	
html, body {
		font-size:11px;
}
	
}


@media (min-width: 1800px) {
	
html, body {
		font-size:12px;
}
		
}	

@media (min-width: 2100px) {
	
html, body {
		font-size:14px;
}
}	

@media (min-width: 2400px) {
	
html, body {
		font-size:16px;
}
}	

@media (min-width: 2700px) {
	
html, body {
		font-size:18px;
}
		
}	