:root {
  --main-font:verdana, arial, sans-serif;
  --table-border:solid 1px #808080;
  --link-colour:#0047AB;
  --input-border:solid 1px #808080;
  --input-text-colour:#70695A;
}

/* Defaults/Reset */

body { box-sizing:border-box; margin:0; padding:0; border:0; font-family:var(--main-font); }
div { box-sizing:border-box; margin:0; padding:0; border:0; }
header { box-sizing:border-box; margin:0; padding:0; border:0; }
nav { box-sizing:border-box; margin:0; padding:0; border:0; }
footer { box-sizing:border-box; margin:0; padding:0; border:0; }
h1 { box-sizing:border-box; margin:0; padding:0; border:0; margin-bottom:1rem; }
h2 { box-sizing:border-box; margin:0; padding:0; border:0; margin-bottom:1rem; font-size:1.25rem; }
h3 { box-sizing:border-box; margin:0; padding:0; border:0; margin-bottom:1rem; font-size:1.115rem; }
h4 { box-sizing:border-box; margin:0; padding:0; border:0; margin-bottom:1rem; font-size:1.07rem; }
h5 { box-sizing:border-box; margin:0; padding:0; border:0; margin-bottom:1rem; font-size:1.03rem; }
h6 { box-sizing:border-box; margin:0; padding:0; border:0; margin-bottom:1rem; font-size:1.01rem; }
p { box-sizing:border-box; margin:0; padding:0; border:0; margin-bottom:1rem; }
table { box-sizing:border-box; margin:0; padding:0; border:0; margin-bottom:1rem; border:var(--table-border); border-collapse:collapse; }
ul { box-sizing:border-box; margin:0; padding:0; border:0; margin-bottom:1rem; padding-left:1.5rem; }
ol { box-sizing:border-box; margin:0; padding:0; border:0; margin-bottom:1rem; padding-left:1.7rem; }
th { box-sizing:border-box; margin:0; padding:0; border:0; border:var(--table-border); padding:0.25rem; }
td { box-sizing:border-box; margin:0; padding:0; border:0; border:var(--table-border); padding:0.25rem; }
a { box-sizing:border-box; margin:0; padding:0; border:0; color:var(--link-colour); }
form { box-sizing:border-box; margin:0; padding:0; border:0; display:block; margin-bottom:1rem; }
input[type=text] { box-sizing:border-box; margin:0; padding:0; border:0; border:var(--input-border); width:10rem; max-width:100%; padding:0.25rem; outline:0; color:var(--input-text-colour); font-family:var(--main-font); }
input[type=email] { box-sizing:border-box; margin:0; padding:0; border:0; border:var(--input-border); width:10rem; max-width:100%; padding:0.25rem; outline:0; color:var(--input-text-colour); font-family:var(--main-font); }
textarea { box-sizing:border-box; margin:0; padding:0; border:0; display:block; width:100%; border:var(--input-border); outline:0; min-height:5rem; padding:0.5rem; color:var(--input-text-colour); font-family:var(--main-font); }
input[type=submit] { box-sizing:border-box; margin:0; padding:0; border:0; border:solid 1px grey; background:rgb(255,255,255); padding:0.4rem; color:var(--input-text-colour); font-family:var(--main-font); cursor:pointer; outline:0; }
input[type=button] { box-sizing:border-box; margin:0; padding:0; border:0; border:solid 1px grey; background:rgb(255,255,255); padding:0.4rem; color:var(--input-text-colour); font-family:var(--main-font); cursor:pointer; outline:0; }
img { max-width:100%; vertical-align:top; min-width:1px; }

h1:last-child { margin-bottom:0; }
h2:last-child { margin-bottom:0; }
h3:last-child { margin-bottom:0; }
h4:last-child { margin-bottom:0; }
h5:last-child { margin-bottom:0; }
h6:last-child { margin-bottom:0; }
p:last-child { margin-bottom:0; }
table:last-child { margin-bottom:0; }
ul:last-child { margin-bottom:0; }
ol:last-child { margin-bottom:0; }

/* Wrap */

body { margin-top:0.5rem; margin-right:0; margin-bottom:1rem; margin-left:0; }

.ears { width:100%; max-width:1024px; margin:0 auto; background-image:url(ears.png); background-size:100% 100%; aspect-ratio:2 / 0.21; }

.outer { display:flex; }
.left-whiskers { flex:1; overflow-x:hidden; background-position:right 80px; background-image:url("left-whiskers.png"); background-repeat:no-repeat; }
.wrap { width:1024px; max-width:100%; border-top:solid 8px #808080; border-right:solid 8px #808080; border-bottom:solid 8px #808080; border-left:solid 8px #808080; border-bottom-left-radius:1rem; border-bottom-right-radius:1rem; }
.right-whiskers { flex:1; overflow-x:hidden; background-position:left 80px; background-image:url("right-whiskers.png"); background-repeat:no-repeat; }

.banner { border-bottom:solid 8px #808080; padding:0.5rem; }
header { font-size:2rem; font-weight:bold; }
.site-slogan { font-style:italic; color:#808080 }
.menu { border-bottom:solid 8px #808080; padding:0.5rem; text-align:center; }
.menu ul { display:block; list-style-type:none; margin:0; padding:0; }
.menu li { display:inline-block; list-style-type:none; margin:0; padding:0; margin-right:0.9rem; padding-left:24px; background-image:url("paw-icon.png"); background-position:left center; background-repeat:no-repeat; background-size:16px 16px; }
.breadcrumb { margin-bottom:0.5rem; font-size:0.9rem; }
.main { border-bottom:solid 8px #808080; padding:1rem; }
.footer { padding:0.5rem; text-align:center; }

/* Cat Listings */

.cat-listings { display:flex; justify-content:center; margin-bottom:1rem; }
.cat-listings:last-child { margin-bottom:0; }

.cat-listings-inner { max-width:100%; display:grid; grid-template-columns:1fr 1fr 1fr; grid-row-gap:0.5rem; grid-column-gap:0.5rem; }

.cat-listing { max-width:280px; border:solid 8px #808080; padding:8px; } 
.cat-listing-pic { width:100%; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; margin-bottom:0.25rem; border:dashed 1px #808080; padding:3px; }
.cat-listing img { background-color:transparent; max-height:100%; }
.cat-listing-heading { margin-bottom:0.25rem; min-height:2.5rem; }
.cat-listing-heading h2 { font-size:1rem; }
.cat-listing-description { font-size:0.9rem; font-style:italic; margin-bottom:0.25rem; }
.cat-listing-link { text-align:center; }

/* Cat (used on cat page */

.cat { background-color:transparent; }
.cat-heading { margin-bottom:0.25rem; }
.cat-brief-description { margin-bottom:1rem; font-style:italic; }
.cat-heading h1 { font-size:1.5rem; }
.cat-full-description { margin-bottom:1rem; }
.cat-picture { text-align:center; margin-bottom:1rem; }
.cat-credits { text-align:center; margin-bottom:1rem; }
.cat-credits-inner { display:inline-block; text-align:center; border:solid 1px #808080; padding:0.5rem; }
.cat-credits-heading { font-weight:bold; margin-bottom:0.5rem; font-size:0.9rem; }
.cat-credits p { font-size:0.9rem; margin-bottom:0.5rem; }
.cat-credits p:last-child { margin-bottom:0; }
.cat-date { font-style:italic; color:#808080; margin-bottom:1rem; }
.cat-share { border:dashed 1px green; padding:0.5rem; font-size:0.9rem; margin:0.5rem auto; }
.cat-share-prompt { display:flex; align-items:center; margin-bottom:0.5rem; }
.cat-share-text { flex:1; margin-left:0.5rem; }
.cat-share-button { display:inline-block; padding:0.25rem 0.5rem; background:grey; border-radius:0.25rem; color:white; }
.cat-share-facebook-button { background-color:#4267B2; }
.cat-share-twitter-button { background-color:#54ADEF }

.iframe-widget { border:0; display:block; box-sizing:border-box; width:100%; height:720px; }