/* ====================================================================== */
/* =========================== Default Screen =========================== */
/* ====================================================================== */

html {
	height: 100%;
	overflow-y: scroll;
	cursor: default;
	letter-spacing: 0.15px;
	font-size: 10px;
}
	
body {
	height: 100%;
	line-height:0;
	padding: 0;
	margin: 0;
	-webkit-font-smoothing: antialiased !important;
	-webkit-text-size-adjust: none !important;
	font-smoothing: antialiased !important;	
	color: #707070;
}

.setWrapper {
	max-width: 1600px;
	width:-webkit-calc(100% - 64px);
	   width:-moz-calc(100% - 64px);
		 width:-o-calc(100% - 64px);
			width:calc(100% - 64px);
	position: relative;
	overflow: hidden;
	margin: 0 auto;
}

/* ---------------------------------------- */
/* ----- >>> Structure -------------------- */
/* ---------------------------------------- */

header {
	width: 100%;
	position: fixed;
	z-index: 9999;
	top: 0;
}

section {
	width: 100%;
	position: relative;
}

footer {
	width: 100%;
	background: #D9D9D9;
	color: #666666;
}

/* ---------------------------------------- */
/* ----- >>> Styles ----------------------- */
/* ---------------------------------------- */

h1{ font: 48px/1.5em 'BentonSans Light', Helvetica, Arial, sans-serif; margin: 0 auto 24px auto; position: relative; text-align: center; }
h2{ font: 28px/1.5em 'BentonSans Light', Helvetica, Arial, sans-serif; margin: 0 auto 24px auto; position: relative; text-align: center; }
h3{ font: 18px/1.5em 'BentonSans Light', Helvetica, Arial, sans-serif; margin: 0 auto 24px auto; position: relative; text-align: center; }
p { font: 13px/1.5em 'BentonSans Book' , Helvetica, Arial, sans-serif; margin: 0 auto 24px auto; position: relative; text-align: left; }
a { text-decoration: none;}

/* ---------------------------------------- */
/* ----- >>> Navegation ------------------- */
/* ---------------------------------------- */

header .setBND{
	width: 200px;
	height: 40px;
	position: relative;
	z-index: 1000;
	margin: 24px 32px;
}

nav,
.setOVL .isShow nav {
	width: 100%;
	height: 100vh;
	background: rgba(30,30,30,0.99);
	position: absolute;
	display: none;
	top: 0;
}

.setOVL nav {
	background: rgba(30,30,30,0.2);
}

nav ul {
	width: 100%;
}

nav li {
	margin: 48px 0;
	text-align: center;
}

nav li a {
	font: 18px/1em 'BentonSans Book', Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	position: relative;
	color: #FFFFFF;
}

nav li a:before {
	content: "";
	width: 0%;
	height: 1px;
	background: #FFFFFF;
	position: absolute;
	bottom: -2px;
	left: 50%;
}

nav li a:hover:before,
nav li.current-menu-item a:before {
	width: 100%;
	left: 0;
}

footer small,
footer small a,
footer ul > li,
footer ul > li > a {
	font: 13px/32px 'BentonSans Book', Helvetica, Arial, sans-serif;
}

footer ul,
footer small {
	margin: 16px 32px;
	display: inline-block;
}

footer ul {
	float: right;
}

footer ul > li {
	float: left;
	font-family: 'BentonSans Medium', Helvetica, Arial, sans-serif;
	margin-left: 16px;
}

footer small i {
	width: 32px;
	height: 32px;
	background: url(../assets/SVG/IMG_ISO.svg) no-repeat center center / cover;
	margin-right: 8px;
	float: left;
}

footer li i {
	width: 32px;
	height: 32px;
	background: url(../assets/SVG/IMG_ARW.svg) no-repeat center center / cover;
	float: left;
}


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

header.isShow 						 { background: #FFFFFF; }
header.isShow .setSVG 				 { fill: #000000; }
header.isShow .setMenu .setIcon span { background: #000000; }

.isLock .setSVG,
.isLock .isShow .setSVG 		       { fill: #FFFFFF; }
.isLock .setMenu .setIcon span,
.isLock .isShow .setMenu .setIcon span { background: #FFFFFF; }

.setWhite { color: #FFFFFF; }
.setWhite .setSVG { fill: #FFFFFF; }
.setWhite .setMenu .setIcon span { background: #FFFFFF; }

.setWhite:before {
	content: "";
	width: 100%;
	height: 120px;
	position: absolute;
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 );
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%);
	background:   -moz-linear-gradient(top,  rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%);
	background:   linear-gradient(to bottom, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 100%);
	z-index: -1;
}


/* ---------------------------------------- */
/* ----- >>> Section: Home ---------------- */
/* ---------------------------------------- */

.setSlide {
	width: 100%;
	background: #000000;
	position: relative;
}

.setSlide .setItem {
	width: 100%;
	height: 100vh;
	position: relative;
}

.setSlide .setItem > p {
	font: 48px/1em 'BentonSans Light', Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: #FFFFFF;
}

.setSlide .setItem.setFXS {
	opacity: 0.5;
}

.setScroll {
	width: auto;
	height: 80px;
	-webkit-transform: translate( -50%, 0);
	   -moz-transform: translate( -50%, 0);
		-ms-transform: translate( -50%, 0);
		 -o-transform: translate( -50%, 0);
			transform: translate( -50%, 0);
	background: url(../assets/SVG/IMG_SCL.svg) no-repeat center bottom / 24px 64px;
	position: absolute;
	cursor: pointer;
	z-index: 100;
	left: 50%;
	bottom: 0;
}

.setScroll:before {
	content: "Scroll";
	font: 12px/1em 'BentonSans Book', Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #FFFFFF;
}

/* ---------------------------------------- */
/* ----- >>> Section: Quienes Somos ------- */
/* ---------------------------------------- */

article {
	width: 100%;
	max-width: 1100px;
	text-align: center;
	margin: 96px auto;
}

article h1 {
	margin-bottom: 64px;
}

article h1:before {
	content: "";
	width: 1px;
	height: 48px;
	background: #666666;
	position: absolute;
	bottom: -48px;
	left: 50%;
}

article h3 {
	margin-bottom: 0;
}

.setColumns > div .setMRG > p {
	max-width: 80%;
	margin: 0 16px 6px 16px;
}

.setColumns > div .setMRG > p:first-of-type {
	font: 16px/1em 'BentonSans Book', Helvetica, Arial, sans-serif;
	margin: 32px 16px 48px 16px;
}

.setColumns > div .setMRG > p:last-of-type {
	margin-bottom: 32px;
}

.setColumns > div .setMRG > p > em {
	width: 100%;
	display: inline-block;
	font: 28px/1.25em 'BentonSans Light', Helvetica, Arial, sans-serif;
}

.setColumns > div .setMRG > p:first-of-type:before {
	content: "";
	width: 64px;
	height: 1px;
	background: #666666;
	position: absolute;
	bottom: -24px;
	left: 0;
}

/* ---------------------------------------- */
/* ----- >>> Section: Proyectos ----------- */
/* ---------------------------------------- */

.setHDG {
	font: 48px/32px 'BentonSans Light', Helvetica, Arial, sans-serif;
	margin: 128px auto 64px auto;
	text-align: left;
	color: #666666;
}

main,
aside {
	margin: 0 auto 64px auto;
	float: left;
}

main  { width: 75%; }
aside { width: 25%; }

aside > dl > dt {
	font: 24px/32px 'BentonSans Light', Helvetica, Arial, sans-serif;
	text-decoration: underline;
}

aside > dl > dd {
	font: 13px/32px 'BentonSans Book', Helvetica, Arial, sans-serif;
	margin: 24px auto 64px auto;
}

aside > dl > dd > ul > li.isCurrent {
	font-family: 'BentonSans Medium', Helvetica, Arial, sans-serif;
	background: url(../assets/SVG/IMG_ARW.svg) no-repeat top left -6px / 32px 32px;
	text-decoration: underline;
	padding-left: 32px;
}

.setTitle.isMb {
	margin-bottom: 32px;
	display: none;
}

.setTitle > p {
	margin-bottom: 0;
}

.setTitle > p > em,
.setTitle > p > span,
.setDetails ul > li > p > span {
	width: 100%;
	display: inline-block;
}

.setTitle > p > em {
	font-size: 28px;
	margin-bottom: 8px;
}

.setTitle > p > span {
	margin-bottom: 16px;
	font-size: 18px;
}

.setDetails {
	border-bottom: 1px solid rgba(0,0,0,0.25);
	padding-bottom: 48px;
	margin: 64px auto;
}

.setDetails ul {
	width: 100%;
	overflow: hidden;
	border-bottom: 1px solid rgba(0,0,0,0.25);
	border-top: 1px solid rgba(0,0,0,0.25);
	padding: 48px 0;
	margin: 48px 0;
}

.setDetails ul > li { 
	margin: 0px auto;
	float: left; 
}

.setDetails p > span {
	margin-bottom: 16px;
	font-size: 18px;
}

.setDetails ul > li > p,
.setDetails > p:last-of-type {
	margin-bottom: 0;
}

.setDetails ul > li:nth-child(1) { width: 25%; }
.setDetails ul > li:nth-child(2) { width: 15%; }
.setDetails ul > li:nth-child(3) { width: 15%; }
.setDetails ul > li:nth-child(4) { width: 45%; }


.setGallery > li {
	margin-bottom: 24px;
}

/* ---------------------------------------- */
/* ----- >>> Section: Servicios ----------- */
/* ---------------------------------------- */

.setClients,
.setServices {
	width:-webkit-calc(100% - 64px);
	   width:-moz-calc(100% - 64px);
		 width:-o-calc(100% - 64px);
			width:calc(100% - 64px);
	margin: 64px auto;
	overflow: hidden;
}

.setServices > li {
	width: 90%;
	font: 21px/32px 'BentonSans Light', Helvetica, Arial, sans-serif;
	background: url(../assets/SVG/IMG_ARW.svg) no-repeat top left / 32px 32px;
	padding-left: 32px;
	margin: 12px auto;
}

.setClients {
	max-width: 1280px;
	margin: 48px auto 64px auto;
	flex-wrap: wrap;
	display: flex;
}

.setClients > li {
	width: 20%;
	justify-content: center;
	align-items: center;
	text-align: center;
	display: flex;
	flex-grow: 1;
}

.setClients > li > img {
	width: auto !important;
	max-width: 100%;
	display: inline-block;
	max-height: 140px;
}


/* ---------------------------------------- */
/* ----- >>> Section: Contacto ------------ */
/* ---------------------------------------- */

.setInfo {
	text-align: center;
}

.setInfo > ul {
	overflow: hidden;
}

.setInfo > ul > li {
	font: 16px/2em 'BentonSans Book', Helvetica, Arial, sans-serif;
	letter-spacing: 0.05em;
	position: relative;
	margin: 48px auto;
}

.setInfo > ul > li:before {
	content: "";
	width: 1px;
	height: 24px;
	background: #FFFFFF;
	position: absolute;
	bottom: -32px;
	left: 50%;
}

.setInfo > ul > li:last-child:before {
	display: none;
}

.setInfo > ul > li > span {
	width: 100%;
	text-transform: uppercase;
	display: inline-block;
}

/* ---------------------------------------- */
/* ----- >>> General ---------------------- */
/* ---------------------------------------- */

img {
	width: 100%;
	height: auto !important;
	display: block;
}

.setCenter {
	position: absolute;
	-webkit-transform: translate( -50%, -50%);
	   -moz-transform: translate( -50%, -50%);
		-ms-transform: translate( -50%, -50%);
		 -o-transform: translate( -50%, -50%);
			transform: translate( -50%, -50%);
	left: 50%;
	top: 50%
}

.setRound {
	-webkit-border-radius: 50%;
	   -moz-border-radius: 50%;
		  	border-radius: 50%;
}

.setBKG {
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #F2F2F2;
	background-size: cover;
}

.setFlex {
	display: flex;
}

.setSVG {
	fill: #1D1D1B;
}

.setFULL {
	width: 100%;
	height: 100vh;
}

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

.setColumns {
	width: 100%;
	overflow: hidden;
	display: flex;
}

.setColumns > div,
.setColumns .setMask {
	position: relative;
	overflow: hidden;
	width: 50%;
}

.setColumns .setMask {
	width:-webkit-calc(100% - 32px);
	   width:-moz-calc(100% - 32px);
		 width:-o-calc(100% - 32px);
			width:calc(100% - 32px);
	position: relative;
	margin: 16px;
}

.setColumns .setMask.setSML {
	width:-webkit-calc(100% - 96px);
	   width:-moz-calc(100% - 96px);
		 width:-o-calc(100% - 96px);
			width:calc(100% - 96px);
	position: relative;
	margin: 16px 48px;
}

.setColumns > div .setIMG {
	width: 100%;
	-webkit-transform: matrix(1, 0, 0, 1, 0, 0);
	-ms-transform: matrix(1, 0, 0, 1, 0, 0);
	transform: matrix(1, 0, 0, 1, 0, 0)
	-webkit-transition: all 4s linear;
	-moz-transition: all 4s linear;
	-o-transition: all 4s linear;
	transition: all 4s linear;
	display: inline-block;
	text-transform: uppercase;
	padding-bottom: 50%;
	text-align: center;
	position: relative;
	color: #FFFFFF;
}

.setColumns > div:hover .setIMG  {
  -webkit-transform: matrix(1.1, 0, 0, 1.1, 0, 0);
  -ms-transform: matrix(1.1, 0, 0, 1.1, 0, 0);
  transform: matrix(1.1, 0, 0, 1.1, 0, 0);
}

.setColumns > div .setOVL:before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	position: absolute;
	left: 0;
	top: 0;
}

.setColumns .setCenter {
	text-transform: uppercase;
	text-align: center;
	color: #FFFFFF;
}

.setColumns .setCenter p {
	white-space: nowrap;
	font-size: 21px;
}


.setColumns > div p {
	letter-spacing: 0.05em;
	margin-bottom: 6px;
	font-size: 14px;
}

.setColumns > div .setLink:before {
	background: #FFFFFF;
}

.setColumns.setSQR {
	margin-bottom: 16px;
}

.setColumns.setSQR .setIMG {
	width: 100%;
	padding-bottom: 100%;
}

.setColumns .setMRG {
	width:-webkit-calc(100% - 64px);
	   width:-moz-calc(100% - 64px);
		 width:-o-calc(100% - 64px);
			width:calc(100% - 64px);
	margin: 0 auto;
}

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

.setContent {
	width:-webkit-calc(100% - 48px);
	   width:-moz-calc(100% - 48px);
		 width:-o-calc(100% - 48px);
			width:calc(100% - 48px);
	max-width: 640px;
	text-align: center;
	margin: 64px auto;
}

.setContent h1,
.setContent h2 {
	position: relative;
	margin-bottom: 32px;
} 

.setContent a.setLink {
	margin-top: 12px;
}

.setContent h1:before,
.setContent h2:before {
	content: "";
	width: 24px;
	height: 1px;
	background: #666666;
	position: absolute;
	margin-left: -12px;
	bottom: -6px;
	left: 50%;
}

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

.setLink {
	text-transform: uppercase;
	display: inline-block;
	letter-spacing: 0.1em;
	position: relative;
	line-height: 24px;
	font-size: 12px;
}

.setLink:before {
	content: "";
	width: 12px;
	height: 1px;
	background: #666666;
	position: absolute;
	margin-left: -4px;
	bottom: 0;
	left: 50%;
}

.setLink:hover:before {
	width: 100%;
	margin-left: 0;
	left: 0;
}

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

.setSocial {
	overflow: hidden;
	margin: 0;
}

.setSocial li {
	margin: 0 6px;
	float: left;
}

.setSocial li i {
	width: 32px;
	height: 32px;
	background: url(../assets/SVG/imageSCL.svg) no-repeat 0 0 / 192px 32px;
	display: block;
}

.setSocial li:nth-child(1) i { background-position:   0% 0; }
.setSocial li:nth-child(2) i { background-position:  25% 0; }
.setSocial li:nth-child(3) i { background-position:  50% 0; }
.setSocial li:nth-child(4) i { background-position:  75% 0; }
.setSocial li:nth-child(5) i { background-position: 100% 0; }

.setSocial li:hover { opacity: 0.5; }

/* ---------------------------------------- */
/* ----- >>> Menu Animation --------------- */
/* ---------------------------------------- */

.setMenu {
	width: 32px;
	height: 24px;
	position: absolute;
	z-index: 20000;
	right: 32px;
	top: 36px;
}

.setMenu .setIcon {
	width: 24px;
	height: 15px;
	position: relative;
	margin: 0 auto;
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	cursor: pointer;
}

 .setMenu .setIcon span {
	width: 100%;
	height: 2px;
	display: block;
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	background: #3F3F3F;
	position: absolute;
	opacity: 1;
	left: 0;
}

.setMenu .setIcon span:nth-child(1) { top: 0px; }
.setMenu .setIcon span:nth-child(2),
.setMenu .setIcon span:nth-child(3) { top: 6px; }
.setMenu .setIcon span:nth-child(4) { top: 12px; }

.setMenu .setIcon.isOpen span:nth-child(1) {
	width: 0%;
	left: 50%;
	top: 8px;
}

.setMenu .setIcon.isOpen span:nth-child(2) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.setMenu .setIcon.isOpen span:nth-child(3) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.setMenu .setIcon.isOpen span:nth-child(4) {
	width: 0%;
	left: 50%;
	top: 8px;
}


/* ---------------------------------------- */
/* ----- >>> Animations ------------------- */
/* ---------------------------------------- */

a,
header,
.setSVG,
a:before,
.setSlide .setItem {
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}