@import url('https://fonts.googleapis.com/css2?family=Lobster&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');

html, body{
	padding: 0;
	margin: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    min-width: 320px;
    line-height: 134%;
    color: #003057;
    scroll-padding: 50px 0;
    font-family: "Noto Serif", Georgia, serif;
    font-size: 14px;
}

*,*:before,*:after {
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit;
}

/****************/

header{
	position: relative;
	padding: 30px 15px 40px;
	margin: 0 0 50px;
	overflow: hidden;
}

header h1{
	width: 100%;
	max-width: 270px;
	background-image: url(../images/logo.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    line-height: 0;
    margin: 0 auto;
    overflow: hidden;
    text-align: left;
    text-indent: -9999px;
    position: relative;
    z-index: 4;
}

header h1:after{
	content: '';
	display: block;
	padding-bottom: 28%;
}

header .wave{
	content: '';
	display: block;
	width: 100%;
	background-image: url(../images/header-wave.svg);
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
}

header .wave:after{
	content: '';
	display: block;
	padding-bottom: 27%;
}

@media (max-width: 800px) and (min-width: 601px){
	header{
		padding: 30px 15px 50px;
	}

	header h1{
		max-width: 420px;
	}
}

@media (min-width: 801px){
	header{
		padding: 30px 15px 100px;
	}
	
	header h1{
		max-width: 845px;
	}
}

.beans1, .beans2{
	display: block;
	background-image: url(../images/beans.jpg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -50%;
    width: 405px;
    z-index: 2;
}

.beans1{
	right: -180px;
}

.beans2{
	left: -180px;
}

.beans1:after, .beans2:after{
	content: '';
	display: block;
	padding-bottom: 109%;
}

@media (max-width: 400px){
	.beans1, .beans2{
		display: none;
	}
}

@media (max-width: 1250px) and (min-width: 801px){
	.beans1, .beans2{
		display: none;
	}
}

@media (max-width: 800px) and (min-width: 601px){
	.beans1, .beans2{
	    width: 200px;
	}

	.beans1{
		right: -102px;
	}

	.beans2{
		left: -102px;
	}
}

@media (max-width: 600px) and (min-width: 401px){
	.beans1, .beans2{
	    width: 150px;
	}

	.beans1{
		right: -65px;
	}

	.beans2{
		left: -65px;
	}
}

/****************/

footer{
	position: relative;
	overflow: hidden;
	margin-top: 50px;
}

footer .wave{
	content: '';
	display: block;
	width: 100%;
	background-image: url(../images/footer-wave.svg?v=2);
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
}

footer .wave:after{
	content: '';
	display: block;
	padding-bottom: 20%;
}

footer .copyright{
	font-size: 12px;
	padding: 15px;
	text-align: center;
}


@media (min-width: 801px){
	footer .wave:after{
		padding-bottom: 10.25%;
	}
}

/****************/

.width-limiter{
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 15px;
}

.content{
	text-align: center;
	max-width: 290px;
	margin: 0 auto;
}

.image{
	background-image: url(../images/box.jpg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    max-width: 290px;
    margin: 30px auto 0;
}

.image:after{
	content: '';
	display: block;
	padding-bottom: 94%;
}

p{
	font-size: 14px;
	font-weight: 700;
}


h2, h3{
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	margin: 0;
	line-height: 1.33;
}

h2{
	font-size:  22px;
  	color: #003057;
}

h3 {
	font-family: "Lobster", 'Brush Script MT', system-ui;
	font-size:  31px;
	color: #5C3D31;
}

.brush-stroke{
	background-image: url(../images/brushstroke.png?v=2);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: block;
    font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	color: #fff;
	max-width: 270px;
	margin: 0 auto;
	display: -ms-flex;
	display: -webkit-flex;
    display: flex;
    align-items: center;
  	justify-content: center;
}

.brush-stroke:after{
	content: '';
	display: block;
	padding-bottom: 12%;
}

.bean-hr{
	width: 100%;
	height: 20px;
	background-image: url(../images/bean-hr.svg);
    background-size: auto 20px;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 800px) and (min-width: 601px){
	.content{
		max-width: 570px;
	} 

	.image{
		max-width: 400px;
	}

	p{
		font-size: 16px;
	}

	h2{
		font-size:  38px;
	}

	h3 {
		font-size:  62px;
	}

	.brush-stroke{
		max-width: 570px;
		font-size: 25px;
		margin: 20px auto 50px;
	}

	.bean-hr{
		height: 24px;
	    background-size: auto 24px;
	}
}

@media (min-width: 801px){

	.width-limiter{
		display: -ms-flex;
		display: -webkit-flex;
	    display: flex;
	    justify-content: space-between;
	    align-items: center;
	}

	.width-limiter > div{
		flex-grow: 1;
	    flex-shrink: 0;
	    flex-basis: 100%;
	}

	.content {
		max-width: 60%;
	}

	.image{
		max-width: 30%;
	}

	p{
		font-size: 18px;
	}

	h2{
		font-size:  40px;
	}

	h3 {
		font-size:  64px;
	}

	.brush-stroke{
		max-width: 590px;
		font-size: 32px;
		margin: 20px auto 0;
	}

	.bean-hr{
		height: 29px;
	    background-size: auto 29px;
	}
}

@media (min-width: 801px) and (max-width: 1010px) {
	h2{
		font-size:  36px;
	}

	h3 {
		font-size:  50px;
	}

	.brush-stroke{
		max-width: 460px;
		font-size: 25px;
		margin: 20px auto 0;
	}

	.bean-hr{
		height: 24px;
	    background-size: auto 24px;
	}
}