@import 'normalize.css'; 
@import 'template/fonts.min.css';
@import 'template/margins.min.css';
@import 'template/boxes.min.css';
@import 'template/helper.min.css';

/*
============================
>>> GENERALES
============================
*/

html,body, main{
	height:100%;
	-webkit-font-smoothing: antialiased;
}

body,
input,
textarea{
	font-family: 'Open Sans', sans-serif;
}

a, a:hover{
	color:inherit;
	text-decoration:none;
}

.f-futura{font-family: 'Futura Std';}

hr{
	border: 0;
    border-top: 2px solid #000;
    width: 15px;
    margin: 15px 0;
}


/*
=============================
>>> MAIN
=============================
*/

.fullpage{
	width:calc(100% - 330px);
	float:left;
}

.b {
	width: 100%!important;
	float: left;
}

.fullpage .section{
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}


.slider{z-index:-1;}

.slider,
.slider .slick-list,
.slider .slick-track,
.slider .slick-slide{
	height:100%;
}


.slider .slick-slide:after{
	content:'';
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background-color:rgba(0,0,0,0.3);
}

.slider .slick-slide{
	position:relative;
	background-size:cover;
	background-position:center;
	background-color:#000;
	
	
}

.slider + .navigation{
	position:absolute;
	bottom: 70px;
	left: 50%;
    transform: translateX(-50%);
	z-index:10;
}

.slick-dots{
	text-align:center;
	margin:0;
	padding:0;
	float:left;
}

.slick-dots>li{
	width:12px;
	height:12px;
	border:2px solid #e2e2e2;
	border-radius:50%;
	overflow:hidden;
	display:inline-block;
	margin:0 9px;
	cursor:pointer;
}

.slick-dots>li.slick-active{background-color:#e2e2e2;}

.slick-dots>li>button{
	width:100%;
	height:100%;
	visibility:hidden;
}

.slick-arrow{
	width:11px;
	height:11px;
	border:0;
	border-left:2px solid #e2e2e2;
	border-bottom:2px solid #e2e2e2;
	background:none;
	border-radius:0;
	box-shadow:none;
	transform-origin:center;
	display:block;
	padding:0;
	margin-top: 2px;
	outline:none;
	cursor:pointer;
}

.slick-arrow.slick-prev{
	float:left;
	transform: rotate(45deg);
	margin-right:25px;
}


.slick-arrow.slick-next{
	float:right;
	transform: rotate(-135deg);
	margin-left:25px;
}

.video-js .vjs-tech{
	width: auto;
}

/*
.slick-slide .video-js{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	width:100%;
	height:100%;
	overflow:hidden;
}
*/
/*
.video-js.vjs-fill {
    width: 114%;
    height: 106%;
    margin: -3% 0 0 -7%;
}
*/
.content{
	position: absolute;
    top: 243px;
    left: 0;
    padding: 0 65px 0 70px;
    z-index: 10;
    width: 100%;
    box-sizing: border-box;
    color: #fff;
    line-height: 1.2em;
}

.content ul{
	margin:0;
	padding:0;
	list-style-type:none;
}

.content ul>li{
	color:#fffab6;
	margin-bottom:15px;
}


.content ul>li>span{color:#fff;}

.content ul.two-cols:first-child{
	width:58%;
	float:left;
}

.content ul.two-cols:last-child{
	width:40%;
	float:left;
}


.content-bottom{
    position: absolute;
    bottom: 70px;
    right: 0;
    padding-right: 65px;
    z-index: 10;
    color: #fff;
    width: 260px;
    line-height: 1.3em;
    letter-spacing: 0.02em;
}

body #brochure{
	margin:0;
	padding:0;
	font-size:0;
	list-style-type:none;
}

body #brochure>li{
	display:inline-block;
	margin-right:12px;
	margin-left: 70px;
	margin-top: 250px;
}

body #brochure>li>a{
	display:block;
	width:225px;
	height:30px;
	line-height:30px;
	font-size:9px;
	text-transform:uppercase;
	border:1px solid #fff;
	text-decoration:none;
	color:#fff;
	text-align:center;
	letter-spacing: 0.3em;
	transition: all ease-in-out 0.1s;
}

body #brochure>li:hover>a,
body #brochure>li.active>a{
	background-color:#fff;
	color:#414042;
}

.brochure-mobile {
	display: none;
}

.si {
	display: none;
}

/*
===============================
>>> SIDEBAR
===============================
*/

aside{
	background-color:#fff;
	float:left;
	width:330px;
	height:100%;
	box-sizing:border-box;
	padding:60px;
	padding-bottom: 70px;
	color:#191817;
}

aside img{
	height:28px;
	width:auto;
}

aside>div{
	height:100%;
}

form{
	position:relative;
	display: flex;
    flex-direction: column;
    
    justify-content: flex-start; /* align items in Main Axis */
    align-items: stretch; /* align items in Cross Axis */
    align-content: stretch; /* Extra space in Cross Axis */
    height: calc(100% - 260px);
}

form>div{
	box-sizing:border-box;
	overflow:hidden;
}

form input[type="text"],
form input[type="email"]{
	width:100%;
	border:0;
	border-bottom:1px solid #979797;
	padding:10px 0;
	font-style:italic;
	font-size:16px;
	outline:none;
	color:#191817;
	height: 1.3em;
	border-radius:0;
	box-shadow:0;
}

form .container-textarea{
	flex: 1;
}

form textarea{
	width:100%;
	height:90px;
	height: calc(100% - 40px);
	border:1px solid #979797;
	padding:10px;
	font-style:italic;
	font-size:16px;
	outline:none;
	box-sizing:border-box;
	resize:none;
	color:#191817;
	border-radius:0;
	box-shadow:0;
}

form label{
	font-style:italic;
	font-size:16px;
}

::-webkit-input-placeholder {
   color: #191817;
}

:-moz-placeholder { /* Firefox 18- */
   color: #191817;  
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #191817;  
}

:-ms-input-placeholder {  
   color: #191817;  
}

form .btn{
	border:0;
	border-radius:0;
	background-color:#191817;
	color:#bebfbd;
	width:100%;
	padding:10px 0;
	text-transform:uppercase;
	font-size:12px;
	letter-spacing:0.2em;
	cursor:pointer;
}

form .form-mensaje{
    position: absolute;
    bottom: -28px;
    left: 0;
    width: 100%;
}


/*
===============================
>>> HEADER
===============================
*/

header{
	width: calc(100% - 330px);
	position:fixed;
	top:0;
	left:0;
	box-sizing:border-box;
	padding:50px 65px 50px 70px;
	z-index:100;
}

header #menu{
	margin:0;
	padding:0;
	font-size:0;
	list-style-type:none;
}

header #menu>li{
	display:inline-block;
	margin-right:12px;
}

header #menu>li>a{
	display:block;
	width:115px;
	height:30px;
	line-height:30px;
	font-size:9px;
	text-transform:uppercase;
	border:1px solid #fff;
	text-decoration:none;
	color:#fff;
	text-align:center;
	letter-spacing: 0.3em;
	transition: all ease-in-out 0.1s;
}

header #menu>li:hover>a,
header #menu>li.active>a{
	background-color:#fff;
	color:#414042;
}

header .valign-sm-bottom{
	justify-content: space-between;
}

header .info-container{
	color: #fff;
    line-height: 1.6em;
    width: 260px;
    letter-spacing: 0.03em;
}

header .info-container>div{
	border-top:1px solid #fff;
	padding-top:8px;
	display:inline-block;
}

.logo-container img{
	height:64px;
	width:auto;
}

/*
=====================================================
>>> LOADERS
=====================================================
*/

.preload{
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	z-index:10000;
	background-color:#191817;
	display:block;
}


.preload>div{
	width:180px;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	text-align:center;
}


.loader {
  height: 4px;
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: #ddd;
}
.loader:before{
  display: block;
  position: absolute;
  content: "";
  left: -200px;
  width: 200px;
  height: 4px;
  background-color: #15304e;
  animation: loading 2s linear infinite;
}


@keyframes loading {
    from {left: -200px; width: 30%;}
    50% {width: 30%;}
    70% {width: 70%;}
    80% { left: 50%;}
    95% {left: 120%;}
    to {left: 100%;}
}

.preload>.loader{
	width:100%;
	top:0;
	left:0;
	transform:none;
	background-color: #191817;
}

.preload>.loader:before{
	background-color: #fff;
}


/*
======================================================
>>> POPUP
======================================================
*/

.form-popup{
	position:fixed;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.6);
	top:0;
	left:0;
	z-index: 101;
	display:none;
}

.form-popup>.popup-wrapper{
	width: 330px;
	float:right;
	height:100%;
	position: relative;
}

.form-popup .popup-container{
    width: 80%;
    box-sizing: border-box;
    padding: 40px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.form-popup .popup-container .popup-close{
	display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 40px;
    line-height: 25px;
    width: 25px;
    height: 25px;
    font-weight: 300;
    cursor: pointer;
}

.form-popup .popup-container .popup-mensaje{
	font-size:14px;
}

/*
=====================================================
>>> RESPONSIVE
=====================================================
*/


@media screen and (orientation: landscape) and (max-height: 637px) {
	aside{
		padding: 30px 60px 30px!important;
	}
	
	header{padding-top:30px;}
	
	.slider .navigation,
	.content-bottom{bottom:30px;}
	
	form input[type="text"], 
	form input[type="email"]{
		padding: 6px 0;
		font-size: 14px;
	}
	
	form label,
	form textarea{font-size:14px;}
	
	form .mb-xs-20{margin-bottom:10px;}
	form .mt-sm-20{margin-top:10px;}
	form .mb-sm-20{margin-bottom:10px;}
	
	form textarea{height: calc(100% - 38px);}
}

.info-container-mob,
.mobile-menu,
.menu-logo,
.content-mobile,
.title-mobile,
.mobile-arrow{display:none!important;}

@media (max-width: 768px) {
	html, body, main{height:100%!important;}
	
	.info-container,
	form .form-loader,
	.slider + .navigation,
	.content-desktop{display:none;}
	
	.menu-logo,
	.title-mobile,
	.mobile-menu,
	.info-container-mob,
	.content-mobile,
	.mobile-arrow{display:block!important;}
	
	.fullpage{
		width:100%;
		float:none;
		/*height:55%!important;*/
		height:100%!important;
		overflow: scroll;
	}
	
	.fullpage .section{height:100%!important; position: relative;}
	.fp-tableCell{height:100%!important;}

	.no {
		display: none;
	}

	.si,.brochure-mobile{display: initial;}

	aside{
		float:none;
		width:100%;
		height:30%;
		min-height:270px;
		position:fixed;
		margin-top: 68px;
		top:0;
		left:0;
		right:0;
		padding:15px!important;
		z-index:100;
		/*display: none;*/
	}
	
	.menu-visible aside{
		z-index:80;
	}

	
	aside>div{
		position:relative;
		overflow:hidden;
	}

	aside .col-left{
		float:left;
		width:48%;
	}

	aside form{
		float:right;
		width:48%;
		height:100%;
		position: initial;
	}
	
	form input[type="text"],
	form input[type="email"]{
		padding-top: 2px;
		font-size: 14px;
		padding-bottom: 6px;
	}

	form textarea{
		font-size: 14px;
		padding: 6px;
		height: calc(100% - 29px);
	}
	
	form label{    font-size: 15px;}
	
	form .form-manager{
		position:absolute;
		bottom: 3px;
		left: 0;
		width: 48%;
	}
	
	form .form-mensaje{
		position: absolute;
		bottom: 40px;
		left: 0;
		width: 100%;
		display:none;
	}
	
	
	.info-container-mob{
		position:fixed;
		bottom:0;
		left:0;
		right:0;
		background-color:rgba(0,0,0,0.8);
		z-index: 101;
	}
	
	.info-container-mob>div{
		padding:10px;
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		max-width: 500px;
		margin: 0 auto;
	}
	
	.info-container-mob>div>div{
		text-align:right;
		color:#fff;
		font-size: 9pt;
		position:relative;
		padding-top: 3px;
	}
	
	.info-container-mob>div>div span{margin-bottom:3px;}

	header{
		width:100%;
		padding:12px;
		top: 0;
		background-color: #000;
		z-index: 103;
	}
	
	header .logo-container>img{height:40px; width:auto;}
	/*
	header #menu{
		position: fixed;
		transform: rotate(-90deg) translateY(-50%);
		transform-origin: bottom center;
		right: -25px;
		top: calc(55% / 2);
	}
	
	header #menu>li{
		margin:0;
		display: block;
		height: 0;
	}
	
	header #menu>li>a{
		visibility:hidden;
		border: 0;
		padding: 0;
		width: auto;
		font-size: 14px;
		font-weight: 700;
		line-height: 1em;
		height: 1em;
	}
	
	header #menu>li.active{
	}
	
	header #menu>li.active>a{
		visibility:visible;
		background-color:rgba(0,0,0,0);
		color:#fff;
	}
	*/
	
	header .menu{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #191817;
		z-index:90;
		display:none;
	}
	
	
	header .menu.open{
		display:block;
	}
	
	header #menu{
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%,-50%);
	}
	
	header #menu>li{
		display:block;
		margin:50px auto;
	}
	
	header #menu>li>a{
		font-size: 17px;
		width: 220px;
		height: 60px;
		line-height: 60px;
		margin: 0 auto;
	}
	
	header #menu>li:hover>a,
	header #menu>li.active>a{
		color:#fff;
		background-color:rgba(0,0,0,0);
	}
	
	header #menu>li.menu-logo{
		display:block;
		text-align:center;
		
	}

	body.brochure.open{
		display:block;
	}
	
	body #brochure{
		margin-top: 213px;
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%,-50%);
	}
	
	body #brochure>li{
		display:block;
		margin:50px auto;

	}
	
	body #brochure>li>a{
		font-size: 10pt;
		width: 230px;
		height: 30px;
		line-height: 30px;
		margin: 20 auto;
	}
	
	body #brochure>li:hover>a,
	body #brochure>li.active>a{
		color:#fff;
		background-color:rgba(0,0,0,0);
	}
	
	.uno {
		width: 85%;
		position: absolute;
		top: 360px!important;
		padding: 0 20px;
	}
	.content{
		width: 85%;
		top: 120px;
		padding: 0 20px;
	}
	
	.mobile-menu{
		width: 42px;
		height: 35px;
		position: relative;
		top: 0;
		margin: 0;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		-o-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
		cursor: pointer;
		float:right;
		z-index: 100;

	}
	
	.mobile-menu span {
		display: block;
		position: absolute;
		height: 3px;
		width: 50%;
		background: #fff;
		opacity: 1;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: .25s ease-in-out;
		-moz-transition: .25s ease-in-out;
		-o-transition: .25s ease-in-out;
		transition: .25s ease-in-out;
	}

	.mobile-menu span:nth-child(even) {
		left: 50%;
		border-radius: 0 9px 9px 0;
	}

	.mobile-menu span:nth-child(odd) {
		left:0px;
		border-radius: 9px 0 0 9px;
	}

	.mobile-menu span:nth-child(1), .mobile-menu span:nth-child(2) {
		top: 0px;
	}

	.mobile-menu span:nth-child(3), .mobile-menu span:nth-child(4) {
		top: 13px;
	}

	.mobile-menu span:nth-child(5), .mobile-menu span:nth-child(6) {
		top: 26px;
	}

	.mobile-menu.open span:nth-child(1),.mobile-menu.open span:nth-child(6) {
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.mobile-menu.open span:nth-child(2),.mobile-menu.open span:nth-child(5) {
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.mobile-menu.open span:nth-child(1) {
		left: 5px;
		top: 8px;
	}

	.mobile-menu.open span:nth-child(2) {
		left: calc(50% - 5px);
		top: 8px;
	}

	.mobile-menu.open span:nth-child(3) {
		left: -50%;
		opacity: 0;
	}

	.mobile-menu.open span:nth-child(4) {
		left: 100%;
		opacity: 0;
	}

	.mobile-menu.open span:nth-child(5) {
		left: 5px;
		top: 19px;
	}

	.mobile-menu.open span:nth-child(6) {
		left: calc(50% - 5px);
		top: 19px;
	}
	
	.logo-container{
		float:left;
	}
	
	.content ul>li{margin-bottom:5px;}
	
	.title-mobile{
		display: block;
		position: absolute;
		bottom: 70%;
		bottom: calc(55% / 2);
		right: -25px;
		text-transform: uppercase;
		color: #fff;
		transform: rotate(-90deg) translateY(-50%);
		font-size: 14px;
		letter-spacing: 0.2em;
		line-height: 1em;
		font-weight: 700;
		width: 100px;
		text-align: center;
	}
	
	.mobile-arrow{
		width: 36px;
		height: 36px;
		border-radius: 50%;
		border: 1px solid #fff;
		position: absolute;
		bottom: 15px;
		bottom: calc(35% + 15px);
		right: 15px;
		z-index: 90;
	}
	
	.mobile-arrow:before{
		content:'';
		display:block;
		width:12px;
		height:12px;
		border-top:1px solid #fff;
		border-left:1px solid #fff;
		position:absolute;
		top:50%;
		left:50%;
		transform-origin: 0 0;
	}
	
	.mobile-arrow.arrow-to-top:before{
		transform:rotate(45deg) translate(-50%, -50%);
		margin-top: 3px;
	}
	
	.mobile-arrow.arrow-to-bottom:before{
		transform:rotate(-135deg) translate(-50%, -50%);
		margin-top: -2px;
	}
	
	.content ul.two-cols:first-child,
	.content ul.two-cols:last-child{		
		width:100%;
		float:none;
	}
	
	hr{
		margin: 10px 0;
	}
	
	
	.form-popup>.popup-wrapper{
		width:100%;
	}
	
}
