﻿* {
  font-family: inherit;
  line-height: inherit;
  color: inherit;
}

:root,
html {
    font-size: .875rem;
    font-family: Arial, Helvetica, sans-serif;
}

@media (min-width: 20rem) {
    :root,
    html {
        font-size: calc(.875rem + .25 * (100vw - 20rem) / 100);
    }
}

@media (min-width: 120rem) {
    :root,
    html {
        font-size: 1.125rem;
    }
}

body {
		background: url(/Images/bg-01-jpg);
    background-color: #eee;
		background-position: center center;
		background-repeat: no-repeat;
    background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    -webkit-background-size: cover;
}

* html body {
  width: 40rem;
}

@media (min-width: 0) {
  body {
      margin: 0;
      max-width: inherit;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: #000;
  text-decoration: none;
}

h1 {
  font-size: 1.602rem;
}

@media (min-width: 20rem) {
  h1 {
      font-size: calc(1.602rem + 1.555 * (100vw - 20rem) / 100);
  }
}

@media (min-width: 120rem) {
  h1 {
      font-size: 3.157rem;
  }
}

h2 {
  font-size: 1.424rem;
}

@media (min-width: 20rem) {
  h2 {
      font-size: calc(1.424rem + .945 * (100vw - 20rem) / 100);
  }
}

@media (min-width: 120rem) {
  h2 {
      font-size: 2.369rem;
  }
}

h3 {
  font-size: 1.266rem;
}

@media (min-width: 20rem) {
  h3 {
      font-size: calc(1.266rem + .511 * (100vw - 20rem) / 100);
  }
}

@media (min-width: 120rem) {
  h3 {
      font-size: 1.777rem;
  }
}

h4 {
  font-size: 1.125rem;
}

@media (min-width: 20rem) {
  h4 {
      font-size: calc(1.125rem + .208 * (100vw - 20rem) / 100);
  }
}

@media (min-width: 120rem) {
  h4 {
      font-size: 1.333rem;
  }
}

h5 {
  font-size: 1rem;
}

h6 {
  font-size: .79rem;
}

@media (min-width: 20rem) {
  h6 {
      font-size: calc(.79rem + -.04 * (100vw - 20rem) / 100);
  }
}

@media (min-width: 120rem) {
  h6 {
      font-size: .75rem;
  }
}

.menu
{ 
    text-decoration: none;
	  color: #ffff00;
		font-weight: 700;
}

a.pagelink {
  text-decoration: underline;
  color:#ff0000;
  font-weight:600;
}

a.pagelink:visited{
  text-decoration: underline;
  color:#ff0000;
}

a.pagelink:hover{
  color:#ffff00;
}

a.maillink {
  text-decoration: underline;
  color:#ff0000;
  font-weight:600;
}

a.maillink:visited{
  text-decoration: underline;
  color:#0000ff;
}

a.maillink:hover{
  color:#ff00ff;
}

a.maillink:active{
  color:#0000ff;
}


.imagelink {
  text-decoration: none;
  border-width:0;
}

p {
  font-size: 1.125rem;
  line-height: 1.25;
}

.center {
    text-align:center;
}

.bold {
  font-weight: 600;
}

.pageNav {
	text-align: center;
}

a {
  color: #666;
  font-size: 1rem;
  text-decoration: underline;
}

a:focus,
a:hover {
  color: #fff;
}

.banner a,
.nav-menu a,
a:focus,
a:hover {
  text-decoration: none;
}

.nav-menu,
.nav-menu li,
.footer-main,
.footer-main li,
.footer-legal,
.footer-legal li,
.fly-in-menu,
.fly-in-menu li {
    list-style: none;
}

nav {
  background-color: #000;
  border-bottom: 0.5rem solid #ffff00;
/*  border-top: 0.5rem solid #ffff00;*/
	display: -webkit-flex;
  display: flex;
	-webkit-flex-direction: row;
  flex-direction: row;
  width: 100%;
}

.banner {
  border-bottom: 0.5rem solid #ff0000;
/*  border-top: 0.5rem solid #ff0000;*/
  display: -webkit-flex;
  display: flex;
	-webkit-flex-direction: column;
  flex-direction: column;
	-webkit-flex: 1;
  flex: 1;
  margin: 0;
  padding: 1rem;
  padding: calc(.5rem + 1vh) calc(.25em + 5vw);
  background-color: #000;
  color: #fff;
}

.banner h1 {
	-webkit-flex: auto;
  flex: auto;
  font-size: 1rem;
  margin-left: 0;
  text-align: center;
}

.nav-menu {
  box-sizing: border-box;
  display: -webkit-flex;
  display: flex;
	-webkit-flex-direction: row;
  flex-direction: row;
	-webkit-flex: auto;
  flex: auto;
  font-size: 0.75rem;
	-webkit-justify-content: space-between;
  justify-content: space-between;
  margin: 0;
  padding:0;
}

.nav-menu li {
	-webkit-flex: auto;
  flex: auto;
  margin: 0;
  padding: 0;
  text-align: center;
}

.nav-menu a {
  /*color: #666;*/
  font-size: 0.75rem;
  padding: .2rem;
}


@media (min-width: 20rem) {
  .banner h1 {
    font-size: calc(1.602rem + 1.555 * (100vw - 20rem) / 100);
  }

  .nav-menu a {
    font-size: 0.9rem;
  }

}

@media (min-width: 25rem) {
  .nav-menu a {
    font-size: 1rem;
  }
}

@media (min-width: 60rem) {
  .banner {
		-webkit-align-items: center;
    align-items: center;
		-webkit-flex-direction: row;
    flex-direction: row;
		-webkit-justify-content: Space-between;
    justify-content: space-between;
  }
}

@media (min-width: 70rem) {
  .nav-menu a {
    font-size: 1.25rem;
  }
}

@media (min-width: 80rem) {
  .nav-menu a {
    font-size: 1.5rem;
  }
}

@media (min-width: 120rem) {
  .banner {
    padding: 0 0 0 .5rem;
    padding: 0 calc(1em + 5vw);
  }
  
  .banner h1 {
    font-size: 3rem;
  }
  
  .nav-menu a {
    font-size: 1.5rem;
  }  
}

main {
  position: relative;
}

.page {
  margin: 2rem 1rem;
  margin: calc(.25rem + 5vh) calc(.25rem + 5vw);
  min-height: calc(100vh - 15rem);
  padding-top: 1px;
  /*this needs a position element to ensure that the login popup behaves*/
  position: relative;
	z-index:0;
}

.page-content { 
  background: white;
  margin: auto;
  min-height: 65vh;
  opacity: 0.85;
  padding: 1rem;
  text-align: justify;
  width: 70vw;
}

.panel-menu {
	opacity: 0.95;
}

@media (min-width: 20rem) {
  .page-content {
      border-radius: 1rem;
      -moz-box-shadow: 0 0 20px black;
      -webkit-box-shadow: 0 0 20px black;
      box-shadow: 0 0 2rem black;
      margin: auto;
  }
}

@media (min-width: 60rem) {
  .page-content {
    padding: 1rem 2rem 1rem 2rem;
    width: 60vw;
  }
}

@media (min-width: 100rem) {
  .page-content {
    padding: 1rem 3rem 1rem 3rem;
  }
}

footer {
  background: transparent;
  font-size: 1.25rem;
  font-weight:700;
  padding: 0;
  margin-top:-10vh;
}

@media (min-width: 60rem) {
  footer {
    margin-top:-7vh;
  }
}

@media (min-width: 90rem) {
  footer {
    margin-top:-5vh;
  }
}

table {
  border-spacing: .5rem;
  padding: 0;
	width: 60%;
	border-collapse: separate;
}

table.center {
    margin-left:auto; 
    margin-right:auto;
}

th { 
  background: #333; 
  color: white; 
  font-weight: bold;
	vertical-align: top;
	text-align: center;
}

td { 
  text-align: left;
  vertical-align: top; 
  padding-left: 2rem;
}

/*--This is the stuff for formatting the placeholder panels--*/
.panel-container {
	border: 0.1rem solid black;
	border-radius: 1rem;
	padding:0 1rem .25rem 1rem;
	margin-bottom:0;	
	min-height: 15rem;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: flex-end;
	justify-content:flex-end;
}

.panel-heading {
	/*margin-bottom:auto;*/
	width:100%;
	font-weight: bold;
}

.panel-text {
	width: 100%;
}

.panel-text > p {
	margin-bottom:.1rem;
}

.hide-wide {
	display:normal;
}

@media (min-width: 110rem) {
  .hide-wide {
    display:none;
  }
}

.map {
	width:100%;
	object-fit:scale-down;
	object-position:50% 50%;
	padding-top:0;
	padding-bottom:0;
}

.shop {
	width:100%;
	object-fit:contain;
	object-position:50% 50%;
	padding-top:0;
	padding-bottom:0;
}

.special {
  height: 10rem;
}

img.tyre {
	width: auto;
	height: 200px;
	} 

