/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* ==== END OF RESET ==== */

/* Color Scheme

#403C3D- Dark purple
#9F8C86- Mauve purple
#3B2621- Dark brown
#2A4A3A- Forest green
#C99FA7- Mauve pink
#F5CE4E- Yellow
#000907- Dark green
#322b29- Dark mauve
#FFF- White
#000- Black

/* ==== BODY ==== */

* {
	box-sizing: border-box;
}

body {
	max-width: 100%;
	margin: 0 auto;
	background-color: #FFF;
	position: relative;
  	font-family: Nunito, 'Nunito Sans', Roboto, Arial, sans-serif;
}

h1, h2, h3, #greeting, .statement h1 {
    font-family: Solitreo, Kalam, Ruluko, Livvic, ABeeZee, Bellota, Bad Script, Arial, sans-serif;
}

/* ==== NAVIGATION STYLING ==== */

nav {
    display: flex;
    justify-content: center;
    list-style-type: none;
    text-align: center;
	margin: 0 auto;
    font-size: clamp(.8em, 3vw, 30px); /* Credit to Miri for nav sizing */
	background-color: #FFFFFF;
	padding: 1.0em 0;
}

a:link, a:visited {
  color: #3B2621;
  text-decoration: none;
  font-weight: 700;

}
a:hover,  a:active, a:focus {
  color: #F5CE4E;
  font-weight: 700;
}

.menu li {
	display: inline-block;
	list-style-type: none;
	padding: 0.5em;
}

footer nav {
    font-size: clamp(.8em, 3vw, 30px); /* Credit to Miri for nav sizing */
	background-color: #403C3D;
	color: #000;
	text-align: center;
	margin: 0 auto;
	line-height: 1.5;
	font-weight: bold;
}

footer a:link, footer a:visited {
    color: #FFF;
}

footer a:hover,  footer a:active, a:focus {
    color: #F5CE4E;
    font-weight: 700;
  }

  /* Visit Us button styling */

  .visit-us a {
    display: block;
    margin: 0 auto;
    margin-bottom: 2.5em;
    box-shadow: 10.0px 10.0px 10.0px #000907;
    background-color: #3B2621;
    border: 3.0px solid #3B2621;
    border-radius: 10px;
    font-size: 1.5em;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    padding: 1.5em;
    max-width: 250px;
    transition: 0.5s ease-in-out;
  }
  
  .visit-us a:visited {
    color: #FFF;
  }
  
  .visit-us a:hover {
    color: #3B2621;
    background-color: #FFF;
    box-shadow: 25px 25px 25px #000907;
    cursor: pointer;
  }

  /* Sample button styling */

  .sample a {
    display: block;
    margin: 0 auto;
    box-shadow: 10.0px 10.0px 10.0px #322b29;
    background-color: #3B2621;
    border: 3.0px solid #3B2621;
    border-radius: 10px;
    font-size: 1.5em;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    padding: 1.5em;
    max-width: 250px;
    transition: 0.5s ease-in-out;
  }

  /* 404 Home Button Styling */

  .error-button a {
    display: block;
    margin: 0 auto;
    box-shadow: 10.0px 10.0px 10.0px #322b29;
    background-color: #3B2621;
    border: 3.0px solid #FFF;
    border-radius: 10px;
    font-size: 1.5em;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    padding: 1.5em;
    max-width: 250px;
    transition: 0.5s ease-in-out;
  }
  
  .sample a:visited, .error-button a:visited {
    color: #FFF;
  }
  
  .sample a:hover, .error-button a:hover {
    color: #3B2621;
    background-color: #FFF;
    box-shadow: 25px 25px 25px #322b29;
    cursor: pointer;
  }

/* ==== END OF LINK STYLING ==== */

/* ==== HEADER STYLING ==== */

header {
	background-color: #403C3D;
	text-align: center;
	padding-top: 1.0em;
}

header p {
	color: #FFFFFF;
	font-size: 1.0em;
	line-height: 1.6em;
}

header p:last-of-type {
	padding-bottom: 2.0em;
}

/* JavaScript styling */

#greeting {
    font-size: 1.5em;
    margin-bottom: 0.5em;
}

/* ==== END HEADER STYLING ==== */

/* ==== IMAGES STYLING ==== */

/* Logo */

picture {
	display: block;
	text-align: center;
	margin-top: 2.0em;
	margin-bottom: 2.0em;
}

/* Home Page Banner Image */

.banner {
	display: block;
	width: 100vw;
	height: auto;
	padding: 0;
	background-size: contain;
}

/* Staff immages */

.baker-daniel, .baker-julia, .baker-becky {
	display: block;
	text-align: center;
}

.baker-daniel img, .baker-julia img, .baker-becky img {
    border-radius: 10px;
    border: 2px solid #000;
}

.baker-daniel, .baker-becky {
	margin-top: 3.0em;
}

/* Flexbox Styling- Home Page & Products Page */

.flex-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    background-color: #9F8C86;
    padding-bottom: 2.5em;
}
  
.figure-1, .figure-2, .figure-3 {
    padding: 3.0em;
    background-color: #3B2621;
    box-shadow: 10.0px 10.0px 10.0px #332D2B;
    border-radius: 10px;
    margin: 2.0em;
}

.figure-1 img, .figure-2 img, .figure-3 img {
    border-radius: 10px;
}
  
figcaption {
      color: #FFF;
      text-align: center;
      font-size: 1.5em;
      font-weight: 700;
      margin-top: 0.5em;
}

.title1, .title2, .title3 {
	margin-bottom: 1.0em;
}

.title1 h2, .title2 h2, .title3 h2{
	margin-top: 1.0em;
}

.title1 + ul, .title2 + ul, .title3 + ul {
	margin-top: 1.0em;
}

figcaption.item {
	line-height: 2.0em;
}

.product-items figcaption {
	text-align: center;
	color: #FFF;
}

/* End Fledbox Styling */

/* ==== END OF IMAGES STYLING ==== */

/* ==== MAIN STYLING ==== */

.bakery, .story, .products, .help-page {
    position: relative;
    border: 5px solid #2A4A3A;
	background: #2A4A3A;
	padding-bottom: 3.0em;
}

.accessibility {
    background-color: #9F8C86;
    padding: 2.0em;
}

.statement {
    width: 90%;
    border: 5px solid #FFF;
    background-color: #403C3D;
    padding: 1.5em;
    margin: 2.0em auto;
}

.offerings, .team {
	border: 5px solid #9F8C86;
	background: #9F8C86;
	padding-bottom: 5.0em;
}

h1, .help-page h1 {
	text-align: center;
	margin-top: 1.5em;
}

.statement h1 {
    margin-bottom: 1.2em;
}


h2 {
	text-align: center;
	margin-top: 2.0em;
}


h2 + p {
	margin-top: 2.0em;
	margin: 2.0em;
}

.bakery p {
    margin-bottom: 3.0em;
}

.offerings p {
	margin-top: 2.0em;
	margin: 2.0em;
}

figcaption {
	margin-top: 1.0em;
}

.contacts h2 {
	margin-top: 1.0em;
	margin-bottom: 1.0em;
}


h3 {
	text-align: center;
	margin-top: 1.5em;
}

h3.about-page + p {
	margin-top: 1.0em;
	margin-left: 2.0em;
	margin-bottom: 2.0em;
}

iframe {
	position: relative;
	width: 100%;
	height: 300px;
}

.address-text {
	display: grid;
	width: 80%;
	margin: 0 auto;
	grid-template-columns: 1fr 1fr 1fr;
	grid-auto-rows: auto;
	grid-gap: 20px;
	padding-bottom: 1.0em;
}

.address {
	grid-column: 1/2;
	grid-row: 1;
}

.open-hours {
	grid-column: 2/3;
	grid-row: 1;
}

.contact-info {
	grid-column: 3/4;
	grid-row: 1;
}

.contacts {
	max-width: 80%;
	margin: 0 auto;
}

/* ==== END OF MAIN STYLING ==== */

/* ==== TEXT STYLING ==== */

h1, h3 {
	font-size: 4.0em;
	color: #FFF;
}

h1.about-page {
	font-size: 4.0em;
    font-weight: 700;
	color: #FFF;
}

h1.about-page + p {
	text-align: left;
	font-size: 1.5em;
	color: #fff;
	line-height: 1.8;
	margin-top: 2.0em;
	margin: 2.0em;
}

.products h1 {
	text-align: center;
	font-size: 3.0em;
}

.products p {
    text-align: left;
    font-size: 1.0em;
    color: #fff;
    line-height: 1.8;
    margin-top: 2.0em;
    margin: 2.0em;
}

h2 {
	color: #C99FA7;
	font-size: 2.5em;
	font-weight: bold;
	font-style: italic;
}

h2 + p {
	text-align: left;
	font-size: 1.5em;
	color: #fff;
	line-height: 1.8em;
}

h2.about-page {
    color: #FFF;
    font-size: 3.5em;
}

.contacts h2 {
	font-size: 3.0em;
	color: #2A4A3A;
}

h3 {
	text-align: center;
}

h3.about-page {
	font-size: 2.0em;
    font-weight: 700;
	color: #FFF;
}

h3.about-page + p {
    color: #FFF;
    border: 5px dotted #3B2621;
	line-height: 1.8;
	font-size: 130%;
	text-align: left;
    max-width: 80%;
    padding: 1.0em;
	margin: 1.0em auto;
}

.offerings p {
	text-align: left;
	font-size: 1.5em;
	color: #FFF;
	line-height: 1.8em;
}

.help-page p {
	font-size: 1.7em;
	line-height: 1.8;
	text-align: left;
}

.products {
	text-align: center;
	font-size: 1.5em;
}

.contacts p, h3, address {
	line-height: 1.5;
}

.contacts address:last-of-type {
	padding-bottom: 1.5em;
	text-align: left;
}

.contacts h3 {
	font-size: 1.5em;
	color: #2A4A3A;
}

.open-hours {
	padding-bottom: 1.5em;
	text-align: left;
}

h2.selection {
    color: #FFF;
    font-size: 4.0em;
    margin-bottom: 1.0em;
}

.statement p {
    color: #FFF;
    font-size: 1.5em;
    text-align: left;
    line-height: 1.8;
    padding: 1.0em;
}

/* ==== END OF TEXT STYLING ==== */

/* ==== FOOTER STYLING ==== */

footer {
	font-family: Nunito, 'Nunito Sans', Roboto, Arial, sans-serif;
	font-size: 1.0em;
	background-color: #2A4A3A;
	color: #FFF;
	text-align: center;
	margin: 0 auto;
	line-height: 1.5;
}

footer p {
	color: #FFF;
	font-size: 1.0em;
	font-weight: bold;
	margin-top: 1.0em;
	padding: 0 1.0em;
}

footer p:last-of-type {
	padding-bottom: 1.0em;
}

/* ==== END OF FOOTER STYLING ====*/

/* ==== 404 PAGE ==== */

.error-page {
    background-color: #2A4A3A;
}

.error {
    justify-content: center;
    font-family: Nunito, 'Nunito Sans', Roboto, Arial, sans-serif;
    margin: 6.5em auto;
    max-width: 90%;
    border: 5px dotted #FFF;
	background-color: #403C3D;
}

.error h1 {
    font-size: 5.0em;
    padding: 0.4em;
    margin-top: -0.1em;
    font-weight: 700;
}

.error p {
    color: #FFF;
    font-size: 1.4em;
    text-align: center;
    padding: 1.0em;
    line-height: 1.5;
}

.error-button {
    margin-top: 3.0em;
    margin-bottom: 3.0em;
}

/* ==== END OF 404 PAGE ==== */