/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul[class], ol[class] {
  padding: 0;
}

/* Remove default margin */
body, h1, h2, h3, h4, p, ul[class], ol[class], li, figure, figcaption, blockquote, dl, dd {
  margin: 0;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul[class], ol[class] {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input, button, textarea, select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*
$unit: percentage(69 / 960);
$gutter: percentage(12 / 960);

$unit: percentage(58 / 960);
$gutter: percentage(24 / 960);

$unit: percentage(68 / 970);
$gutter: percentage(14 / 970);
$unit: percentage(57 / 970);
$gutter: percentage(26 / 970);

$unit: percentage(77 / 1056);
$gutter: percentage(12 / 1056);
*/
/*
$unit: percentage(66 / $fullwidth);
$gutter: percentage(24 / $fullwidth);
*/
/*! layout elements
--------------------------------*/
/*-- flexbox --*/
/* General HTML definitions
---------------------------*/
body {
  font-size: 16px;
  font-family: Avenir, Montserrat, Corbel, "URW Gothic", source-sans-pro, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #333;
  background-color: #fff;
}

p, hr, form {
  margin: 0 0 1.5em 0;
}

hr {
  border-top: 1px solid #ddd;
  clear: both;
}

a {
  transition: all 0.2s ease;
  font-weight: bold;
  color: #f30;
  text-decoration: none;
}

a:visited {
  color: #d80;
}

a:hover {
  color: #fa0;
}

a:active {
  color: #fc2;
}

button, input[type=submit], .button {
  display: inline-block;
  background: #f30;
  color: white !important;
  text-transform: uppercase;
  font-weight: 700;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
}
button:hover, input[type=submit]:hover, .button:hover {
  background: #d70;
}

h1, h2, h3, h4, h5, h6 {
  /*	font: 150%/120% "Trebuchet MS", Trebuchet, Verdana, Arial, Helvetica, sans-serif;*/
  color: #999;
  line-height: 1.1;
  font-weight: normal;
  margin-bottom: 0.5em;
}

h1 {
  font-size: 170%;
  letter-spacing: 0;
  text-transform: uppercase;
  width: 100%;
  clear: both;
  padding-right: 1rem;
}

h2 {
  font-size: 140%;
}

h3 {
  font-size: 125%;
}

h4 {
  font-size: 110%;
}

/* main content divisions
---------------------------*/
#main {
  width: 100%;
  max-width: 900px;
  display: flex;
  flex-wrap: wrap;
  padding: 1.5rem 0;
}
.pindex #main, .home #main {
  background-image: url(/i/bg-pixel-gray.png);
  background-repeat: repeat-y;
  background-position: 30% 0;
}
#main .pad {
  padding: 0 2rem;
}

#branding {
  width: 100%;
  background: #f30;
  display: flex;
  flex-wrap: wrap;
  justify-items: center;
  justify-content: space-between;
}

#branding a, #branding a:hover, #branding a:visited {
  color: #fff;
}

#logo {
  width: 80%;
  display: block;
  max-width: 600px;
  align-content: center;
}
#logo img {
  width: 100%;
  height: auto;
}

#nav {
  float: left;
  width: 245px;
  text-align: right;
  padding: 0;
  position: relative;
  z-index: 1000;
}

.sidebar {
  width: 30%;
  float: left;
  padding: 20px 2rem;
  font-size: 90%;
}

#content {
  width: 70%;
  float: left;
  clear: right;
  padding: 20px 2rem 1rem 0;
  position: relative;
}
#content.full-width {
  width: 100%;
  padding-right: 0;
}

#con2 {
  margin-left: 295px;
  width: 800px;
  clear: right;
  padding: 20px 0;
  position: relative;
}

img {
  max-width: 100%;
  height: auto;
}

/* =leaderboard
--------------------------------------------------------------------*/
#leaderboard {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}

#disp {
  width: 30%;
  padding: 20px 0 0 0;
  background-color: #fff;
  margin: 0 0 40px 0;
  position: relative;
  display: flex;
  justify-content: end;
}
#disp img {
  width: 100%;
  max-width: 199px;
}

#mainimg {
  width: 70%;
  flex-grow: 1;
  padding-left: 1rem;
}
#mainimg img {
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  width: 100%;
  max-width: 185px;
}

/* navigation styles
----------------------*/
/* main navigation bar */
#navmain {
  width: 100%;
}
#navmain ul {
  list-style: none;
  margin: 0;
  padding: 20px 30px;
  background: #fff;
}
#navmain ul li {
  display: inline-block;
  margin: 0;
  padding: 0;
}
#navmain ul a {
  padding: 4px 6px;
  color: #444;
}
#navmain ul a:visited {
  padding: 3px 6px;
  color: #444;
}
#navmain ul a:hover, #navmain ul a.current {
  color: #f30;
}
#navmain ul a.navlast {
  border-color: #fff;
}

.textlinks a {
  color: #444;
}
.textlinks a:visited {
  padding: 3px 6px;
  color: #444;
}
.textlinks a:hover, .textlinks a.current {
  color: #f30;
}

/*sidebar elements in secondary pages */
#nav h3 {
  margin-right: 30px;
}

ul.textlinks {
  margin: 0 0 1rem 0;
  padding: 0;
  list-style: none;
}
ul.textlinks li {
  padding: 0;
  margin: 0;
}
ul.textlinks a {
  border: 0;
}

#nav p {
  padding: 0 20px 0 10px;
  font-size: 85%;
  line-height: 135%;
  text-align: left;
  color: #777;
}

#nav h4 {
  text-align: left;
  padding-left: 20px;
}

/* main content area
---------------------------*/
.r {
  float: right;
}

.l {
  float: left;
}

.caption {
  font-size: 75%;
  color: #999;
}

.caption a {
  color: #999;
}

.half {
  width: 200px;
  margin-right: 10px;
  float: left;
  display: inline;
}

.price {
  font-size: 1.5em;
  font-weight: bold;
  color: #666;
  margin-bottom: 0.5em;
  padding-top: 1.2em;
}

/* styles specific to "products" page
---------------------------*/
#prodnav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#prodnav ul li, #prodnav ul a {
  width: 100%;
}
#prodnav a {
  display: flex;
}
#prodnav a, #prodnav a:visited {
  color: #444;
}
#prodnav.narr .pnum {
  width: 100%;
}

.pnum, .pname {
  border: 0 solid #fff;
  padding: 4px 0;
}

.pnum {
  width: 30%;
  margin-right: 1px;
  border-right-width: 10px;
  padding-right: 1rem;
  text-align: right;
}

.subname {
  visibility: hidden;
  color: #666;
}

a:hover .subname, a.current .subname {
  visibility: visible;
}

.pname {
  width: 70%;
  flex-grow: 1;
  text-align: left;
  padding: 4px 2rem 4px 1rem;
}

#prodnav li {
  margin: 0;
  padding: 0;
  /* 	clear: both; */
  width: 100%;
}

#prodnav a.oop span {
  border-color: #999 !important;
  color: #999 !important;
}
#prodnav a.oop i, #prodnav a.oop em {
  font-weight: 400 !important;
}

/* individual product ids in nav */
#prodnav a#gehry309 .pnum {
  border-right-color: #ce9e4e;
}

#prodnav a#erskine308 .pnum {
  border-right-color: #C9D7DF;
}

#prodnav a#wright307 .pnum {
  border-right-color: #edc;
}

#prodnav a#scharoun306 .pnum {
  border-right-color: #ccc;
}

#prodnav a#eames305 .pnum {
  border-right-color: #ddc;
}

#prodnav a#gehry304 .pnum {
  border-right-color: #cf9;
}

#prodnav a#wright303 .pnum {
  border-right-color: #9cf;
}

#prodnav a#wright302 .pnum {
  border-right-color: #fcc;
}

#prodnav a#goff301 .pnum {
  border-right-color: #ff9;
}

#prodnav a#sixties202 .pnum {
  border-right-color: #b2d247;
}

#prodnav a#wright201 .pnum {
  border-right-color: #6d6d3e;
}

#prodnav a#expo105 .pnum {
  border-right-color: #cf6134;
}

#prodnav a#wright104 .pnum {
  border-right-color: #575A3D;
}

#prodnav a#sampler103 .pnum {
  border-right-color: #f33;
}

#prodnav a#charleston102 .pnum {
  border-right-color: #ef0;
}

#prodnav a#gaudi101 .pnum {
  border-right-color: #996;
}

#prodnav a#vml .pnum {
  border-right-color: #000;
}

#prodnav a#gehry309:hover .pnum {
  border-right-color: #eac07a;
}

#prodnav a#erskine308:hover .pnum {
  border-right-color: #dae8ef;
}

#prodnav a#wright307:hover .pnum {
  border-right-color: #fed;
}

#prodnav a#scharoun306:hover .pnum {
  border-right-color: #eee;
}

#prodnav a#eames305:hover .pnum {
  border-right-color: #ffe;
}

#prodnav a#gehry304:hover .pnum {
  border-right-color: #efb;
}

#prodnav a#wright303:hover .pnum {
  border-right-color: #bef;
}

#prodnav a#wright302:hover .pnum {
  border-right-color: #fee;
}

#prodnav a#goff301:hover .pnum {
  border-right-color: #ffb;
}

#prodnav a#sixties202:hover .pnum {
  border-right-color: #b2d247;
}

#prodnav a#wright201:hover .pnum {
  border-right-color: #6d6d3e;
}

#prodnav a#expo105:hover .pnum {
  border-right-color: #cf6134;
}

#prodnav a#wright104:hover .pnum {
  border-right-color: #797c5f;
}

#prodnav a#sampler103:hover .pnum {
  border-right-color: #f55;
}

#prodnav a#charleston102:hover .pnum {
  border-right-color: #ff2;
}

#prodnav a#gaudi101:hover .pnum {
  border-right-color: #bb8;
}

#prodnav a#vml:hover .pnum {
  border-right-color: #333;
}

#prodnav a:hover {
  /* 	background: #eee; */
}

#prodnav a#gehry309:hover .pname {
  background: url(/i/navbg309.jpg) repeat-y;
}

#prodnav a#erskine308:hover .pname {
  background: url(/i/navbg308.jpg) repeat-y;
}

#prodnav a#wright104:hover .pname {
  background: url(/i/navbg104.jpg) repeat-y;
}

#prodnav a#wright307:hover .pname {
  background: url(/i/navbg307.jpg) repeat-y;
}

#prodnav a#scharoun306:hover .pname {
  background: url(/i/navbg306.jpg) repeat-y;
}

#prodnav a#eames305:hover .pname {
  background: url(/i/navbg305.jpg) repeat-y;
}

#prodnav a#gehry304:hover .pname {
  background: url(/i/navbg304.jpg) repeat-y;
}

#prodnav a#wright303:hover .pname {
  background: url(/i/navbg303.jpg) repeat-y;
}

#prodnav a#wright302:hover .pname {
  background: url(/i/navbg302.jpg) repeat-y;
}

#prodnav a#goff301:hover .pname {
  background: url(/i/navbg301.jpg) repeat-y;
}

#prodnav a#sixties202:hover .pname {
  background: url(/i/navbg202.jpg) repeat-y;
}

#prodnav a#wright201:hover .pname {
  background: url(/i/navbg201.jpg) repeat-y;
}

#prodnav a#expo105:hover .pname {
  background: url(/i/navbg105.jpg) repeat-y;
}

#prodnav a#wright104:hover .pname {
  background: url(/i/navbg104.jpg) repeat-y;
}

#prodnav a#sampler103:hover .pname {
  background: url(/i/navbg103.jpg) repeat-y;
}

#prodnav a#charleston102:hover .pname {
  background: url(/i/navbg102.jpg) repeat-y;
}

#prodnav a#gaudi101:hover .pname {
  background: url(/i/navbg101.jpg) repeat-y;
}

#prodnav a#vml:hover .pname {
  background: url(/i/navbgvml.jpg) repeat-y;
}

.pname em {
  color: #999 !important;
  font-style: italic;
  margin-left: 1em;
}

/* end "products" styles */
/* =other text styles
--------------------------------------------------------------------*/
.presslist p {
  clear: both;
  float: left;
  width: 100%;
}
.presslist p img {
  float: left;
  margin: 0 20px 20px 0;
  width: 50%;
  max-width: 125px;
}

/* styles specific to "order" page
--------------------------*/
.prodmod {
  float: left;
  clear: right;
  padding: 1rem 0;
  border-bottom: 1px dashed #ccc;
  width: 100%;
}
.prodmod h4 img {
  float: left;
  margin: 0 1rem 0.5rem 0;
  width: 95px;
}
.prodmod p {
  margin-left: calc(95px + 1rem);
}
.prodmod form {
  margin-bottom: 0;
}

/* styles for pages with lots of lists, e.g. retailers or press
--------------------------*/
body.lists #con h4 {
  padding-left: 2.8em;
}

body.lists #con p {
  padding-left: 2.8em;
  font-size: 10px;
  line-height: 140%;
}

body.lists #con h2 em {
  color: #fff;
  font-style: normal;
}

@media screen and (min-width: 400px) and (max-width: 640px) {
  ul.textlinks {
    columns: 2;
    column-gap: 20px;
  }
}
@media screen and (min-width: 0px) and (max-width: 640px) {
  #leaderboard #disp {
    padding: 0;
    margin: 0;
  }
  #leaderboard #mainimg {
    align-content: center;
  }
  #leaderboard #mainimg > figure {
    display: none;
  }
  .sidebar {
    width: 100%;
  }
  .sidebar ul {
    padding-bottom: 2rem;
    border-bottom: 1px solid #ddd;
    margin-bottom: 2rem;
  }
  #content {
    width: 100%;
    padding: 0 2rem 2rem;
  }
  .product .sidebar {
    width: 30%;
    padding: 0 0 0 1rem;
  }
  .product .sidebar ul {
    border: none;
    padding: 0;
    margin: 0;
  }
  .product #content {
    width: 70%;
    padding-left: 1rem;
  }
}
@media screen and (min-width: 0px) and (max-width: 800px) {
  #disp {
    display: block;
    text-align: right;
  }
  #disp img {
    display: inline-flex;
  }
  #navmain {
    transition: all 0.2s ease-out;
    transform: translateX(100%);
    background-color: white;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    margin: 0;
    padding: 0 0 30px;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
  }
  #navmain ul {
    margin: 0;
    padding: 0;
    list-style: none;
    -webkit-backface-visibility: hidden;
    margin-top: 10%;
    padding: 0 5%;
    font-size: 110%;
    width: 100%;
  }
  #navmain ul li {
    display: block;
    width: 100%;
  }
  #navmain ul li > a {
    display: block;
    padding: 0.5rem 2rem;
    border-bottom: 4px solid transparent;
    text-decoration: none;
    line-height: 1;
    color: #444;
  }
  #navmain ul li > a::after {
    transition: all 0.2s ease;
    border-bottom: 4px solid #d70;
    width: 0;
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    right: auto;
    bottom: auto;
    left: 0;
  }
  #navmain ul li > a:hover::after {
    width: 100%;
    opacity: 1;
  }
  #navmain ul li > a.current {
    color: #f30;
  }
  #navmain ul li:hover {
    border-bottom-color: #d70;
  }
  #navmain ul li:hover ul li a {
    background: none;
  }
  #navmain ul li:hover ul li a:hover {
    border-bottom-color: #d70;
  }
  #navmain ul.menu > li.current-page-ancestor > a {
    border-bottom-color: #d70;
  }
  #navmain.viz {
    transform: none;
    height: 100vh;
    max-height: 100vh;
    z-index: 9999;
    width: 100vw;
    max-width: 100vw;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  .menu-btn {
    width: 48px;
    height: 48px;
    display: flex;
    justify-items: center;
    align-items: center;
    cursor: pointer;
    color: white;
  }
  .menu-btn .menulabel {
    display: none;
  }
  .menu-btn .bars {
    width: 30px;
  }
  .menu-btn .bars .bar {
    transition: all 0.2s ease;
    display: block;
    margin: 7px 9px;
    width: 30px;
    border-top: 3px solid white;
  }
  .menu-btn:hover {
    color: #f30;
    background: white;
  }
  .menu-btn:hover .bars .bar {
    border-top-color: #f30;
  }
  .menu-btn.active .bars .bar {
    border-top-color: #f30;
  }
  .menu-btn.active .bars .bar:nth-child(1) {
    transform: rotate(45deg) translate(7px, 7px);
    width: 33px;
  }
  .menu-btn.active .bars .bar:nth-child(2) {
    opacity: 0;
  }
  .menu-btn.active .bars .bar:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -8px);
    width: 33px;
  }
  .menu-btn-container {
    display: flex;
    align-items: center;
    z-index: 99999;
    width: 10%;
    justify-content: end;
    padding: 5px;
    flex-grow: 1;
  }
}
@media screen and (min-width: 801px) {
  #branding {
    flex-wrap: wrap;
  }
  .menu-btn-container {
    display: none;
  }
}
