*{
	font-family: Arial, "sans-serif";
	font-size: 20px;
	color: #3a3a3a;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

h1, 
h2,
h3,
h4,
h5,
nav a, 
footer a,
#shop a,
.add-to-cart,
#cart article button,
#cart article th
{
	font-family: Montserrat;
}

body{
	background-color: #faf7f4; 
}

.skip-nav{
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.skip-link:focus {
    position: static;
    width: auto;
    height: auto;
  }

#wrapper{
	max-width: 3840px;
	min-height: 100vh; /* view height */
	margin: 0 auto;
	/* primary grid */
	display: grid;
	grid-template-areas: /* "" gives row names */
		"banner"
		"menu"
		"content"
		"footer";
	grid-template-columns: 1fr; /* responsive */
	grid-template-rows: minmax(200px, auto) minmax(50px, auto) minmax(650px, auto) minmax(100px, auto);
}

/* --------header-------- */
/*
header{
	grid-area: banner;
	display: grid;
	grid-template-areas:
		"logo search search search icons";
	grid-template-columns: repeat(4,1fr) minmax(200px, auto);
	margin: 1em 1em 0.5em 1em;
} */

header{
	/* name for primary grid */
	grid-area: banner;
	/* --sub grid set up */
	display: grid;
	grid-template-areas:
		"logo icons"
		"logo search";
	grid-template-columns: 150px minmax(600px, auto);
	grid-template-rows: 1fr 1fr;
	margin: 1em 1em 0.5em 1em;
}

#logo-header{
	/* name for sub grid section */
	grid-area: logo;
	margin: 0.5em;
	max-width: 100%;
}

#search{
	/* name for sub grid section */
	grid-area: search;
	list-style: none;
	display: flex;
	flex-direction: row;
	gap: 0.5em;
	margin: 0.5em;
	align-self: center;
	justify-self: right;
	justify-content: flex-end;
	width: 100%;
	flex-wrap: wrap;
}

#search-box{
	width: 20%;
	text-align: center;
}

header input{
	padding: 0.2em;
	margin: 0.2em;
	border-radius: 15px;
	width: 100%;
	height: 45px;
	max-width: 100%;
}

#search button{
	font-size: 16px;
	padding: 0.2em;
	margin: 0.2em;
	border-radius: 15px;
	background-color: #b06a45; /* orange ish */ 
	width: 80px;
	height: 45px;
	max-width: 100%;
	cursor: pointer;
}

#search i{
	color: #fff;
}

#search button:hover{
	background-color: #4a2f23;
}


#icons{
	grid-area: icons;
	list-style: none;
	display: flex;
	flex-direction: row;
	gap: 1em;
	margin: 0.5em;
	align-self: center;
	justify-self: right;
	max-width: 100%;
	flex-wrap: wrap;
}
#icons i{
	font-size: 45px;
	color: #7a6f58;
	cursor: pointer;
}

#icons i:hover{
	color: #b06a45;
	display: inline-block;
	transform: scale(1.1);
}

#logo-header-mobile, #menu-mobile{
	display: none;
}

/* --------nav-------- */
nav{
	margin: 0.5em 1em;
	grid-area: menu;
}

nav ul{
	background-color: #e8dfd3;
	max-width: 100%;
	padding: 0.5em; 
	list-style: none;
	/* flex box settings */
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 1em;
}
nav a{
	text-decoration: none;
	display: block;
	padding: 0.5em;
	text-align: center;
	font-size: 18px;
}

nav a:hover{
	color: #b06a45;
	text-shadow: 1px 1px 1px #fff;	
}

.submenu{
	display: none;
}

.dropdown:hover .submenu{
	display: block;
}

.submenu a{
	font-size: 16px;
}


/* --------common-------- */
h1{
	font-size: 36px;
	margin: 0.5em;
	color: #503f28;
}

h1, h2, h3{
	margin: 0 0 0.5em 0;
/*	text-shadow: 1px 1px 1px #fff;	*/
}

h2{
	flex-basis: 100%;
	font-size: 28px;
}

section p, h3{
	max-width: 100%;
	margin: 0.5em;
}

/* --------main home-------- */
#home{
	max-width: 100%;
	min-height: auto; /* because of minmax above */
	/* name for primary grid */
	grid-area: content;	
	display: grid;
	grid-template-areas:
		"head head head"
		"welcome culture learn"
		"shop shop shop";
	grid-template-columns: minmax(350px, auto) minmax(200px, auto) minmax(200px, auto);
	grid-template-rows: minmax(300px, auto) auto minmax(300px, auto);
	margin: 0.5em 1em;
	gap: 0.5em;
}

#home section#head{
	grid-area: head;
	background-image: url(../img/beans-bg.png);
	background-position: center;
}

#home section#head p{
	width: 30%;
	border-radius: 8px;
	padding: 5px;
}	

#home section#head ul, #home section#products ul{
	justify-content: flex-start;
}

#home section{
	max-width: 100%;
	min-height: 300px;
	padding: 1em;
	margin: 0.5em;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #EFE6DE;
	border-radius: 15px;
}

#home ul{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	padding: 0.5em;
	max-width: 90%;
	margin: 0.5em;
	gap: 0.5em;
	font-size: 30px;
}

#home li{
	list-style: none;
	display: block;
	padding: 0.5em;
}

#home section#head a{
	background-color: #b06a45;
	color: #fff;
	width: 250px;
}

#home a{
	display: inline-block;
	text-decoration: none;	
	background-color: #faf7f4;
	border-radius: 15px;
	padding: 1em;
	font-weight: bold;
	box-shadow: 1px 1px 1px #4a2f23;
	width: 200px;
	max-width: 100%;
	text-align: center;
}

#home a:hover, #home section#head a:hover{
	background-color: #4a2f23;
	color: #fff;
	transform: scale(1.1);
}

#home section#coffee-culture{
	grid-area: culture;
	background-color: #d6c6b6;
}

#home section#coffee-learn{
	grid-area: learn;
	background-color: #ebd9c5;
}

#home section#products{
	background-image: url(../img/products-bg.png);
	grid-area: shop;
}

#home section#products p{
	width: 60%;
}

/* --------main culture-------- */
#culture{
	max-width: 100%;
	min-height: auto; /* because of minmax above */
	/* name for primary grid */
	grid-area: content;
	gap: 0.5em;
	margin: 0.5em;
}

#culture section#head{
	background-color: #d6c6b6;
	background-image: url(../img/banner-culture.jpg);
	background-position: right;
	width: 100%;
	max-width: 100%;
	margin: 0em;
    padding: 0.5em;
	display: flex;
	flex-direction: column;
	justify-content:center;
}

#culture section#head p{
	width: 50%;
	color: #fff;
}

#culture h1{
	color: #fff;
	text-shadow: none;
}

#culture section{
	max-width: 100%;
	min-height: 600px;
	padding: 1em;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #EFE6DE; 
	border-radius: 15px;
	width: 70%;
	margin: 1.5em 15% 1.5em 15%;
}

#culture section section h3, #culture section section p{
	flex-basis: 100%;
}

#culture section section{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	min-height: 150px;
	max-width: 100%;
	width: 100%;
	margin: 0;
	justify-content: center;
/*	background-color: #d6c6b6; */
}

#culture section section section{
	display: flex;
	flex-direction: column;
	width: 250px;
	max-width: 100%;
	margin: 0;
	padding: 0.5em;
	align-items: center;
}

#culture section img{
	border-radius: 50%;
	margin-bottom: 0.5em;
	cursor: pointer;
}

#culture section img:hover{
	border-radius: 50%;
	display: inline-block;
	transform: scale(1.05);
	border: 1px solid #b06a45;
}

#culture h2, #culture h3{
	font-size: 28px;
	margin: 0 0 0.5em 0;
	font-family: Montserrat;
}

#culture h3{
	color: #7a6f58;
	text-shadow: none;
}

#culture ul, #culture p{
	max-width: 90%;
	margin: 0.5em;
}

#culture table{
	width: 95%;
	margin: 1em;
	padding: 0.5em;
	max-width: 100%;
	border-collapse: separate;
/*	background-color: #d6c6b6;	*/
	border-radius: 20px;
	border-spacing: 1em;
}

#culture th{
	padding: 0.2em;
	font-family: Montserrat;
	font-size: 26px;
}

#culture td{
	padding: 0.5em;
}

#culture tr td:nth-child(2){
	font-size: 22px;
	text-align: center;
	font-family: Montserrat;
}

#culture tr td:nth-child(1){
	background-color: #d6c6b6;
	border-radius: 15px;
	border: 1px solid #b06a45;
	
}

#culture tr td:nth-child(3){
	background-color: #ebd9c5;
	border-radius: 15px;
	border: 1px solid #b06a45;
}

/* --------main learn-------- */
#learn{
	max-width: 100%;
	min-height: auto; /* because of minmax above */
	/* name for primary grid */
	grid-area: content;
	margin: 0.5em;
	gap: 0.5em;
}


#learn section#head{
	background-color: #d6c6b6;
	background-image: url(../img/banner-learn.jpg);
	background-position: right;
	width: 100%;
	max-width: 100%;
	margin: 0em;
    padding: 0.5em;
	display: flex;
	flex-direction: column;
	justify-content:center;
}

#learn h2, #learn h3{
	font-size: 28px;
	margin: 0 0 0.5em 0;
	font-family: Montserrat;
}

#learn h3{
	color: #7a6f58;
	text-shadow: none;
}

#learn section#head p{
	width: 50%;
	color: #fff;
}

#learn h1{
	color: #fff;
	text-shadow: none;
}

#learn section{
	max-width: 100%;
	min-height: 600px;
	padding: 1em;
	margin: 0.5em;
	background-position: center;
	background-repeat: no-repeat;
/*	background-color: #EFE6DE; */
	border-radius: 15px;
	width: 70%;
	margin: 1.5em 15% 1.5em 15%;
}

#learn section section{
	min-height: 200px;
	width: 100%;
	margin: 1em 0;
	padding: 1.5em;
	
}

#learn section#au-learn{
	background-color: #d6c6b6;
}

#learn section section.guide{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	max-width: 100%;
	justify-content: center;
}

#learn section section.guide h3, #learn section section.guide p{
	flex-basis: 100%;
}

#learn section section section{
	background-color: #fff;
}

#learn section section.guide section{
	display: flex;
	flex-direction: column;
	width: 400px;
	margin: 1em;
	padding: 2em;
	align-items: center;	
}
/*
#learn section section#guide section:hover{
	border: 1px solid #b06a45;
}*/

#learn section section section i{
	font-size: 80px;
	color: #4b3a2f;
	grid-area: i;
	align-self: center;
	text-align: center;
	max-width: 100%;	
	margin: 0.5em;
}


#learn section section.brewing section{
	display: grid;
	grid-template-areas:
		"title title"
		"img description"
		"img list";
	grid-template-columns: 300px minmax(100px, auto);
	grid-template-rows: 30px auto auto;
	margin: 1em 0;
	gap: 1em;	
	max-width: 100%;	
}

#learn section section.brewing section h4{
	flex-basis: 100%;
	grid-area: title;
	max-width: 100%;		
}

#learn section section.brewing  section img{
	grid-area: img;
	max-width: 100%;	
	margin: 0.5em;
	padding: 0.5em;
	border-radius: 50%;
	justify-self: center;
	
}

#learn section section.brewing section p{
	grid-area: description;
	width: 90%;
	margin: 0 5%;
	max-width: 100%;	
}

#learn section section.brewing section ul{
	grid-area: list;
	width: 90%;
	margin: 0 5%;	
}

#learn section section.tools section{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	max-width: 100%;
	justify-content: center;
}

#learn section section.tools section h4, 
#learn section section.tools section p{
	flex-basis: 100%;
}

#learn section section.tools section section{
	display: flex;
	flex-direction: column;
	width: 300px;
	min-height: 500px;
	padding: 0.5em;
	margin: 1em;
	align-items: center;	
	flex-wrap: nowrap;
	max-width: 100%;
	background-color: #EFE6DE;
}

#learn section section.tools section section img{
	max-width: 100%;	
	margin: 0.5em;
	padding: 0.5em;
	border-radius: 20px;
	justify-self: center;	
}

#learn section section.tools section section p{
	min-height: 150px;	
}


/* --------main about-------- */
#about{
	max-width: 100%;
	min-height: auto; /* because of minmax above */
	/* name for primary grid */
	grid-area: content;
	margin: 0.5em;
	gap: 0.5em;		
}


#about section#head{
	background-image: url(../img/banner-about.jpg);
	background-position: right;
	width: 100%;
	max-width: 100%;
	min-height: 600px;
	margin: 0em;
    padding: 0.5em;
	display: flex;
	flex-direction: column;
	justify-content:center;
}

#about article{
	display: grid;
	grid-template-areas:
		"journey journey"
		"why find"
		"thanks thanks";
	grid-template-columns: minmax(400px, auto) minmax(400px, auto);
	grid-template-rows: minmax(400px, auto) minmax(400px, auto) minmax(200px, auto);
	justify-items: center;
	width: 70%;
	margin: 1.5em 15% 1.5em 15%;
	gap: 0.5em;
}

#about section{
	max-width: 100%;
	width: 100%;
	padding: 1em;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #EFE6DE; 
	border-radius: 15px;
}

#about section#head p{
	width: 50%;
	color: #fff;
}

#about h1{
	color: #fff;
	text-shadow: none;
}

#about h2, #about h3{
	font-size: 28px;
	margin: 0 0 0.5em 0;
	font-family: Montserrat;
}

#about h3{
	color: #7a6f58;
	text-shadow: none;
}

#about article section:nth-of-type(1){
	grid-area: journey;
	margin-bottom: 0.5em;
}

#about article section:nth-of-type(2){
	grid-area: why;
	margin-right: 0.25em;
}

#about article section:nth-of-type(3){
	grid-area: find;
	margin-left: 0.25em;
}

#about article section:nth-of-type(4){
	grid-area: thanks;
	margin-top: 0.5em;
	background-color: #ebd9c5;
}

#about section ul{
	display: flex;
	flex-direction: column;
	padding: 1em;
}

#about section li{
	padding: 0.5em;
}

#about section a{
	color: #b06a45;
}

#about section a:hover{
	text-shadow: 1px 1px 1px #fff;
}

#about article section section{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	
}

#about article section section h3, #about article section section p{
	flex-basis: 100%;
}

#about article section section img{
	border-radius: 50%;
	margin: 1.5em;
}

#about article section section i{
	font-size: 50px;
	color: #b06a45;
}

/* --------main shop-------- */
#shop{
	max-width: 100%;
	min-height: auto; /* because of minmax above */
	gap: 0.5em;
	margin: 0.5em 1em;
	/* name for primary grid */
	grid-area: content;
}

#shop aside{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2em;
	margin: 0.5em 1em;
}

#shop aside a{
	background-position: center;
	max-width: 100%;
	min-width: 300px;
	min-height: 200px;
	padding: 0.5em;
	margin: 0.5em; 
	border-radius: 15px;
	box-shadow: 2px 2px 2px #000;
	font-size: 40px;
	text-align: center;
	align-content: center;
	color: #fff;
	text-shadow: 1px 1px 1px #000; */
	font-weight: bold;	
	text-decoration: none;
}

#shop aside a:hover{
	display: inline-block;
	box-shadow: 4px 4px 4px #000;
	transform: scale(1.1);
}

#beans-button{
	background-image: url(../img/beans.jpg);
}

#cups-button{
	background-image: url(../img/cups.jpg);
}

#others-button{
	background-image: url(../img/others.jpg);
}

.product-mobile{
	display: none;
}
/* try */
/*
#shop article{
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	gap: 1em;
	padding: 1em;
	width: 100%;
	max-width: 100%;
}
*/

#shop section h2{
	flex-basis: 100%;
	width:100%;
}

#shop section{
	display: flex;
	gap: 1em;
	padding: 1em;
	max-width: 100%;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 20%;
}

#shop section section{
	display: flex;
	flex-direction: column;
	border-radius: 15px;
	background-color: #EFE6DE;
	max-width: 100%;
	min-height: 350px;
	justify-content: center;
	padding: 1em;
	margin: 0.5em;
	gap: 0.5em;
	align-items: center;	
}


/*
#shop article section{
	display: flex;
	overflow-x: auto;
	scroll-behavior: smooth;
	gap: 1em;
	scroll-snap-type: x mandatory;
	width: 100%;
	padding: 1em;
	max-width: 100%;
	flex-direction: row;
}

#shop article section section{
	flex: 0 0 15%;
	scroll-snap-align: center;
	border-radius: 15px;
	background-color: #EFE6DE;
	max-width: 100%;
	min-height: 350px;
	flex-direction: column;
	justify-content: center;
	padding: 1em;
	margin: 0.5em;
	gap: 0.5em;		
}
*/

#shop h3, #shop h4, #shop p{
	margin: 0;
}

#shop section section img{
	border-radius: 15px;
	max-width: 90%;
	margin: 0 5% 1.5em 5%;
	cursor: pointer;
}

#shop section section img:hover{
	display: inline-block;
	transform: scale(1.1);
}

#shop section section ul{
	display: flex;
	flex-direction: row;
	list-style: none;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 0.5em;
	margin: 0.5em;
	gap: 0.5em;
}
#shop h4{
	font-family: Arial;
}

.add-to-cart{
	font-size: 20px;
	background-color: #b06a45; 
	width: 200px;
	border-radius: 15px;
	padding: 0.5em;
	color: #fff;
    cursor: pointer;	
}

.add-to-cart:hover{
	display: inline-block;
	background-color: #4b3a2f;
	transform: scale(1.1);
}

.like{
	background-color: transparent;
    border: none;
    padding: 8px 12px;
    border-radius: 10px;
    cursor: pointer;
}

.like i{
	font-size: 32px;
	color: #7a6f58;
}

.like:hover i{
	display: inline-block;
	color: #b06a45;
	transform: scale(1.1);

}


/* --------main cart-------- */
#cart{
	/* name for primary grid */
	grid-area: content;
	display: grid;
	grid-template-areas:
		"heading heading"
		"aside article";
	grid-template-columns: minmax(750px, auto) minmax(650px, auto);
	grid-template-rows: 120px auto;
	margin: 0.5em 1em;
	gap: 0.5em;
}

.cart-img-mobile, .buttons-mobile{
	display: none;
}

.buttons{
	list-style: none;
	display: flex;
	flex-direction: row;
	gap: 0.5em;
	justify-content: right;
}

#cart h1{
	grid-area: heading;
}

#cart aside{
	grid-area: aside;
	padding: 0.5em;
	margin: 0.5em;
	max-width: 100%;
}

#cart aside table{
	width: 90%;
	margin: 0.5em;
	border-collapse: collapse;
	table-layout: fixed;
}

#cart aside td{
	text-align: right;
	border-bottom: 1px dotted #7a6f58;
	max-width: 100%;
	min-height:200px; 
}

.product-cart{
	width: 230px;
	padding: 0.5em;
}

.details{
	padding: 0 2em;
}

#cart aside td h2, #cart aside td p{
	text-align: left;
}

#cart aside button{
	background-color: transparent;
	border-radius: 10px;
	border: none;
	padding: 1px;
	margin-top: 2em;
}

#cart aside td h2{
	font-size: 22px;
}

#cart aside i{
	font-size: 45px;
	color: #7a6f58;
	cursor: pointer;
}

#cart article{
	grid-area: article;
	padding: 0.5em;
	margin: 0.5em;
	max-width: 100%;
}

#cart article table{
	width: 90%;
	margin: 2em 0.5em 3em 0.5em;
	border-collapse: collapse;
	table-layout: fixed;
	justify-self: center;
}

#cart article h2{
	font-size: 28px;
	margin-bottom: 0.5em;
	color: #7a6f58;
}

#cart article tr{
	max-width: 100%;
	height: 50px;
}

#cart article td{
	border: none;
	max-width: 100%;
	text-align: left;
}

#cart article tbody h3{
	font-size: 20px;
	text-align: right;
}

#cart article tfoot tr{
	border-top: 3px solid #7a6f58;
	height: 70px;
}

#cart article tfoot td{
	font-size: 24px;
}

#cart article tfoot h4{
	font-size: 24px;
	text-align: right;
	font-family: Arial;
}

#cart article button{
	background-color: #4b3a2f;
	width: 60%;
	height: 80px;
	border-radius: 24px;
	padding: 0.5em;
	color: #fff;
	font-size: 22px;
	margin: 0.5em 20%;
	cursor: pointer;
}

#cart article button:hover{
	box-shadow: 1px 1px 1px #fff;
	background-color: #b06a45;
}

#cart ul#payment-options{
	display: flex;
	flex-direction: row;
	justify-content: center;
	list-style: none;
	gap: 0.5em;
	margin: 0.5em;
	padding: 0.5em;
}

#cart ul#payment-options-mobile{
	display: none;
}

#cart h3{
	font-family: Arial;
}

/* --------main contact (javascript assessment)-------- */
#contact{
	max-width: 100%;
	min-height: auto; /* because of minmax above */
	gap: 0.5em;
	margin: 0.5em 1em;
	/* name for primary grid */
	grid-area: content;
}

#contact form{
	width: 60%;
	border: none;
	padding: 1em;
	margin: 0 20%;
	border-radius: 15px;
}

#contact fieldset{
	border: 1px solid #7a6f58;
	padding: 1em;
	margin: 0.5em;
	border-radius: 15px;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-around;
	max-width: 100%;
}

#contact legend{
	padding: 0.5em;
	font-size: 35px;
}

#contact legend h2{
	font-size: 28px;
	color: #7a6f58;
}

#contact p{
	padding: 0.5em;
	margin: 0 2em;
}

#contact label, #contact form input, #contact form select, #contact form textarea{
	margin: 0.3em 10% 0 10%;
	padding: 3px;
	border-radius: 8px;
	width: 80%;
}

#contact form textarea{
	min-height: 200px;
}

#contact form input#terms{
	width: 20px;
	height: 20px;
	margin: 0.5em;
}

#contact form #label-terms{
	display: flex;
	flex-direction: row;
	justify-content: center;
	margin: 0.5em 10%;
	max-width: 100%;
	align-items: center;
}

#contact form input#submit{
	background-color: #4b3a2f; /*dark brown */
	width: 50%;
	height: 65px;
	border-radius: 24px;
	padding: 0.5em;
	color: #fff;
	font-size: 28px;
	margin: 0.5em 25%;
	cursor: pointer;
}

#contact form input#submit:hover, #terms:hover{
/*	text-shadow: 1px 1px 1px #000; */
/*	box-shadow: 1px 1px 1px #000; */
	background-color: #b06a45;
}
.error{
	color: #D92525;
	text-align: center;
}

span.tooltip{
	display: block;
	position: absolute;
	visibility: hidden;
	width: 350px;
	min-height: 50px;
	margin-left: 25%;
	padding: 0.5em;
	color: #fff;
	background-color: #503f28;
	border-radius: 15px;
	opacity: 70%;
/*	box-shadow: 3px 3px 3px #000; */
}
/*
#contact aside{
	display: grid;
	grid-template-areas:
		"map"
		"names"
		"adr";
	grid-template-columns: minmax(350px, auto);
	grid-template-rows: minmax(300px, auto) 140px auto;
	width: 60%;
	max-width: 100%;
	margin: 0 20%;
	padding: 1em;
	gap: 0em;
}*/
	
#contact aside{
	width: 56%;
	max-width: 100%;
	margin: 0.5em 22%;
	padding: 1em;
	background-color: #EFE6DE;
	border-radius: 15px;
	justify-items: center;
}	
	
	
.vcard ul{
	list-style: none;
	max-width: 100%;
	width: 80%;
}

.vcard li{
	margin: 10px;
}

.names{
	grid-area: names;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 0;
}

.vcard li.tel{
	margin-bottom: 0;
}

.adr{
	grid-area: adr;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;	
	max-width: 100%;
	align-content: flex-start;
}

.adr li{
	margin-right: 3px;
	margin-bottom: 0;
}

.vcard iframe{
	width: 80%;
	height: 400px;
	margin: 0.5em 10%;
	max-width: 100%;
	border-radius: 15px;

}
/* --------error404-------- */
#error404{
	max-width: 100%;
	min-height: auto;
	gap: 0.5em;
	margin: 0.5em 1em;
	/* name for primary grid */
	grid-area: content;
	justify-items: center;
}

#error404 section{
	display: flex;
	flex-direction: column;
	align-items: center;
	
}

#error404 section img{
	border-radius: 15px;
	margin: 0.5em;
	max-width: 100%;
}

#error404 section a, #error404 section i{
	color: #b06a45;
	font-size: 18px;
}

/* --------footer-------- */
footer{
	/* name for primary grid */
	grid-area: footer;
	display: grid;
	grid-template-areas: 
		"logo policy quick-links"
		"logo policy quick-links"
		"social-media social-media social-media"
		"copyright copyright copyright";
	grid-template-columns: 250px repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr) 100px;
	gap: 1em;
	padding: 1em;
	background-color: #4b3a2f;
	margin: 0.5em 1em 1em 1em;
}

#logo-footer{
	/* name for sub grid section */
	grid-area: logo;
	margin: 0.5em;
	max-width: 100%;
}

#logo-footer-mobile{
	display: none;
}

footer ul{
	background-color: #4b3a2f;
	max-width: 100%;
	padding: 0.5em; 
	list-style: none;	
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1px;
}

footer #policy{
	grid-area: policy;
}

footer #quick-links{
	grid-area: quick-links;
}

footer #social-media{
	grid-area: social-media;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1em;	
}

footer #copyright{
	grid-area: copyright;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1em;	
}

footer ul li a{
	font-size: 18px;
	text-decoration: none;
	display: block;
	padding: 1px;
	color: #fff;
}

footer a:hover{
	text-shadow: 2px 2px 2px #b06a45;	
}

footer p, footer h3{
	color: #fff;
	font-size: 20px;
}

footer i{
	cursor: pointer;
	color: #fff;
	font-size: 24px;
}

footer i:hover{
	display: inline-block;
	transform: scale(1.1);
}

footer h3{
	text-shadow: none;
}




/* --------@media query mobile-------- */
@media screen and (max-width: 700px){
	#wrapper{
		grid-template-columns: 100%;
		grid-template-rows: minmax(180px, auto) minmax(0, auto) minmax(400px, auto) minmax(50px, auto);		
	}
/* --------header-------- */
	header{
		display: grid;
		grid-template-areas:
		"logo icon"
		"search search";
		grid-template-columns: 100px auto;
		grid-template-rows: minmax(100px, auto) minmax(70px, auto);
		max-width: 100%;
	}	
	#logo-header{
		display: none;
	}
	#logo-header-mobile{
		grid-area: logo;
		margin: 0.5em;
		display: block;
	}
	#search{
		margin: 0em;
		gap: 0.5em;
		width: 100%;
	}
	#search-box{
		width: 80%;
	}
	#search button{
		width: 40px;
	}
	#search i{
		font-size: 18px;
	}
	#icons{
		grid-area: icon;
		gap: 0.5em;
		align-self: center;
	}		
	#icons i{
		font-size: 25px;
	}
/*	
	#hamburger{
		cursor: pointer; 
		border: none;
	}
*/	
/* --------nav-------- */
    nav#menu{
		display: none;
	}	
	nav ul{
		flex-direction: column;
		list-style: none;
		width: 100%;
		align-items: flex-start; 
		gap: 0em;
		padding: 0em;
	}
	nav li{
		width: 100%;
	}
	nav ul a{
		font-size: 18px;
		text-align: left;
	}
	nav ul a:hover{
		background-color: #fff;
		opacity: 60%;
		color: #000;
		text-shadow: none;
	}
/* --------common-------- */
	h1, h2{
		font-size: 22px;
		text-align: left;
	}
	#home aside p, #home p, #beans p, #cups p, #others p{
		font-size: 20px;
		margin: 0em;
	}
	p{
		font-size: 18px;
	}
/* --------home-------- */
	#home {
		grid-template-areas:         
			"head"        
			"welcome" 
			"culture" 
			"learn"        
			"shop";
		grid-template-columns: minmax(250px, auto);
		grid-template-rows: minmax(300px, auto) auto auto auto auto;
	}
	#home ul{
		gap: 0em;
	}
	#home section#head p, #home section#products p{
		width: 100%;
	}
	#home section#head ul, #home section#products ul{
		justify-content: center;
	}
	#home section{
		margin: 0em;
		padding: 0.5em;
		gap: 0.5em;
	}	
	#home a{
		box-shadow: none;
		border: 1px solid #4a2f23;
	}
/* --------culture-------- */
	#culture{
		margin: 0.5em 1em;
	}
	#culture section{
		padding: 0.5em;
		min-height: 200px;
		width: 100%;
		margin: 0.5em 0;
	}
	#culture section#head p{
		width: 90%;
	}
	#culture table{
		width: 100%;
		margin: 0;
		padding: 0;
		border-spacing: 0.3em;
	}
	#culture td{
		font-size: 16px;
	}
	#culture h2, #culture h3{
		font-size: 22px;
		margin: 0 0 0.5em 0;
	}
	#culture p{
		margin: 0;
	}
	#culture th{
		padding: 0em;
		font-size: 16px;
	}
	#culture tr td:nth-child(2) {
		font-size: 16px;
		padding: 0em;
	}

/* --------learn-------- */
	#learn{
		margin: 0.5em 1em;
	}
	#learn section{
		padding: 0.5em;
		min-height: 200px;
		width: 100%;
		margin: 0.5em 0;
	}
	#learn h2, #learn h3{
		font-size: 22px;
		margin: 0 0 0.5em 0;
	}	
	#learn section#head p{
		width: 90%;
	}
	
	#learn section section {
		padding: 0.5em;
	}	
	
	#learn section section.guide section {
    margin: 0.5em;
    padding: 0.5em;
	}	
	#learn p{
        margin: 0;
        padding: 0.5em;
    }

	#learn ul{
		margin: 0;
		padding: 1em;
	} 

	#learn section section section i{
		font-size: 50px;
	}
	#learn section section.brewing section {
		grid-template-areas:        
			"title"        
			"img"       
			"description"
			"list";
		grid-template-columns: minmax(250px, auto);
		grid-template-rows: 30px 300px auto auto;
	}
	#learn section section.brewing section p{
		width: 100%;
		margin: 0em;
	}
	#learn section section.tools section section{
		min-height: 100px;
		margin: 0.5em;
	}
	#learn h1, #learn section#head p{
		color: #3a3a3a;
	}
	#learn li{
		font-size: 18px;
	}
	
/* --------about-------- */
	#about{
		margin: 0.5em 1em;
	}
	#about section#head{
		min-height: 200px;
	}
	#about h1{
		color: #3a3a3a;
	}
	#about section#head p {
    width: 100%;
    color: #3a3a3a;
	}
	
	#about h2, #about h3{
		font-size: 22px;
		margin: 0 0 0.5em 0;
	}	
	#about p{
		margin: 0;
	}		
	#about article {
		grid-template-areas:         
			"journey"        
			"why"
			"find"       
			"thanks";
		grid-template-columns: minmax(300px, auto);
		grid-template-rows: minmax(400px, auto) minmax(400px, auto) minmax(400px, auto) minmax(200px, auto);
		width: 100%;
		margin: 0.5em 0;
	}
	#about section{
		padding: 0.5em;
	}
	#about article section section img {
		margin: 0.5em;
	}
	#about article section section i {
		display: none;
	}
	#about article section:nth-of-type(1){
		margin-bottom: 0em;
	}

	#about article section:nth-of-type(2){
		margin-right: 0em;
	}

	#about article section:nth-of-type(3){
		margin-left: 0em;
	}

	#about article section:nth-of-type(4){
		margin-top: 0em;
	}	
	#about a, #about li{
		font-size: 18px;
	}
	
/* --------shops-------- */
	#shop aside{
		gap: 1em;
	}
	#shop aside a{ 
		min-height: 150px;
		margin: 0em;
		font-size: 30px;
		box-shadow: none;
		border: 1px solid #4a2f23;
	}
	#shop aside a:hover{
		font-size: 30px;
		box-shadow: none;
	}
	#shop section{
		margin: 0.5em;
		padding: 0.5em;
	}
	
/* --------beans, cups, others-------- */
	#beans section, #cups section, #others section{
		flex-direction: column;
		gap: 0.5em;
	}
	#beans section section, #cups section section, #others section section{
		width: 100%;
		min-height: 400px;
		padding: 0em;
		margin: 0em;
		gap: 0.2em;
	}
	#beans section section ul, #cups section section ul, #others section section ul{
		padding: 0em;
	}
	.product{
		display: none;
	}
	.product-mobile{
		display: block;
		align-self: center;
	}
	.add-to-cart{
		font-size: 16px;
	}
	.add-to-cart:hover{
		font-size: 16px;
	}
/* --------cart-------- */
	#cart{
		grid-template-areas: 
			"heading"
			"aside"
			"article";
		grid-template-columns: 100%;
		grid-template-rows: 50px minmax(140px, auto) minmax(460px, auto);
		margin: 0.5em;
	}
	#cart aside{
		padding: 0em;
	}
	#cart aside table{
		width: 100%;
		max-width: 100%;
		margin: 0em;
	}
	#cart aside td h2 {
		font-size: 18px;
	}
	#cart aside td{
		text-align: right;
	}
	#cart article button:hover{
		box-shadow: none;
	}
	.details{
		padding: 0.5em;
	}
	.details h3, .details h2{
		font-size: 20px;
	}
	.details p{
		font-size: 18px;
	}
	#cart aside button{
		margin-top: 0.5em;
	}
	.cart-img, .buttons{
		display: none;
	}
	.cart-img-mobile{
		display: block;
	}
	.buttons-mobile{
		list-style: none;
		display: flex;
		flex-direction: row;
		gap: 0.5em;
		justify-content: right;
		max-width: 100%;
	}
	.product-cart{
		width: 110px;
		padding: 0.5em;
	}
	#cart article{
		margin: 0.5em;
		padding: 0em;
	}
	#cart article table{
		width: 100%;
		margin: 1em 0em;
	}
	#cart article th, #cart article tbody td, #cart article tbody h3{
		font-size: 20px;
	}

	#cart article tfoot tr{
		border-top: 3px solid #7a6f58;
		height: 70px;
	}
	#cart article tfoot td, 
	#cart article tfoot h4,
	#cart article button:hover{
		font-size: 20px;
	}
	#cart article button{
		width: 80%;
		font-size: 18px;
		margin: 0.5em 10%;
	}
	#cart ul#payment-options{
		display: none;
	}
	#cart ul#payment-options-mobile{
		display: flex;
		flex-direction: row;
		justify-content: center;
		list-style: none;
		gap: 0.5em;
		margin: 0.5em;
	}
	#cart article h2{
		font-size: 22px;
	}
/* --------contact-------- */
	#contact form{
		width: 100%;
		padding: 0em;
		margin: 0em;
	}
	#contact fieldset{
		width: 90%;
		padding: 0.5em;
		margin: 0.5em;
		justify-self: center;
	}
	#contact legend h2{
		font-size: 22px;
	}
	#contact p{
		font-size: 20px;
	}
	#contact p{
		margin: 0em;
	}
	#contact label, 
	#contact form input, 
	#contact form select, 
	#contact form select option,
	#contact form textarea, 
	.error{
		margin: 0.1em 5% 0 5%;
		width: 90%;
		font-size: 20px;
	}
	#contact form textarea{
		min-height: 150px;
	}
	#contact form input#terms{
		width: 15px;
		height: 15px;
	}
	#contact form #label-terms{
		margin: 0.5em 5%;
		font-size: 16px;
	}
	#contact form input#submit{
		width: 80%;
		font-size: 22px;
		margin: 0.5em 10%;
	}
	span.tooltip{
		width: 50%;
		max-width: 100%;
		margin-left: 20%;
		font-size: 16px;
	}
	#contact aside{
		grid-template-areas:
			"heading"
			"names"
			"adr"
			"map";
		grid-template-columns: auto;
		grid-template-rows: 50px minmax(110px, auto) auto auto;
		width: 95%;
		margin: 0.5em;
		padding: 0.5em;
	}	
	.vcard ul li, .vcard ul li a{
		font-size: 20px;
	}
	.vcard h3, li.fn{
		font-size: 22px;
		margin-bottom: 0.5em;
	}	
	.vcard iframe{
		width: 350px;
		height: 300px;
		margin: 0.5em 0 0 0;
	}	

/* --------footer-------- */
	footer {
		grid-template-areas: 
			"logo"
			"quick-links"
			"policy"
			"social-media"
			"copyright";
		grid-template-columns:100%;
		grid-template-rows: minmax(100px, auto) auto auto 50px minmax(80px, auto);
		gap: 0em;
		padding: 0em;
    }
	#logo-footer{
		display: none;
	}
	#logo-footer-mobile{
		grid-area: logo;
		display:block;
		justify-self: left;
		padding: 0.5em;
	}
	footer ul{
		align-items: center;
		gap: 0px;
	}
	footer ul li a{
		font-size: 16px;
		margin: 0em;
	}
	footer #copyright {
		gap: 0em;
		padding: 0.5em;
	}
	footer h3, footer p{
		font-size: 16px;
		margin: 0;
		font-family: Montserrat;	
	}
	.vcard li{
		margin: 0.1em;
	}
} 

/* --------end-------- */