/*
*
*
* Hugo Peixoto, front-end dev, 25yo, 7years xp
* 07.11.2016
*
*
*/

/* this is my reset */
html {
	height: 100%;
}


body {
	height: 100%;
	font-family: 'Montserrat-Light';
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


h1, h2, h3, h4, h5, h6 {
	margin: 0;
	cursor: default;
}


p {
	margin: 0;
	cursor: default;
}


ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}


img {
	max-width: 100%;
}


a {
	outline: none;
	text-decoration: none;
}


/* the usual suspect, the clearfix */

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}


.container {
	margin: 0 auto;
	max-width: 1180px;
	max-width: 90%;
	position: relative;
}


/* structural */

section {
	min-height: 100%;
}


/* global */

.sky {
	width: 100%;
	vertical-align: bottom;
}

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

.hide {
	display: none !important;
}

.visible-xs {
	display: none;
}


/* global animations */


.hpFireworks {
	position: relative;
	-webkit-animation: slide-down-fade 1s 1;
	-moz-animation:    slide-down-fade 1s 1;
	-o-animation:      slide-down-fade 1s 1;
	animation:         slide-down-fade 1s 1;
}

@-webkit-keyframes slide-down-fade {
	0% {
		top: -50px;
		opacity: 0;
	}
	100% {
		top: 0;
		opacity: 1;
	}
}

@-moz-keyframes slide-down-fade {
	0% {
		top: -50px;
		opacity: 0;
	}
	100% {
		top: 0;
		opacity: 1;
	}
}

@-o-keyframes slide-down-fade {
	0% {
		top: -50px;
		opacity: 0;
	}
	100% {
		top: 0;
		opacity: 1;
	}
}

@keyframes slide-down-fade {
	0% {
		top: -50px;
		opacity: 0;
	}
	100% {
		top: 0;
		opacity: 1;
	}
}


/* header */

header {
	left: 0;
	right: 0;
	top: 60px;
	z-index: 2;
	position: absolute;
}

header li {
	float: left;
	margin-right: 30px;
}

header li a {
	color: #fff;
	font-size: 14px;
	padding-bottom: 2px;
	display: inline-block;
	text-transform: uppercase;
	font-family: 'Montserrat-Bold';
}

header li a.active {
	/* color: #00be80; */
	/* border-bottom: 1px solid #00be80; */
	color: #6c0e29;
	border-bottom: 1px solid #6c0e29;
}

header li a:hover {
	/* color: #00be80; */
	color: #6c0e29;
}


/* landing */

.landing {
	overflow: hidden;
	position: relative;
	background: url(../images/landing/background.jpg?v=2) no-repeat;
	background-size: cover;
}

.landing .stripes-top,
.landing .stripes-bottom {
	top: 0;
	left: 0;
	right: 0;
	height: 20px;
	position: absolute;
	background: #fff url(../images/landing/stripe-horizontal.png?v=2) repeat-x;

	background-size: 40px 20px;
}

.landing .stripes-bottom {
	top: auto;
	bottom: 0;
}

.landing .stripes-left,
.landing .stripes-right {
	top: 0;
	left: 0;
	bottom: 0;
	width: 20px;
	position: absolute;
	background: #fff url(../images/landing/stripe-vertical.png?v=2) repeat-y;

	background-size: 20px 40px;
}

.landing .stripes-right {
	right: 0;
	left: auto;
}

.landing .stripes-top-left {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 40px 40px;
	/* border-color: transparent transparent #00b177 transparent; */
	border-color: transparent transparent #ad1943 transparent;
	top: -20px;
	left: -20px;
	position: absolute;
}

.landing .stripes-top-right {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 0 0 40px;
	/* border-color: transparent transparent transparent #00b177; */
	border-color: transparent transparent transparent #ad1943;

	top: -20px;
	right: -20px;
	position: absolute;
}

.landing .stripes-bottom-left {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 40px 40px 0;
	/* border-color: transparent #00b177 transparent transparent; */
	border-color: transparent #ad1943 transparent transparent;

	left: -20px;
	bottom: -20px;
	position: absolute;
}

.landing .stripes-bottom-right {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 40px 0 0;
	/* border-color: #00b177 transparent transparent transparent; */
	border-color: #ad1943 transparent transparent transparent;

	right: -20px;
	bottom: -20px;
	position: absolute;
}

.landing #layer {
	top: 20px;
	left: 20px;
	right: 20px;
	bottom: 20px;
	position: absolute;
	background: url(../images/landing/new-layer-3.png?nocache=5nov2018) no-repeat center center;

	background-size: cover;
}

.landing #stamp {
	right: 0;
	top: 50px;
	width: 101px;
	height: 126px;
	position: absolute;
	background: url(../images/landing/stamp.png?v=2) no-repeat;

	background-size: 101px 126px;
}

.landing h1 {
	color: #277a31;
	font-size: 20px;
	line-height: 1em;
	text-align: center;
	text-transform: uppercase;
	font-family: 'Montserrat-Semibold';

	left: 0;
	right: 0;
	bottom: 125px;
	position: absolute;
}

.landing .container div {
	font-size: 0;
	text-align: right;
}

.landing .facebook {
	background: url(../images/landing/facebook.png?v=2) no-repeat;
}

.landing .instagram {
	background: url(../images/landing/instagram.png?v=2) no-repeat;
}

.landing .facebook,
.landing .instagram {
	width: 30px;
	height: 30px;
	opacity: .7;
	margin-left: 20px;
	display: inline-block;
	background-size: 30px 30px;
}

.landing .facebook:hover,
.landing .instagram:hover {
	opacity: 1;
}

.landing .buy {
	z-index: 1;
	color: #fff;
	padding: 0 30px;
	font-size: 20px;
	line-height: 50px;
	border-radius: 3px;
	margin-bottom: 40px;
	/* background: #00b177 - 6c0e29; */
	background: #26662d;
	display: inline-block;
	text-transform: uppercase;
	font-family: 'Montserrat-Light';

	left: 0;
	right: 0;
	bottom: 60px;
	width: 125px;
	margin: 0 auto;
	position: absolute;

	-webkit-transition: background .1s ease-in-out;
	-moz-transition: background .1s ease-in-out;
	-ms-transition: background .1s ease-in-out;
	-o-transition: background .1s ease-in-out;
	transition: background .1s ease-in-out;
}

.landing .buy:hover {
	background: #00b177;
}

#go-down-baby {
	left: 0;
	right: 0;
	width: 22px;
	height: 12px;
	bottom: 35px;
	margin: 0 auto;
	position: absolute;
	background: url(../images/landing/scroll.png?v=2) no-repeat;
	background-size: 22px 12px;
}


/* about section */
.about {
	min-height: 1px;
	padding-top: 140px;
}

.about h2 {
	color: #e5272b;
	font-size: 80px;
	line-height: 1em;
	position: relative;
	margin-bottom: 60px;
	font-family: 'Montserrat-Semibold';
}

.about p {
	color: #6c0e29;
	font-size: 18px;
	position: relative;
	line-height: 1.8em;
	margin-bottom: 30px;
	font-family: 'Montserrat-Regular';
}

.about p.buy-your{
	margin-bottom: 50px;
}

.about p img {
	top: 4px;
	position: relative;
	margin-left: 10px;
}

.about p img.img-video {
	margin-left: 0 !important;
	margin-bottom: 18px;
}

.about .col-left {
	width: 49%;
	float: left;
}

.about .col-right {
	width: 49%;
	float: right;
}

.about .letter {
	right: 0;
	top: -80px;
	width: 531px;
	height: 328px;
	position: absolute;
	background: url(../images/about/letter.png?v=2) no-repeat;
	background-size: 531px 328px;
}

.about .letter span {
	display: none;
}
/*
.about .letter span {
	top: 58px;
	left: 157px;
	color: #dfdfdf;
	color: red;
	font-size: 75px;
	position: absolute;

	-webkit-animation: e-pisca-pisca 2s infinite;
	-moz-animation:    e-pisca-pisca 2s infinite;
	-o-animation:      e-pisca-pisca 2s infinite;
	animation:         e-pisca-pisca 2s infinite;
}

@-webkit-keyframes e-pisca-pisca {
	0%   { font-size: 75px; top: 58px; left: 157px; }
	50%   { font-size: 100px; top: 52px; left: 147px; }
	100% { font-size: 75px; top: 58px; left: 157px; }
}
@-moz-keyframes e-pisca-pisca {
	0%   { font-size: 75px; }
	50%   { font-size: 100px; }
	100% { font-size: 75px; }
}
@-o-keyframes e-pisca-pisca {
	0%   { font-size: 75px; }
	50%   { font-size: 100px; }
	100% { font-size: 75px; }
}
@keyframes e-pisca-pisca {
	0%   { font-size: 75px; top: 58px; left: 157px; }
	50%   { font-size: 100px; top: 52px; left: 147px; }
	100% { font-size: 75px; top: 58px; left: 157px; }
}
*/

/* prices section */

.prices {
	text-align: center;
}

.prices h3 {
	color: #e5272b;
	font-size: 30px;
	line-height: 1em;
	margin-bottom: 20px;
	text-transform: uppercase;
	font-family: 'Montserrat-Semibold';
}

.prices h3:before {
	content: " ";

	width: 1px;
	height: 70px;
	display: block;
	background: transparent;
	margin: 0 auto 30px;
}

.prices h3 + p {
	color: #e5272b;
	font-size: 20px;
	line-height: 1em;
	margin-bottom: 60px;
	text-transform: uppercase;
	font-family: 'Montserrat-Light';
}

.prices table {
	color: #fff;
	width: 100%;
	margin-bottom: 50px;
	border-collapse: collapse;
}

.prices table th {
	width: 50%;
	color: #fff;
	font-size: 18px;
	padding: 25px 0;
	line-height: 1.5em;
	font-weight: normal;
	background: #e5272b;
	text-transform: uppercase;
	border-right: 1px solid #fff;
	font-family: 'Montserrat-Semibold';
}

.prices table th:last-child {
	border-width: 0;
}

.prices table td {
	color: #e4272b;
	font-size: 20px;
	padding: 15px 0;
	background: #fad4d5;
	/* font-weight: 700; */
	/* text-transform: uppercase; */
	border-right: 1px solid #fff;
	font-family: 'Montserrat-Regular';
}

.prices table td:first-child {
	font-size: 18px;
}

.prices table td:last-child {
	border-width: 0;
}

.prices .buy {
	color: #fff;
	padding: 0 30px;
	font-size: 20px;
	line-height: 50px;
	border-radius: 3px;
	background: #e5272b;
	display: inline-block;
	text-transform: uppercase;
	font-family: 'Montserrat-Light';

	-webkit-transition: background .1s ease-in-out;
	-moz-transition: background .1s ease-in-out;
	-ms-transition: background .1s ease-in-out;
	-o-transition: background .1s ease-in-out;
	transition: background .1s ease-in-out;
}

.prices .buy:hover {
	background: #2e0611;
}


/* map */

.map {
	min-height: 1px;
	/* padding-top: 60px; */
	background: #e5272b;
	overflow-x: hidden;
	margin-bottom: 60px;
}

.map h3 {
	color: #fff;
	font-size: 30px;
	text-align: center;
	margin-bottom: 40px;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-family: 'Montserrat-Semibold';
}

.map h3:before {
	content: " ";

	width: 1px;
	height: 70px;
	display: block;
	background: transparent;
	margin: 0 auto 30px;
}

.map .infos {
	margin-left: -20px;
	margin-right: -20px;
	background: #fff;
}

.map .infos .container {
	/*padding: 0 50px;*/
	box-sizing: border-box;
}

.map .infos h3 {
	color: #e5272b;
	margin-bottom: 70px;
}

.map .infos h3:before {
	/* background: #00b177; */
	background: transparent;
}

.map .infos h3 + p {
	color: #e5272b;
	font-size: 18px;
	text-align: center;
	line-height: 1.6em;
	margin-bottom: 80px;
	font-family: 'Montserrat-Regular';
}

.map .col-left {
	width: 35%;
	float: left;
}

.map .col-right {
	width: 62%;
	float: right;
}

.map .infos + .sky {
	margin-top: 0;
}

.map .infos h4 {
	color: #e5272b;
	font-size: 25px;
	margin-bottom: 30px;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-family: 'Montserrat-Light';
}

.map .infos p b {
	color: #1c51d7;
	font-size: 18px;
	font-weight: normal;
	text-transform: uppercase;
	font-family: 'Montserrat-Light';
}

.map .infos p {
	color: #38070f;
	font-size: 16px;
	line-height: 1.4em;
	margin-bottom: 15px;
	font-weight: normal;
	font-family: 'Montserrat-Regular';
}

.map .infos p a {
	color: #e5272b;
}

.map .infos .gmap {
	color: #fccd79;
	font-size: 20px;
	padding: 0 30px;
	line-height: 50px;
	border-radius: 3px;
	margin-bottom: 20px;
	background: #e5272b;
	display: inline-block;
	text-transform: uppercase;
	font-family: 'Montserrat-Light';
	border-radius: 3px;

	-webkit-transition: background .1s ease-in-out;
	-moz-transition: background .1s ease-in-out;
	-ms-transition: background .1s ease-in-out;
	-o-transition: background .1s ease-in-out;
	transition: background .1s ease-in-out;
}

.map .infos .gmap:hover {
	background: #fccd79;
	color: #e5272b;
}


.map .tabs {
	margin-bottom: 20px;
}

.map .tabs li {
	margin-right: 20px;
	display: inline-block;
}

.map .tabs li a {
	width: 50px;
	height: 50px;
	border-radius: 3px;
	display: inline-block;
	border: 1px solid #38070f;
}

.map .tabs li a.active {
	background: #38070f;
}

.map .tabs .car {
	width: 34px;
	height: 30px;
	display: block;
	margin: 10px auto 0;
	background: url(../images/infos/car.png?v=2) no-repeat left bottom;
	background-size: 34px 60px;
}

.map .tabs .train {
	width: 34px;
	height: 34px;
	display: block;
	margin: 8px auto 0;
	background: url(../images/infos/train.png?v=2) no-repeat left bottom;
	background-size: 34px 68px;
}

.map .tabs .metro {
	width: 27px;
	height: 38px;
	display: block;
	margin: 7px auto 0;
	background: url(../images/infos/metro.png?v=2) no-repeat left bottom;
	background-size: 27px 76px;
}

.map .tabs .active span {
	background-position: 0 0;
}

.map .tabs-content {
	min-height: 240px;
	position: relative;
}

.map .tabs-content div {
	top: 0;
	left: 0;
	right: 0;
	position: absolute;
}

.map .car-content p {
	font-size: 16px;
	line-height: 1.4em;
	font-family: 'Montserrat-Regular';
}

.map h6 {
	color: #fccd79;
	font-size: 18px;
	line-height: 1.4em;
	letter-spacing: 1px;
	margin-bottom: 20px;
	text-transform: uppercase;
	font-family: 'Montserrat-Light';
}

.map #open-letter {
	display: none;

	left: 0;
	top: -40px;
	z-index: 1;
	width: 98px;
	height: 302px;
	position: absolute;
	background: url(../images/infos/open-letter.png?v=2) no-repeat;
	background-size: 98px 302px;
}

.map .subcol-left {
	width: 45%;
	float: left;
}

.map .subcol-right {
	width: 45%;
	float: right;
}

.map .col-right p {
	margin-bottom: 30px;
}


/* gallery */

.gallery {
	min-height: 10px;
	background: #e5272b;
}

.gallery .media-item {
	width: 23%;
	display: block;
	visibility: visible;
	height:285px;
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
	background-size: cover;
	background-repeat: no-repeat;
}

.gallery .container div:nth-child(4n) {
	margin-right: 0;
}

.gallery div span {
	display: block;
	padding-bottom: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

/*
.gallery .container div:hover span {
	margin: -20px;
}
*/


/* footer */

footer {
	padding-top: 30px;
	padding-bottom: 60px;
}

footer .partner {
	float: left;
	padding: 0;
}

footer .partner:first-child {
	border-width: 0;
	padding-left: 0;
}

footer h6 {
	color: #e5272b;
	font-size: 9px;
	line-height: 1.4em;
	margin-bottom: 30px;
	text-transform: uppercase;
	font-family: 'Montserrat-Regular';
	border-left: 1px solid #e5272b;;
	padding: 0 15px;
}

footer h6 span {
	display: block;
	font-family: 'Montserrat-Light';
}

footer .facebook,
footer .instagram {
	width: 30px;
	height: 30px;
	display: inline-block;
	background: url(../images/footer/social.png?v=2) no-repeat;
	background-size: 30px 60px;
}

footer .media {
	text-align: center;
	display: block;
	padding-top: 70px;
}

footer .instagram {
	margin-left: 20px;
	background-position: left bottom;
}


/* program */

.program {
	min-height: 1px;
	background: #e5272b;
}

.program h3 {
	color: #fff;
	font-size: 30px;
	text-align: center;
	margin-bottom: 90px;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-family: 'Montserrat-Semibold';
}

.program h3:before {
	content: " ";

	width: 1px;
	height: 70px;
	display: block;
	/* background: #fff; */
	background: transparent;
	margin: 0 auto 30px;
}

.program table {
	width: 100%;
}

.program table th {
	width: 14.28%;
	height: 85px;
	color: #e4272b;
	font-size: 18px;
	cursor: default;
	text-align: center;
	font-weight: normal;
	background: #fff;
	text-transform: uppercase;
	font-family: 'Montserrat-Semibold';
}

.program table td {
	color: #fff;
	height: 85px;
	width: 14.28%;
	font-size: 18px;
	cursor: default;
	text-align: center;
	font-family: 'Montserrat-Light';
}

.program table td.off {
	background: url(../images/program/table-dayoff.png?v=2) repeat;
}

.program table td.disable {
	background: #b4272b;
	color: #e4272b;
}

.color-hora-1 p {
	color: #fb6b6c !important;
}

.color-hora-2 p {
	color: #ac7aff !important;
}

.color-hora-3 p {
	color: #00803c !important;
}

.color-hora-4 p {
	color: #6c0e29 !important;
}

.color-hora-5 p {
	color: #ff933b !important;
}

.program table td.hora-1 {
	background: #fb6b6c;
}

.program table td.hora-2 {
	background: #ac7aff;
}

.program table td.hora-3 {
	background: #00803c;
}

.program table td.hora-4 {
	background: #6c0e29;
}

.program table td.hora-5 {
	background: #ff933b;
}

.program table td.month {
	color: #e4272b;
	background: #fff;
	text-transform: uppercase;
	font-family: 'Montserrat-Semibold';
}

.program table .append {
	color: #fff;
	font-size: 13px;
	margin-left: 5px;
	margin-top: -25px;
	position: absolute;
	font-family: 'Montserrat-Light';
}

.program .table-legend {
	padding-top: 20px;
	padding-bottom: 25px;
	background: #fff;
}

.program .table-legend .item {
	width: 20%;
	float: left;
}

.program .table-legend .item .color {
	width: 32px;
	height: 32px;
	display: block;
	margin: 0 auto;
	margin-bottom: 20px;
	border-radius: 32px;
}

.program .table-legend .item p {
	color: #fff;
	font-size: 18px;
	text-align: center;
	text-transform: uppercase;
	font-family: 'Montserrat-Semibold';
}

.program .table-legend .hora-1 {
	background: #fb6b6c;
}

.program .table-legend .hora-2 {
	background: #ab7dfb;
}

.program .table-legend .hora-3 {
	background: #00803c;
}

.program .table-legend .hora-4 {
	background: #6c0e29;
}

.program .table-legend .hora-5 {
	background: #ff933b;
}


/* loading */

#loading {
	display: none;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	position: fixed;
	background: #fff;
}


@media (max-height: 633px) {

	.landing #layer {
		top: 20px;
		left: 60px;
		right: 60px;
		bottom: 60px;
	}

	header {
		top: 40px;
	}

}




/*video*/
.video {
	display: none;
}
.video.active{
	display: block;
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: #e5272b;
	z-index: 2;
}

.video iframe {
    position: absolute;
    top: 15%;
    left: 0;
	bottom: 0;
	right: 0;
    height: 70%;
    width: 70%;
	border: 0;
	margin: 0 auto;
}

.close-icon {
	height: 50px;
	width: 50px;
	background: url('../images/about/close.png');
	position: absolute;
	background-size: cover;
	top: 5%;
	right: 5%;
}

/* galeria */
.gallery h3 {
	color: #fff;
	font-size: 30px;
	text-align: center;
	margin-bottom: 20px;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-family: 'Montserrat-Semibold';
}

.gallery h3:before {
	content: " ";

	width: 1px;
	height: 70px;
	display: block;
	/* background: #fff; */
	background: transparent;
	margin: 0 auto 30px;
}


.gallery h3 + p {
	color: #fff;
	font-size: 20px;
	line-height: 1em;
	margin-bottom: 60px;
	text-transform: uppercase;
	font-family: 'Montserrat-Light';
	text-align: center
}


/* footer */

footer h3 {
	color: #e5272b;
	font-size: 30px;
	line-height: 1em;
	margin-bottom: 70px;
	text-transform: uppercase;
	font-family: 'Montserrat-Semibold';
	text-align: center;
}

footer h3:before {
	content: " ";

	width: 1px;
	height: 70px;
	display: block;
	/* background: #e5272b; */
	background: transparent;
	margin: 0 auto 30px;
}

/* .cofina-div {
	position: relative;
}

.cofina-link {
	position: absolute;
    width: 50%;
    left: 20%;
} */


/* Programation */

.programation-btn {
	color: #fff;
	font-size: 20px;
	padding: 0 30px;
	line-height: 50px;
	border-radius: 3px;
	margin-bottom: 20px;
	background: #6c0e29;
	display: inline-block;
	text-transform: uppercase;
	font-family: 'Montserrat-Light';
	border-radius: 3px;

	-webkit-transition: background .1s ease-in-out;
	-moz-transition: background .1s ease-in-out;
	-ms-transition: background .1s ease-in-out;
	-o-transition: background .1s ease-in-out;
	transition: background .1s ease-in-out;
}

.programation-btn:hover {
	background: #2e0611;
}