@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;600;700&display=swap');
:root{
	--red:#ff3838;
}
*{
	font-family: 'Nunito',sans-serif;
	margin:0; padding: 0;
	box-sizing: border-box;
	outline: none; border:none;
	text-decoration: none;
	text-transform: capitalize;
	transition: all .2s linear;
}
*::selection{
	background:var(--red);
	color: #fff;
}
html{
	font-size: 62.5%;
	overflow-x: hidden;
	scroll-behavior: smooth;
	scroll-padding-top:6rem;
}
body{
	background:#f7f7f7;
}
section{
	padding: 2rem 9%;

}
header{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background:#fff;
    padding: 2rem 9%;
    box-shadow: 0.5rem 1rem rgba(0,0,0,.1);
}
header .logo{
	font-size: 2.5rem;
	font-weight: bolder;
	color: #666;

}
header .logo  i{
	padding-right: .5rem;
	color: var(--red);
}
header .navbar a{
	font-size: 2rem;
	margin-left: 2rem;
	color: #666;

}
#menu-bar{
	font-size: 3rem;
	cursor: pointer;
	color: #666;
	border:.1rem solid #666;
	border-radius: .3rem;
	padding: .5rem 1.5rem;
	display: none;
}
header .navbar a:hover{
	color: var(--red);

}
.home{
	display: flex;
	flex-wrap: wrap;
	gap:1.5rem;
	min-height: 100vh;
	align-items: center;
	background-image:url(foodie.jpg);
	background-repeat: no-repeat;
	background-image: linear-gradient(rgba(0,0,0,0.527) ,rgba(0,0,0,0.5)),url(foodie.jpg);
	background-size: cover;
	background-position: center;

}
.home .content{
	flex: 1 1 40rem;
	padding-top: 6.5rem;

}
.home .image{
	
	flex: 1 1 40rem;
    
}

.home .image img{
	width: 100%;
	height:370px;
	padding-top: 1rem;
	animation: float 3s linear infinite;
}
 @keyframes float{
 	0%,100%{
 		transform: translateY(0rem);
 	}

    50%{
 		transform: translateY(3rem);
 	}

 }
 .home .content h3{
 	font-size: 5rem;
 	color:silver;
 	margin-bottom: 1rem;
 }
.home .content p{
	font-size: 2.2rem;
	color:white;
	padding: 1rem 0;

}
button{
	display: inline-block;
	padding: .8rem 3rem;
	border:.2rem solid var(--red);
	color:var(--red);
	cursor: pointer;
	font-size: 1.7rem;
	border-radius: 1rem;
	margin-top: 1.8rem;
	position: relative;
	overflow: hidden;
	z-index: 0;
}
button::before{
	content:'';
	position: absolute;
	top: 0; right: 0;
	width: 0%;
	height: 100%;
	background:var(--red);
	transition: .3s linear;
	z-index: -1;
}
button:hover::before{
     
     width: 100%;
     left: 0;
}
button:hover{
	color: white;
}

button a{
	color: black;
}

.heading{
	text-align: center;
	font-size: 3.5rem;
	padding: 1rem;
	color:silver;
}

.heading span{
	color: var(--red);
}

.speciality .box-container{
	display: flex;
	flex-wrap: wrap;
	gap:1.5rem;
}

.speciality .box-container .box{
	flex: 1 1 30rem;
	position: relative;
	overflow: hidden;
	box-shadow: 0.5rem 1rem rgba(0,0,0,.1);
	border: 1rem solid rgba(0,0,0,.3);
	cursor: pointer;
	border-radius: .5rem;
	height: 28rem;

}

.speciality .box-container .box .image
{
	height: 100%;
	width: 100%;
	object-fit: cover;
	position: absolute;
	top: -100%; left: 0;
}

.speciality .box-container .box .content
{
	text-align: center;
	background: white;
	padding-top: 7rem;
    height: 28rem;

}

.speciality .box-container .box .content img{
	
	width:80px;
	height:50px;
}

.speciality .box-container .box .content h3{
	font-size: 2.5rem;
	color: black;


}

.speciality .box-container .box .content p{
	font-size: 1.6rem;
	color: grey;
	padding: 1rem 0;
}

.speciality .box-container .box:hover  .image{
	top: 0;

}


.speciality .box-container .box:hover .content{
	transform: translateY(100%);
}

.popular .box-container{

	display: flex;
	flex-wrap: wrap;
	gap:1.5rem;
}

.popular .box-container .box{
	padding: 2rem;
	background:white;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.1);
	border:.1rem solid rgba(0,0,0,.3);
	border-radius: .5rem;
	text-align: center;
	flex: 1 1 30rem;
	position: relative;
}

.popular .box-container .box img{
	height: 25rem;
	object-fit: cover;
	width: 100%;
	border-radius: .5rem;

}

.popular .box-container .box .price{
	position: absolute;
	top:3rem;left: 3rem;
	background:var(--red);
	color: white;
	font-size: 2rem;
}


.popular .box-container .box h3{
      color: #333;
      font-size: 2.5rem;
      padding-top: 1rem;
}
 



.popular .box-container .box .stars i{
	color: gold;
	font-size: 1.7rem;
	padding: 1rem .1rem;
}

.steps{
	display: flex;
	flex-wrap: wrap;
	gap:1.5rem;
	padding: 1rem 0;
}

.steps .box{
	flex: 1 1 25rem;
	padding: 1rem;
	text-align: center;
}
  

 .steps .box img{
 	border-radius: 50%;
 	border:1rem solid white;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.1);
    width: 20rem;
    height: 18rem;
}  

.steps .box h3{
	font-size: 3rem;
	color:#333;
	padding: 1rem;
} 
.gallery .box-container{

	display: flex;
	flex-wrap: wrap;
	gap:1.5rem;
    margin-top: 5rem;
	
}

.gallery .box-container .box{
    background:white;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.1);
	border:.1rem solid white;
	border-radius: .2rem;
     flex: 1 1 30rem;
	position: relative;
	height: 40rem;
	overflow: hidden;
}
 
.gallery .box-container .box img{
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.gallery .box-container .box .content{
	position: absolute;
	top: -100%; left: 0;
	height: 100%;
	width: 100%;
	background:rgba(255,255,255,.9);
	padding: 2rem;
	padding-top: 2rem;
	text-align: center;
	border:1px solid black;
}
 
.gallery .box-container .box .content h3{
	font-size: 2.5rem;
	color: #333;
	margin-top: 8rem;
}

.gallery .box-container .box .content p{
	font-size: 1.4rem;
	color: #666;
	padding: 1rem 0;
}
.gallery .box-container .box:hover .content{
	top: 0;
}

.review .box-container{

	display: flex;
	flex-wrap: wrap;
	gap:1.5rem;
    margin-top: 5rem;
	
}

.review .box-container .box{
    background:#333;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.3);
	border:.1rem solid white;
	border-radius: .5rem;
     flex: 1 1 30rem;
	margin-top: 6rem;
	text-align: center;
	padding: 2rem;
}
 
.review .box-container .box img{
	height: 12rem;
	width: 12rem;
	border-radius: 50%;
	border:1rem solid white;
	margin-top: -8rem;
	object-fit: cover;
}

.review .box-container .box h3{
	font-size: 2.5rem;
	color: white;
	padding: .5rem 0;

}

.review .box-container .box .stars i{
	font-size: 2rem;
	color: var(--red);
	padding: .5rem 0;
	
}

.review .box-container .box p{
	font-size: 1.5rem;
	color: #eee;
	padding: 1rem 0;
	
}

.order .row{
	padding: 2rem;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.1);
	background:white;
	display:flex;
	flex-wrap: wrap;
	gap:1.5rem;
	border-radius: .5rem;

}
.order .row .image{
	flex: 1 1 30rem;
}

.order .row .image img{
	height: 100%;
	width: 100%;
	object-fit: cover;
	border-radius: .5rem;
}

.order .row form{
     flex: 1 1 50rem;
     padding: 1rem;
 }
 
 .order .row form  .inputBox{
 	display: flex;
 	justify-content: space-between;
 	flex-wrap: wrap;
 }

 .order .row form  .inputBox input,.order .row form textarea{
 	padding: 1rem;
 	margin: 1rem 0;
 	font-size: 1.7rem;
 	color: #333;
 	text-transform: none;
 	border:.1rem solid rgba(0,0,0,.3);
 	border-radius: .5rem;
 	width: 49%;
}

.order .row form textarea{
	width: 100%;
	resize: none;
	height: 15rem;
}


  .footer{
  	background:#000;
  	text-align: center;
  }

.footer .share{
    display: flex;
    gap:1.5rem;
    justify-content: center;
    flex-wrap: wrap;
}

.footer .credit{
	padding: 2.5rem 1rem;
	color: #fff;
	font-weight: normal;
	font-size: 2rem;
}

.footer .credit span{
	color: var(--red);
}
#scroll-top{
	position: fixed;
	top:-120%;
	right: 2rem;
	padding: .5rem 1.5rem;
	font-size: 4rem;
	background:var(--red);
	color: #fff;
	border-radius: .5rem;
	transition: 1s linear;
	z-index: 1000;
}
#scroll-top.active{
	top: calc(100% - 12rem);
}

.loader-container{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	background:white;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
}

.loader-container.fade-out{
	top: -120%;
}





/*media querries*/
@media(max-width: 991px){
	html{
		font-size: 55%;
	}

	section{
		padding: 2rem;
	}

	header{
		padding: 2rem;
	}


	.home .content{
	flex: 1 1 40rem;
	padding-top: 10rem;

}
.home .image{
	
	flex: 1 1 40rem;

    
}

	.home .image img{
	width: 100%;
	height:320px;
	padding-top: 1rem;
	animation: float 3s linear infinite;
}
 @keyframes float{
 	0%,100%{
 		transform: translateY(0rem);
 	}

    50%{
 		transform: translateY(3rem);
 	}

 }

 .home .content h3{
 	font-size: 5rem;
 	color:silver;
 	margin-bottom: 1rem;
 }
.home .content p{
	font-size: 3.2rem;
	color:white;
	padding: 4.7rem 0;

}




}
@media(max-width: 768px){
	#menu-bar{
		display: initial;
	}

	header .navbar{
		position: absolute;
		top:100%; left: 0; right: 0;
		background:#f7f7f7;
		border-top:.1rem solid rgba(0,0,0,.1);
		clip-path: polygon(0 0,100% 0, 100% 0, 0 0);

	}
     header .navbar.active{
       clip-path: polygon(0 0,100% 0, 100% 100%, 0% 100%);
     }

	header .navbar  a{
		margin:1.5rem;
		padding: 1.5rem;  
        display: block;      
		border:.2rem solid rgba(0,0,0,.1);
		border-left:.5rem solid var(--red);
		background:#fff;

	}
   
	.home .content{
	flex: 1 1 40rem;
	padding-top: 10rem;

}
.home .image{
	
	flex: 1 1 40rem;

    
}

	.home .image img{
	width: 100%;
	height:350px;
	padding-top: 1rem;
	animation: float 3s linear infinite;
}
 @keyframes float{
 	0%,100%{
 		transform: translateY(0rem);
 	}

    50%{
 		transform: translateY(3rem);
 	}

 }

 .home .content h3{
 	font-size: 5rem;
 	color:silver;
 	margin-bottom: 1rem;
 }
.home .content p{
	font-size: 3.2rem;
	color:white;
	padding: 4.7rem 0;

}

}

@media(max-width:400px){
	html{
		font-size: 50%;
	}

	.home .content{
	flex: 1 1 40rem;
	padding-top: 10rem;

}
.home .image{
	
	flex: 1 1 40rem;

    
}

	.home .image img{
	width: 100%;
	height:320px;
	padding-top: 1rem;
	animation: float 3s linear infinite;
}
 @keyframes float{
 	0%,100%{
 		transform: translateY(0rem);
 	}

    50%{
 		transform: translateY(1rem);
 	}

 }

 .home .content h3{
 	font-size: 5rem;
 	color:silver;
 	margin-bottom: 1rem;
 }
.home .content p{
	font-size: 3.2rem;
	color:white;
	padding: 4.7rem 0;

}

}

@media(max-width:450px){
	html{
		font-size: 50%;
	}


	.home .content{
	flex: 1 1 40rem;
	padding-top: 10rem;

}
.home .image{
	
	flex: 1 1 40rem;

    
}

	.home .image img{
	width: 100%;
	height:320px;
	padding-top: 1rem;
	animation: float 3s linear infinite;
}
 @keyframes float{
 	0%,100%{
 		transform: translateY(0rem);
 	}

    50%{
 		transform: translateY(3rem);
 	}

 }

 .home .content h3{
 	font-size: 5rem;
 	color:silver;
 	margin-bottom: 1rem;
 }
.home .content p{
	font-size: 3.2rem;
	color:white;
	padding: 4.7rem 0;

}

	.order .row form .inputBox input{
		width: 100%;
	}
}