@charset "UTF-8";
/* Penha Longa - CSS Mobile */

@media (max-width: 767px){
	
	.sergi-arola-signature{
		position: absolute;
		display: block;
		width: 100vw;
		height: 40px;
		bottom: 30px;
		left: 0;
		z-index: 888;
	}

	.sergi-arola-signature svg{
		position: absolute;
		display: block;
		width: auto;
		height: 100%;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, 0);
	}

	.sergi-arola-signature svg path{
		fill: rgba(255,255,255,1);
	}

	.sergi-arola-signature.black svg path{
		fill: rgba(0,0,0,1);
	}

	.sergi-arola-signature-xl{
		position: absolute;
		display: block;
		width: auto;
		height: 50px;
		bottom: calc(100% - 80px);
		left: 40px;
		z-index: 888;
	}

	.sergi-arola-signature-xl svg{
		position: absolute;
		display: block;
		width: auto;
		height: 100%;
		bottom: 0;
		left: 0;
	}

	.sergi-arola-signature-xl svg path{
		fill: rgba(255,255,255,1);
	}

	.sergi-arola-signature-xl.black svg path{
		fill: rgba(0,0,0,1);
	}

	.sergi-arola-signature-cr{
		position: relative;
		display: block;
		width: auto;
		height: 70px;
		z-index: 888;
	}

	.sergi-arola-signature-cr svg{
		position: absolute;
		display: block;
		width: auto;
		height: 100%;
		bottom: 0;
		left: 0;
	}

	.sergi-arola-signature-cr svg path{
		fill: rgba(0,0,0,1);
	}

	.sergi-arola-signature-cr.black svg path{
		fill: rgba(0,0,0,1);
	}
	.top-headline h2{
		position: relative;
		display: block;
		font-size: 32px;
		padding: 0 60px;
		margin: 0 0 15px 0;
	}
	
	.top-headline h4{
		position: relative;
		display: inline-block;
		height: 14px;
		font-size: 18px;
		line-height: 20px;
		padding: 0;
		margin: 0 0 6px 0;
		color: rgb(255,255,255);
		transition: all .4s ease;
	}
	
	.top-headline h4 .home-arrow-left{
		position: absolute;
		display: block;
		width: 7px;
		height: 7px;
		top: 0;
		left: -30px;
	}

	.top-headline h4 .home-arrow-left svg{
		position: relative;
		display: inline-block;
		width: 14px;
		height: 14px;
		animation: arrowheadleft 2s infinite;
	}
	
	.scroll-down-text{
		position: absolute;
		display: none;
		width: auto;
		height: auto;
		bottom: 80px;
		left: 50%;
		transform: translate(-50%, 0);
		font-family: 'LAB-HEADER';
		font-weight: 200;
		font-size: 12px;
		text-align: center;
		color: rgba(255,255,255,1);
		z-index: 777;
		animation: mousetext 2s infinite;
	}
	
	.michelin-star{
		position: absolute;
		display: block;
		width: auto;
		height: 26px;
		bottom: 80px;
		left: 50%;
		transform: translate(-50%, 0);
		z-index: 888;
	}
	
	.restaurant{
		position: relative;
		display: block;
		width: 100vw;
		height: auto;
		padding: 0;
		/*background-color: rgba(0,255,0,0.5);*/
	}
	
	.restaurant .container .image .frame{
		position: relative;
		width: 100%;
		height: 100vw;

		background-repeat: no-repeat;
		background-size: cover;
		background-position: left;
	}
	
	.restaurant-home-menu .container .image img{
		position: relative;
		width: 100%;
		height: auto;
		top: auto;
		bottom: 0;
		padding: 80px 0 0 0;
		transform: translate(0, 0);

		-webkit-filter: drop-shadow(18px 18px 24px rgba(0,0,0,0.1));
		filter: drop-shadow(18px 18px 24px rgba(0,0,0,0.1));
	}
	
	.restaurant .container .text{
		padding: 60px 30px 0 30px;
		margin: 0 0 60px 0;
		/*background-color: rgba(0,0,255,0.5);*/
	}
	
	.restaurant-home-menu .container .text{
		padding: 0 40px 0 40px;
		/*background-color: rgba(0,0,255,0.5);*/
	}
	
	.slider2{
		position: relative;
		display: block;
		width: 100vw;
		height: auto;
		padding: 0;
		/*background-color: rgba(0,255,0,0.5);*/
	}

	.slider2 .container{
		width: 100%;
		/*background-color: rgba(255,0,0,0.5);*/
		padding: 0;
	}

	.slider2 .container .image{
		padding: 0;
		/*background-color: rgba(255,0,255,0.5);*/
	}

	.slider2 .container .image .frame{
		position: relative;
		width: 100%;
		height: 100vw;

		background-repeat: no-repeat;
		background-size: cover;
		background-position: right;
	}
	
	.team{
		position: relative;
		display: block;
		width: 100vw;
		height: auto;
		padding: 0;
		/*background-color: rgba(0,255,0,0.5);*/
	}
	
	.team .container .text{
		padding: 60px 30px 30px 30px;
		/*background-color: rgba(0,0,255,0.5);*/
	}
	
	.team .container .image{
		padding: 0;
		/*background-color: rgba(255,0,255,0.5);*/
	}

	.team .container .image img{
		position: relative;
		max-width: calc(100% - 40px);
		max-height: 100%;
		left: 0;
		bottom: 0;
	}

	.team .container .image img{
		position: relative;
		max-width: calc(100% - 60px);
		max-height: 100%;
		left: 30px;
		bottom: 0;
	}

	.team .container .image .frame{
		position: relative;
		width: 100%;
		height: auto;

		background-repeat: no-repeat;
		background-size: cover;
		background-position: left;
	}

	.team .container .image .frame:before{
		content: "";
		width: 1px;
		padding-bottom: 100%;
		display: block;
	}
	
	.vladimir-veiga{
		position: relative;
		display: block;
		width: 100vw;
		height: auto;
		padding: 80px 0;
		overflow: auto;
		background: transparent;
		background-color: rgb(0,0,0);

		background-image: url(../images/team/vladimir-veiga.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: calc(100% + 100px);
	}
	
	.vladimir-veiga .container .text{
		padding: 0 40px;
		color: rgb(255,255,255);
		/*background-color: rgba(0,0,255,0.5);*/
	}
	
	.media-gallery{
		position: relative;
		display: block;
		width: 100vw;
		height: auto;
		padding: 80px 0 60px 0;
		/*background-color: rgba(0,255,0,0.5);*/
	}
	
	.media-gallery .container .text{
		padding: 0  40px 0 40px;
		/*background-color: rgba(0,0,255,0.5);*/
	}
	
	.feed-intro{
		position: relative;
		display: block;
		width: 100vw;
		height: auto;
		padding: 30px 40px;
		background-color:rgb(75,75,75);
	}

	.feed-intro h2{
		color: rgb(255,255,255);
		font-size: 24px;
		font-weight: 300;
		text-align: center;
		line-height: 30px;
		padding: 0;
		margin: 0;
	}

	.feed-intro h2 a{
		color: rgb(255,255,255);
		text-decoration: none;
	}
	
	#ifeed {
		position: relative;
		display: block;
		overflow: hidden;
		width: 100vw;
		height: 200vw;
		padding: 0;
		margin: 0;
		border:none;
	}
	
	.address-bar{
		position: relative;
		display: block;
		width: 100vw;
		height: auto;
		min-height: auto;
		padding: 60px 40px;
		background-color:rgb(75,75,75);
	}

	.address-bar .lab-signature{
		position: relative;
		display: block;
		width: 100%;
		height: 100px;
		top: 0;
		left: 0;
		margin: 0 0 30px 0;
		transform: none;
	}

	.address-bar .lab-signature .llbs{
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
	}

	.address-bar .lab-signature .llbs svg{
		position: relative;
		display: block;
		width: auto;
		height: 100%;
		left: 50%;
		transform: translate(-50%, 0);
	}

	.address-bar .lab-signature .llbs svg path{
		fill: rgb(255,255,255);
	}

	.address-bar .lab-address{
		position: relative;
		display: block;
		width: auto;
		height: auto;
		top: auto;
		right: 50%;
		transform: translate(50%, 0);
		text-align: center;
	}

	.address-bar .lab-address h3{
		padding: 0;
		margin: 0 0 5px 0;
		color: rgb(255,255,255);
		font-weight: 400;
	}
	.address-bar .lab-address h5{
		padding: 0;
		margin: 0;
		color: rgb(255,255,255);
		font-weight: 400;
	}
	
	#google-maps{
		position:relative;
		display:block;
		overflow: hidden;
		width:100%;
		height:100vw;
		background-color:rgba(0,255,0,0);
		margin:0;
	}

	#map{
		position:absolute;
		width:100%;
		height: calc(100vw + 30px);
	}
	
	.contact{
		position: relative;
		display: block;
		width: 100vw;
		left: 50%;
		height: auto;
		padding: 60px 40px;
		transform: translate(-50%, 0);
	}

	.contact h3{
		position: relative;
		display: block;
		width: auto;
		height: auto;
		width: 100%;
		height: auto;
		font-size: 32px;
		font-weight: 400;
		margin: 0 0 15px 0;
		text-align: center;
	}

	.contact .phone{
		position: relative;
		display: block;
		width: 100%;
		height: auto;
		padding: 0;
		font-size: 24px;
		font-weight: 200;
		text-align: center;
		
	}

	.contact .phone span{
		font-weight: 400;
	}

	.contact .phone a{
		position: relative;
		display: inline-block;
		color: rgb(27,27,27);
		padding: 0 0 0 30px;
		margin: 0 0 15px 0;
		text-decoration: none;
		transition: all .2s ease;
	}

	.contact .phone a:hover{
		color: rgb(214,154,79);
	}

	.contact .phone a svg{
		position: absolute;
		display: block;
		width: 30px;
		height: 30px;
		top: 50%;
		left: 0;
		transform: translate(0, -50%);
		padding-bottom: 5px;
	}

	.contact .phone a svg path{
		fill: rgb(27,27,27);
	}

	.contact .phone a:hover svg path{
		fill: rgb(214,154,79);
	}

	.contact .schedule{
		padding: 10px 0 0 0;
		margin: 0 0 15px 0;
		text-align: center;
	}

	.contact .email{
		padding: 0;
		font-size: 24px;
		font-weight: 200;
		text-align: right;
	}

	.contact .email a{
		color: rgb(27,27,27);
		text-decoration: none;
		transition: all .2s ease;
	}

	.contact .email a:hover{
		color: rgb(214,154,79);
	}

	.contact .email a span{
		text-transform: uppercase;
		font-weight: 400;
	}

	.footer{
		position: relative;
		display: block;
		width: 100vw;
		height: auto;
		font-size: 14px;
		padding: 0 40px 0 40px;
	}

	.footer .copyright{
		position: relative;
		display: block;
		margin: 0 0 15px 0;
		float: left;
	}

	.footer .links{
		position: relative;
		display: block;
		margin: 0 0 60px 0;
		float: right;
	}

	.footer .links ul{
		position: relative;
		padding: 0;
		margin: 0;
	}

	.footer .links ul li{
		position: relative;
		display: inline-block;
	}

	.footer .links ul li a{
		color: rgb(27,27,27);
		text-decoration: none;
		transition: all .2s ease;
	}

	.footer .links ul li a:hover{
		color: rgb(214,154,79);
	}
	
	.slide-food-text {
		position: relative;
		display: block;
		width: 100vw;
		height: auto;
		padding: 60px 30px 0 30px;
	}

	.slide-food-text h3{
		font-size: 32px;
	}
	.slide-food-text h3:before{
		content: '" '; 
	}
	.slide-food-text h3:after{
		content: ' "'; 
	}

	.slide-food-text h5{
		font-size: 14px;
	}

	.slide-food-text h5:before{
		content: '';
		color: rgba(255,255,255,0);
		font-size: 32px;
	}
	
	.emedia {
		position: relative;
		display: block;
		overflow: hidden;
		width: 100vw;
		height: auto;
	}

	.emedia a.earticle{
		position: relative;
		display: block;
		overflow: hidden;
		float: none;
		width: 100vw;
		height: 76.19vw;
	}

	.emedia a.earticle .efilter {
		position: absolute;
		display: block;
		width: 100vw;
		height: 76.19vw;
		top: 0;
		left: 0;
		background-color: rgba(0,0,0,0);
		background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.7) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
		transition: all .4s ease;
		z-index: 2;
	}

	.emedia a.earticle:hover .efilter {
		background-color: rgba(0,0,0,0.3);
	}

	.emedia a.earticle .ecover{
		position: absolute;
		display: block;
		width: 100vw;
		height: 76.19vw;
		top: 0;
		left: 0;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		transition: all .6s ease;
		z-index: 1;
	}

	.emedia a.earticle:hover .ecover{
		transform: scale(1.2);
	}

	.emedia a.earticle .etitle{
		position: absolute;
		display: block;
		width: calc(100% - 60px);
		height: auto;
		bottom: 30px;
		left: 30px;
		font-family: 'LAB-HEADER';
		font-size: 32px;
		line-height: 34px;
		color: rgb(255,255,255);
		z-index: 3;
	}

	.emedia a.earticle .esource{
		position: absolute;
		display: block;
		width: auto;
		height: auto;
		top: 30px;
		left: 30px;
		padding: 5px 10px 2px 10px;
		font-size: 14px;
		font-weight: 500;
		color: rgb(0,0,0);
		background-color: rgb(255,255,255);
		z-index: 3;
	}
	
	.sous-chef {
		position: relative;
		display: block;
		overflow: hidden;
		width: 100vw;
		height: auto;
		padding: 0;
	}

	.sous-chef .col-sm-6{
		min-height: auto;
		padding: 0;
		background-color: rgb(27,27,27);
		color: rgb(255,255,255);
	}

	.sous-chef .col-sm-6 .img-bg{
		position: relative;
		display: block;
		width: 100vw;
		height: 100vw;
		top: 0;
		left: 0;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: top;
	}

	.sous-chef .col-sm-6 .text-sous {
		position: relative;
		display: block;
		overflow: hidden;
		width: 100%;
		height: auto;
		top: auto;
		left: 0;
		padding: 30px;
		transform: none;
	}

	.sous-chef .col-sm-6 h3{
		font-family: 'LAB-HEADER';
		font-weight: 200;
		font-size: 42px;
		padding: 0;
		margin: 10px 0 15px 0;
		color: rgb(255,255,255);
	}

	.sous-chef .col-sm-6 h5{
		font-family: 'LAB-HEADER';
		font-weight: 200;
		font-size: 24px;
		padding: 0;
		margin: 0 0 30px 0;
		color: rgb(255,255,255);
	}

	.sous-chef .col-sm-6 p{
		font-family: 'LAB-TEXT';
		font-weight: 300;
		font-size: 18px;
		padding: 0;
		margin: 0 0 20px 0;
	}

	.sous-chef .col-sm-6 p b{
		font-size: 32px;
		font-family: 'LAB-HEADER';
		font-weight: 200;
	}

	.sous-chef .col-sm-6 p span{
		font-family: 'LAB-TEXT';
		font-weight: 300;
		font-size: 32px;
		padding: 0;
		margin: 0 0 20px 0;
	}
}