/*=== STYLE RESET ===*/

/* 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 STYLE RESET ====*/

/* ===== BOX SIZING ===== */
html {
    box-sizing: border-box;
}
  *, *:before, *:after {
    box-sizing: inherit;
}

/*======================== MY STYLING RULES ========================*/
:root{
	--txt-color: #362c1e;
	--link-color-menu: #99004f;
	--blue: #030872;
	--menu-background: #69041d;
	--footer-background: rgba(182, 250, 47, 0.6);
	--link-color-main: #146e04;
	--background-primary: #f5f4f09a;
	--background-secondary: #665338;
	--red: #910303;
	--purple: #47024f;
	--current-page: #d12d00;
	--background-current: #f5f4f0;
}

/* ==== INHERITED ====*/
body{
	font-family: "Zen Kaku Gothic Antique", serif;
	line-height: 1.5em;
	font-size: 1.1rem;
	font-size: clamp(1.1rem, 1.02rem + 0.3999999999999999vw, 1.5rem);
	color: var(--txt-color);
	background: #f5f4f0 url(images/vinyl-bgr.svg) top left repeat;
	background-size: 2em;
	background-blend-mode:soft-light;
}
header, main, footer div{
	margin: 0 auto;
}
main{
	background-color: var(--background-primary);
}
main{	
	max-width: 90vw;
	padding: 0 0.5em 4em;
}

/* ==== HEADINGS ==== */
header p, h1, h2, h3, h4, h5, h6{
	line-height: 1.1em;
	text-wrap: balance;
	font-family: 'Eagle Lake', Georgia, 'Times New Roman', Times, serif;
}
header p{
	line-height: 1em;
	font-size: 3rem;
	font-size: clamp(3rem, 2.6rem + 2vw, 5rem); /*clamp for fluid typogrphy and seamless increase of font size*/
	text-align: center;
	padding: 0.5em 0;
	margin-bottom: 8px;
	border-bottom: 5px solid var(--current-page);
	box-shadow: 0 8px 0 0 var(--link-color-menu);
	background: linear-gradient(
    hsl(24, 100%, 9%), 
    #010663,
		var(--red),
		hsl(24, 100%, 9%));
	-webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/*changing the colour of headings for each page*/
#home-page{
	h1, h2, h3, h4, h5, h6{
	color: var(--red);
	}
}
#vinyl-page{
	h1, h2, h3, h4, h5, h6{
		color: var(--link-color-main);
	}
}
#cd-page{
	h1, h2, h3, h4, h5, h6{
		color: var(--link-color-menu);
	}
}
#visit-page{
	h1, h2, h3, h4, h5, h6{
		color: #017769;
	}
}
#about-page{
	h1, h2, h3, h4, h5, h6{
		color: var(--purple);
	}
	h3{
		font-family: "Zen Kaku Gothic Antique", serif;
	}
}
/*headings font size*/
h1{
	font-size: 2.5rem;
	font-size: clamp(2.5rem, 2.26rem + 1.2000000000000002vw, 3.7rem);
	font-weight: 550;
	padding: 0.8em 0 0;
}
h2{
	font-size: 1.8em;
	font-size: clamp(1.8rem, 1.56rem + 1.2vw, 3rem);
	font-weight: 500;
	padding: 0.8em 0 0.3em;
}
h3{
	font-size: 1.5em;
	font-size: clamp(1.5rem, 1.26rem + 1.2000000000000002vw, 2.7rem);
	font-weight: 400;
	padding: 0 0 0.5em;
}

/* ==== MAIN STYLES ===== */
p{
	padding: 0.5em 0 0.8em;
}
a{
	font-weight: 450;
}

/* galleries on CD and Vinyl pages */
figure{
	max-width: 370px;
}
figcaption{
	width: 80%;
	margin-bottom: 1em;
}

/*JavaScript opening hours */
dt{
	font-weight: 500;
}
.greeting{
	font-weight: 500;
	padding: 1em 0 0;
}

/*Grid to style days and hours in two corresponding columns*/
section > dl{
	display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 500px;
	line-height: 2;
}

/* ==== IMAGES STYLES ==== */
main > img{
	width: 100%;
	max-width: 250px;
	height: auto;
	margin: 1em 0;
}

/*images on home page*/
h2 + div img{
	width: 90%;
	max-width: 300px;
	height: auto;
}

/*Logo in header*/
header p img{
	width: 230px;
	height: auto; 
	margin: 0 40px;
}
header p img:nth-of-type(2){
	transform: scaleX(-1);
	margin: 0 0 0 30px;
}

/*CD and Vinyl background images for products*/
figure img{
	width: 80%;
	height: auto;
}
figcaption dd{
	font-size: 0.8em;;
	font-style: italic;
}
#cd-gallery figure{
	background: transparent url(images/cd.svg) no-repeat !important;
	background-position: 100% 0 !important;
	background-size: 80% !important;
}
#vinyl-gallery figure{
	background: transparent url(images/vinyl.svg) no-repeat !important;
	background-position: 100% 0 !important;
	background-size: 80% !important;
}

/*Logo in footer*/
#back-to-top{
	display: block;
  width: 50%;
  max-width: 200px;
  height: 173px;
  background: url(images/header-vinyl.svg) bottom center no-repeat;
  background-size: auto;
  background-size: contain;
	margin: 0 auto;
  text-indent: -9999px;
  position: relative;
	top: 7em;
}

/* ==== MAP STYLING ==== */
iframe{
	width: 300px;
	height: auto;
	padding: 0.5em 0;
}

/* ==== MENU NAVIGATION STYLES ==== */
nav{
	text-wrap: balance;
	background-color: var(--menu-background);
}

/* ==== LINK STYLES ====*/
/*skip to content link*/
.skip-to-content{
  background-color: var(--background-current);
  height: 1.2em;
  left: 50%;
	line-height: 1.2em;
  padding: 0 8px;
  position: absolute;
  transform: translateY(-150%);
  transition: transform 0.3s;
}
.skip-to-content:focus{
  transform: translateY(50%);
}

/*menu*/
nav li a:link, nav li a:visited, nav li a:focus {
	display: block;
	padding: 1em 2.5em;
	/* link text */
	color: var(--background-current);	
	text-decoration: none;
	font-weight: 600;
	/* background colour */
	background-color: transparent;
	-webkit-transition: background-color .2s ease-in-out;  
	-moz-transition: background-color .2s ease-in-out;  
	-o-transition: background-color .2s ease-in-out;  
	transition: background-color .2s ease-in-out;
}
nav li a:hover, nav li a:focus{
	color: var(--blue);
	text-decoration: underline 3px var(--blue);
	background-color: var(--background-current);
}

/* menu toggle */
#menu-toggle {
	display: none;
}
.toggle {
	display: inline-block;
	width: auto;
	margin: 0;
	position: relative;
	padding-top: 10px;
}
nav .toggle:hover, nav .toggle:active, nav .toggle:focus {
	cursor: pointer;
}

/* show/hide menu */
#menu-toggle + .toggle + ul {
	display: none;
}
#menu-toggle:checked + .toggle + ul {
	display: block;
}

/* 3 lined toggle vis  */
.toggle strong {
	position: absolute;
	display: block;
	font-weight: 600;
	width: 80vw;
	top: 4px;
	left: calc(2vw + 36px);
	color: var(--background-current);
}
.toggle:hover strong {
	color: var(--background-primary);
}
.toggle [class*='line-'] {
	background: #fff;
	display: block;
	border-radius: 3px;
	height: 3px;
	width: 26px;
	margin: 0 0 6px 2vw;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .2s ease all;
	-moz-transition: .2s ease all;
	-o-transition: .2s ease all;
	transition: .2s ease all;
}
.toggle:hover [class*='line-'] {
	background: var(--background-primary);
}

/* change the 3 menu lines to 'x' when menu is opened */
#menu-toggle:checked + .toggle .line-top {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: 0 0;
	-moz-transform-origin: 0 0;
	-o-transform-origin: 0 0;
	transform-origin: 0 0;
}
#menu-toggle:checked + .toggle .line-mid {
	opacity: 0;
}
#menu-toggle:checked + .toggle .line-bot {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: 0 90%;
	-moz-transform-origin: 0 90%;
	-o-transform-origin: 0 90%;
	transform-origin: 0 90%;
}

/*current page*/
.current a:link, .current a:active, .current a:visited{
	background-color: var(--background-current);
	color: var(--blue);
}

/*logo link*/
header p a:link, header p a:visited, header p a:active, header p a:hover, header p a:focus{
	color: var(--txt-color);
	text-decoration: none;
}

/*links in main*/
a:link, a:visited, a:active{
	color: var(--link-color-menu);
	text-decoration: underline 2px var(--link-color-menu);
}
a:hover, a:focus{
	color: var(--link-color-main);
	text-decoration: underline 3px var(--link-color-main);
	text-underline-offset: 5px;
	cursor: pointer;
}

/*Footer links*/
footer a:link, footer a:visited, footer a:active{
	color: var(--background-current);
	font-weight: 700;
	text-decoration: none;
}
footer a:hover, footer a:focus{ 
	text-decoration: underline 2px var(--background-current);
	text-underline-offset: 5px;
}
/* ==== FOOTER ==== */
footer{
	font-size: 0.8em;
	padding: 2em 2em 0.5em;
	color: var(--background-current);
	background-color: var(--menu-background);
	border-top: 8px solid var(--link-color-menu);
	box-shadow: inset 0 5px 0 0 var(--current-page);
}
footer div{
 	padding: 2.5em 0.5em 0.5em;
}

/* ==== RESPONSIVE ==== */
@media (min-width: 520px) {
  nav ul {
		margin: 0 auto;
		text-align: center;
	}
	nav ul li {
		display: inline-block;
	}
	nav li a:link, nav li a:visited, nav li a:active{
		padding: 0.7em 1em;
	}
  /* show/hide menu */	
	#menu-toggle + .toggle + ul, #menu-toggle:checked + .toggle + ul {
		display: block;
	}	
	#menu-toggle + .toggle, #menu-toggle:checked + .toggle {
		display: none;
	}	
}
@media(min-width: 700px){
	main, footer div{
		max-width: 90vw;
	}
	main > img{
		display: flex;
		float: right;
		margin: 1em;
	}
	/*grid for CD and Vinyl pages*/
	main div{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto;
		grid-gap: 1em;
	}
	iframe{
		width: 400px;
		height: 250px;
	}
}
@media(min-width: 900px){
	/*grid for home page*/
	h2 + div{
		display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: auto;
    grid-template-areas:
    "p p p img img";
	}
  h2 + div p{
    grid-area: p;
  }
  h2 + div img{
    grid-area: img;
    padding: 0 0 0 1.5em;
		width: 100%;
		max-width: 350px; 
		height: auto;
  }
}
@media(min-width:1320px){
	main, footer div{
		max-width: 75vw;
	}
	/*grid for CD and Vinyl pages*/
	main div{
		grid-template-columns: repeat(3, 1fr);
	}
	header p > img{
		width: 150px;
		height: auto;
	}
	iframe{
		display: inline;
		float: left;
		width: 550px;
		height: 350px;
		padding-right: 20px;
	}
}

