/*
Theme Name: Polygonish 2
Theme URI: https://polygonish.com/
Author: Polygonish
Description: Theme for the Polygonish 3D model store, based on Twenty Fifteen.
Version: 2.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: polygonish
*/

:root {
  --dark-background: #4A4A4A;
  --btn-bg: #fff;
  --btn-color: #000;
  --btn-border-radius: 45px;
  --btn-padding: 16px 24px;
  --btn-font-size: 1.02rem;
  --btn-line-height: 1.4286; /* with the font size and padding, every button is the same height */
  --success: #01b107 /* "added to cart", a rigged model's check */
}

@media (prefers-color-scheme:light) {
  :root {
    --btn-bg: #000;
    --btn-color: #fff
  }
}

/* Onest variable font (weights 100–900, SIL OFL 1.1, see font/Onest-OFL.txt), from @fontsource-variable/onest 5.3.1 */
@font-face {
  font-family: 'Onest';
  src: url('font/onest-latin-ext-wght-normal.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Onest';
  src: url('font/onest-latin-wght-normal.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body,
html,
html * {
  font-family: "Onest", sans-serif
}

a {
  word-break: keep-all
}

a,
abbr,
acronym,
address,
applet,
big,
blockquote,
body,
caption,
cite,
code,
dd,
del,
dfn,
div,
dl,
dt,
em,
fieldset,
font,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
iframe,
ins,
kbd,
label,
legend,
li,
object,
ol,
p,
pre,
q,
s,
samp,
small,
span,
strike,
strong,
sub,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
tr,
tt,
ul,
var {
  border: 0;
  font-family: inherit;
  font-size: 1rem;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline
}

html {
  box-sizing: border-box;
  font-size: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%
}

*,
*:after,
*:before {
  box-sizing: inherit
}

body {
  background: #f1f1f1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
  display: block
}

ol,
ul {
  list-style: none
}

table {
  border-collapse: separate;
  border-spacing: 0
}

caption,
td,
th {
  font-weight: normal;
  text-align: left
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: ""
}

blockquote,
q {
  -webkit-hyphens: none;
  hyphens: none;
  quotes: none
}

a:focus {
  outline: 2px solid #c1c1c1;
  outline: 2px solid rgba(51, 51, 51, .3)
}

a:active,
a:hover {
  outline: 0
}

a img {
  border: 0
}

.author-link:after,
.byline:before,
.bypostauthor>article .fn:after,
.cat-links:before,
.comment-navigation .nav-next a:after,
.comment-navigation .nav-previous a:before,
.comment-reply-title small a:before,
.comments-link:before,
.dropdown-toggle:after,
.edit-link:before,
.entry-content .more-link:after,
.entry-format:before,
.entry-summary .more-link:after,
.format-link .entry-title a:after,
.full-size-link:before,
.image-navigation a:after,
.image-navigation a:before,
.pagination .next:before,
.pagination .prev:before,
.posted-on:before,
.secondary-toggle:before,
.social-navigation a:before,
.tags-links:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-family: "Genericons";
  font-size: 1.1429rem;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1;
  speak: none;
  text-align: center;
  text-decoration: inherit;
  text-transform: none;
  vertical-align: top
}

body,
button,
input,
select,
textarea {
  color: #333;
  font-family: "Onest", sans-serif;
  font-size: .6rem;
  line-height: 1.6
}

body {
  font-size: 1rem /* 16px: the size text takes when nothing else sets one */
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-weight: normal
}

p {
  margin-bottom: 1.6em
}

b,
strong {
  font-weight: normal
}

cite,
dfn,
em,
i {
  font-style: italic
}

blockquote {
  border-left: 4px solid #707070;
  border-left: 4px solid rgba(51, 51, 51, .7);
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-size: .84rem;
  font-style: italic;
  line-height: 1.6667;
  margin-bottom: 1.6667em;
  padding-left: .7778em
}

blockquote p {
  margin-bottom: 1.6667em
}

blockquote>p:last-child {
  margin-bottom: 0
}

blockquote cite,
blockquote small {
  color: #333;
  font-size: .72rem;
  font-family: "Onest", sans-serif;
  line-height: 1.6
}

blockquote cite,
blockquote em,
blockquote i {
  font-style: normal
}

blockquote b,
blockquote strong {
  font-weight: 400
}

address {
  font-style: italic;
  margin: 0 0 1.6em
}

code,
kbd,
pre,
samp,
tt,
var {
  font-family: Inconsolata, monospace;
  -webkit-hyphens: none;
  hyphens: none
}

pre {
  background-color: rgba(0, 0, 0, 0);
  background-color: rgba(0, 0, 0, .01);
  border: 1px solid #eaeaea;
  border: 1px solid rgba(51, 51, 51, .1);
  line-height: 1.2;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: .8em;
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word
}

abbr[title] {
  border-bottom: 1px dotted #eaeaea;
  border-bottom: 1px dotted rgba(51, 51, 51, .1);
  cursor: help
}

ins,
mark {
  background-color: #fff9c0;
  text-decoration: none
}

sub,
sup {
  font-size: 75%;
  height: 0;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sup {
  bottom: 1ex
}

sub {
  top: .5ex
}

small {
  font-size: 75%
}

big {
  font-size: 125%
}

hr {
  background-color: #eaeaea;
  background-color: rgba(51, 51, 51, .1);
  border: 0;
  height: 1px;
  margin-bottom: 1.6em
}

ol,
ul {
  margin: 0 0 1.6em 1.3333em
}

ul {
  list-style: disc
}

ol {
  list-style: decimal
}

li>ol,
li>ul {
  margin-bottom: 0
}

dl {
  margin-bottom: 1.6em
}

dt {
  font-weight: normal
}

dd {
  margin-bottom: 1.6em
}

table,
td,
th {
  border: 1px solid #eaeaea;
  border: 1px solid rgba(51, 51, 51, .1)
}

table {
  border-collapse: separate;
  border-spacing: 0;
  border-width: 1px 0 0 1px;
  margin: 0 0 1.6em;
  table-layout: fixed;
  width: 100%
}

caption,
td,
th {
  font-weight: normal;
  text-align: left
}

th {
  border-width: 0 1px 1px 0;
  font-weight: normal
}

td {
  border-width: 0 1px 1px 0
}

td,
th {
  padding: .4em
}

img {
  -ms-interpolation-mode: bicubic;
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: middle
}

figure {
  margin: 0
}

del {
  opacity: .8
}

::-webkit-input-placeholder {
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif
}

:-moz-placeholder {
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif
}

::-moz-placeholder {
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  opacity: 1
}

:-ms-input-placeholder {
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif
}

button,
input,
select,
textarea {
  background-color: #f7f7f7;
  border-radius: 0;
  font-size: .84rem;
  line-height: 1.5;
  margin: 0;
  max-width: 100%;
  vertical-align: baseline
}

button,
input {
  line-height: normal
}

input,
textarea {
  background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
  border: 1px solid #eaeaea;
  border: 1px solid rgba(51, 51, 51, .1);
  color: #707070;
  color: rgba(51, 51, 51, .7)
}

input:focus,
textarea:focus {
  background-color: #fff;
  border: 1px solid #c1c1c1;
  border: 1px solid rgba(51, 51, 51, .3);
  color: #333
}

input:focus,
select:focus {
  outline: 2px solid #c1c1c1;
  outline: 2px solid rgba(51, 51, 51, .3)
}

button[disabled],
input[disabled],
select[disabled],
textarea[disabled] {
  cursor: default;
  opacity: .5
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  background-color: #333;
  border: 0;
  color: #fff;
  cursor: pointer;
  font-family: "Onest", sans-serif;
  font-size: .84rem;
  font-weight: normal;
  padding: .7917em 1.5em;
  text-transform: none /* buttons in normal case, as written */
}

button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover,
button:focus,
input[type=button]:focus,
input[type=reset]:focus,
input[type=submit]:focus {
  background-color: #707070;
  background-color: rgba(51, 51, 51, .7);
  outline: 0
}

input[type=search] {
  -webkit-appearance: textfield
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
textarea {
  padding: .375em;
  width: 100%
}

textarea {
  overflow: auto;
  vertical-align: top
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
textarea:focus {
  outline: 0
}

.post-password-form {
  position: relative
}

.post-password-form label {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  display: block;
  font-family: "Onest", sans-serif;
  font-size: .72rem;
  font-weight: normal;
  letter-spacing: .04em;
  line-height: 1.5
}

.post-password-form input[type=submit] {
  padding: .7917em;
  position: absolute;
  right: 0;
  bottom: 0
}

input[type=checkbox],
input[type=radio] {
  padding: 0;
  border-radius: 0 !important
}

.search-form input[type=submit],
.widget .search-form input[type=submit] {
  padding: 0
}

a {
  color: #333;
  text-decoration: none
}

a:focus,
a:hover {
  color: #707070;
  color: rgba(51, 51, 51, .7)
}

.main-navigation a {
  display: block;
  padding: .8em 0;
  position: relative;
  text-decoration: none
}

.main-navigation ul {
  list-style: none;
  margin: 0
}

.main-navigation ul ul {
  display: none;
  margin-left: .8em
}

.main-navigation ul .toggled-on {
  display: block
}

.main-navigation li {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, .1);
  position: relative
}

.main-navigation .current-menu-ancestor>a,
.main-navigation .current-menu-item>a {
  font-weight: normal;
  color: #41bef3
}

.main-navigation .nav-menu>li:first-child,
.main-navigation .nav-menu>ul>li:first-child {
  border-top: 0
}

.main-navigation .menu-item-has-children>a {
  padding-right: 48px
}

.main-navigation .menu-item-description {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-size: .72rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: .5em
}

.no-js .main-navigation ul ul {
  display: block
}

.dropdown-toggle {
  background-color: rgba(0, 0, 0, 0);
  border: 0;
  box-sizing: content-box;
  content: "";
  height: 42px;
  padding: 0;
  position: absolute;
  text-transform: lowercase;
  top: 3px;
  right: 0;
  width: 42px
}

.dropdown-toggle:after {
  color: #333;
  content: "";
  font-size: 1.1429rem;
  line-height: 1.4286rem;
  position: relative;
  top: 0;
  left: 1px;
  width: 42px
}

.dropdown-toggle:focus,
.dropdown-toggle:hover {
  background-color: #eaeaea;
  background-color: rgba(51, 51, 51, .1)
}

.dropdown-toggle:focus {
  outline: 1px solid #c1c1c1;
  outline: 1px solid rgba(51, 51, 51, .3)
}

.dropdown-toggle.toggle-on:after {
  content: ""
}

.social-navigation {
  margin: 9.0909% 0
}

.social-navigation ul {
  list-style: none;
  margin: 0 0 -1.6em
}

.social-navigation li {
  float: left
}

.social-navigation a {
  display: block;
  height: 3.2em;
  position: relative;
  width: 3.2em
}

.social-navigation a:before {
  content: "";
  font-size: 1.7143rem;
  position: absolute;
  top: 0;
  left: 0
}

.social-navigation a[href*="codepen.io"]:before {
  content: ""
}

.social-navigation a[href*="digg.com"]:before {
  content: ""
}

.social-navigation a[href*="dribbble.com"]:before {
  content: ""
}

.social-navigation a[href*="dropbox.com"]:before {
  content: ""
}

.social-navigation a[href*="facebook.com"]:before {
  content: ""
}

.social-navigation a[href*="flickr.com"]:before {
  content: ""
}

.social-navigation a[href*="foursquare.com"]:before {
  content: ""
}

.social-navigation a[href*="plus.google.com"]:before {
  content: ""
}

.social-navigation a[href*="github.com"]:before {
  content: ""
}

.social-navigation a[href*="instagram.com"]:before {
  content: ""
}

.social-navigation a[href*="linkedin.com"]:before {
  content: ""
}

.social-navigation a[href*="pinterest.com"]:before {
  content: ""
}

.social-navigation a[href*="getpocket.com"]:before {
  content: ""
}

.social-navigation a[href*="polldaddy.com"]:before {
  content: ""
}

.social-navigation a[href*="reddit.com"]:before {
  content: ""
}

.social-navigation a[href*="stumbleupon.com"]:before {
  content: ""
}

.social-navigation a[href*="tumblr.com"]:before {
  content: ""
}

.social-navigation a[href*="twitter.com"]:before {
  content: ""
}

.social-navigation a[href*="vimeo.com"]:before {
  content: ""
}

.social-navigation a[href*="wordpress.com"]:before,
.social-navigation a[href*="wordpress.org"]:before {
  content: ""
}

.social-navigation a[href*="youtube.com"]:before {
  content: ""
}

.social-navigation a[href*="mailto:"]:before {
  content: ""
}

.social-navigation a[href*="spotify.com"]:before {
  content: ""
}

.social-navigation a[href*="twitch.tv"]:before {
  content: ""
}

.social-navigation a[href$="/feed/"]:before {
  content: ""
}

.secondary-toggle {
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid #eaeaea;
  border: 1px solid rgba(51, 51, 51, .1);
  height: 42px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  top: 50%;
  right: 0;
  text-align: center;
  transform: translateY(-50%);
  width: 42px
}

.secondary-toggle:before {
  color: #333;
  content: "";
  line-height: 2.8571rem;
  width: 40px
}

.secondary-toggle:focus,
.secondary-toggle:hover {
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid #c1c1c1;
  border: 1px solid rgba(51, 51, 51, .3);
  outline: 0
}

.secondary-toggle.toggled-on:before {
  content: "";
  font-size: 1.7143rem;
  position: relative;
  top: 1px;
  left: -1px
}

.post-navigation {
  border-top: 0;
  font-weight: normal;
}

.post-navigation a {
  display: block;
  padding: 3.8461% 7.6923%
}

.post-navigation span {
  display: block
}

.post-navigation .meta-nav {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  letter-spacing: .04em;
  line-height: 1.5;
  position: relative;
  text-transform: uppercase;
  z-index: 2
}

.post-navigation .post-title {
  font-family: "Onest", sans-serif;
  line-height: 1.3333;
  position: relative;
  z-index: 2
}

.post-navigation .nav-next,
.post-navigation .nav-previous {
  background-position: center;
  background-size: cover;
  position: relative
}

.post-navigation a:before {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1
}

.post-navigation a:focus:before,
.post-navigation a:hover:before {
  opacity: .5
}

.post-navigation .meta-nav {
  opacity: .8
}

.post-navigation div+div {
  border-top: 0
}

.pagination {
  background-color: #fff;
  border-top: 1px solid rgba(51, 51, 51, .1);
  font-family: "Onest", sans-serif
}

.pagination .nav-links {
  min-height: 3.2em;
  position: relative;
  text-align: center
}

.pagination .current .screen-reader-text {
  position: static !important
}

.pagination .page-numbers {
  display: none;
  line-height: 3.2em;
  padding: 0 .6667em
}

.pagination .page-numbers.current {
  text-transform: uppercase
}

.pagination .current {
  display: inline-block;
  font-weight: normal
}

.pagination .next,
.pagination .prev {
  -webkit-tap-highlight-color: hsla(0, 0%, 100%, .3);
  background-color: #333;
  color: #fff;
  display: inline-block;
  height: 48px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 48px
}

.pagination .next:before,
.pagination .prev:before {
  font-size: 2.2857rem;
  height: 48px;
  line-height: 3.4286rem;
  position: relative;
  width: 48px
}

.pagination .next:focus,
.pagination .next:hover,
.pagination .prev:focus,
.pagination .prev:hover {
  background-color: #707070;
  background-color: rgba(51, 51, 51, .7)
}

.pagination .prev {
  left: 0
}

.pagination .prev:before {
  content: "";
  left: -1px
}

.pagination .next {
  right: 0
}

.pagination .next:before {
  content: "";
  right: -1px
}

.comment-navigation,
.image-navigation {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-size: 1.02rem;
  font-family: "Onest", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  text-transform: uppercase
}

.comment-navigation a,
.image-navigation a {
  color: #707070;
  color: rgba(51, 51, 51, .7)
}

.comment-navigation a:focus,
.comment-navigation a:hover,
.image-navigation a:focus,
.image-navigation a:hover {
  color: #333
}

.comment-navigation .nav-next:not(:empty),
.comment-navigation .nav-previous:not(:empty),
.image-navigation .nav-next:not(:empty),
.image-navigation .nav-previous:not(:empty) {
  display: inline-block
}

.comment-navigation .nav-previous:not(:empty)+.nav-next:not(:empty):before,
.image-navigation .nav-previous:not(:empty)+.nav-next:not(:empty):before {
  content: "∕";
  font-weight: 400;
  margin: 0 .7em
}

.comment-navigation .nav-previous a:before,
.image-navigation .nav-previous a:before {
  content: "";
  margin-right: .2em;
  position: relative
}

.comment-navigation .nav-next a:after,
.image-navigation .nav-next a:after {
  content: "";
  margin-left: .2em;
  position: relative
}

.comment-navigation {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, .1);
  border-bottom: 1px solid #eaeaea;
  border-bottom: 1px solid rgba(51, 51, 51, .1);
  padding: 2em 0
}

.comments-title+.comment-navigation {
  border-bottom: 0
}

.image-navigation {
  padding: 0 7.6923%
}

.image-navigation .nav-next:not(:empty),
.image-navigation .nav-previous:not(:empty) {
  margin-bottom: 2em
}

.says,
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px
}

.site .skip-link {
  background-color: #f1f1f1;
  box-shadow: 0 0 1px 1px rgba(0, 0, 0, .2);
  color: #21759b;
  display: block;
  font: bold 1rem/normal "Noto Sans", sans-serif;
  left: -9999em;
  outline: 0;
  padding: 15px 23px 14px;
  text-decoration: none;
  text-transform: none;
  top: -9999em
}

.logged-in .site .skip-link {
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
  font: bold 1rem/normal "Onest", sans-serif
}

.site .skip-link:focus {
  clip: auto;
  height: auto;
  left: 6px;
  top: 7px;
  width: auto;
  z-index: 100000
}

.alignleft {
  display: inline;
  float: left
}

.alignright {
  display: inline;
  float: right
}

.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto
}

.wp-caption.alignleft,
blockquote.alignleft,
img.alignleft {
  margin: .4em 1.6em 1.6em 0
}

.wp-caption.alignright,
blockquote.alignright,
img.alignright {
  margin: .4em 0 1.6em 1.6em
}

.wp-caption.aligncenter,
blockquote.aligncenter,
img.aligncenter {
  clear: both;
  margin-top: .4em;
  margin-bottom: 1.6em
}

.wp-caption.aligncenter,
.wp-caption.alignleft,
.wp-caption.alignright {
  margin-bottom: 1.2em
}

.clear:after,
.clear:before,
.comment-content:after,
.comment-content:before,
.comment-navigation:after,
.comment-navigation:before,
.entry-content:after,
.entry-content:before,
.nav-links:after,
.nav-links:before,
.site-content:after,
.site-content:before,
.site:after,
.site:before,
.social-navigation ul:after,
.social-navigation ul:before,
.textwidget:after,
.textwidget:before {
  content: "";
  display: table
}

.clear:after,
.comment-content:after,
.comment-navigation:after,
.entry-content:after,
.nav-links:after,
.site-content:after,
.site:after,
.social-navigation ul:after,
.textwidget:after {
  clear: both
}

.site-header {
  background-color: #fff;
  border-bottom: 1px solid rgba(51, 51, 51, .1);
  padding: 7.6923%
}

.site-branding {
  min-height: 2em;
  padding-right: 60px;
  position: relative
}

.site-title {
  font-family: "Onest", sans-serif;
  font-size: 1.32rem;
  font-weight: normal;
  line-height: 1.3636;
  margin-bottom: 0
}

.site-description {
  display: none;
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.5;
  margin: .5em 0 0;
  opacity: .7
}

.widget {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  -webkit-hyphens: auto;
  hyphens: auto;
  margin: 0 auto 9.0909%;
  width: 100%;
  word-wrap: break-word
}

.widget pre {
  line-height: 1.2
}

.widget button,
.widget input,
.widget select,
.widget textarea {
  font-size: .96rem;
  line-height: 1.5
}

.widget button,
.widget input {
  line-height: normal
}

.widget button,
.widget input[type=button],
.widget input[type=reset],
.widget input[type=submit] {
  font-size: 1.02rem;
  padding: .7917em 1.5833em
}

.widget input[type=text],
.widget input[type=email],
.widget input[type=url],
.widget input[type=password],
.widget input[type=search],
.widget textarea {
  padding: .375em
}

.widget-title {
  color: #333;
  font-family: "Onest", sans-serif;
  margin: 0 0 1.6em;
  letter-spacing: .04em;
  text-transform: uppercase
}

.widget>:last-child {
  margin-bottom: 0
}

.widget_calendar table {
  margin: 0
}

.widget_calendar td,
.widget_calendar th {
  line-height: 2.3333;
  text-align: center;
  padding: 0
}

.widget_calendar caption {
  font-family: "Onest", sans-serif;
  font-weight: normal;
  margin: 0 0 1.6em;
  letter-spacing: .04em;
  text-transform: uppercase
}

.widget_calendar tbody a {
  -webkit-tap-highlight-color: hsla(0, 0%, 100%, .3);
  background-color: #333;
  color: #fff;
  display: block;
  font-weight: normal
}

.widget_calendar tbody a:focus,
.widget_calendar tbody a:hover {
  background-color: #707070;
  background-color: rgba(51, 51, 51, .7);
  color: #fff
}

.widget_archive a,
.widget_categories a,
.widget_links a,
.widget_meta a,
.widget_nav_menu a,
.widget_pages a,
.widget_recent_comments a,
.widget_recent_entries a {
  border: 0
}

.widget_archive ul,
.widget_categories ul,
.widget_links ul,
.widget_meta ul,
.widget_nav_menu ul,
.widget_pages ul,
.widget_recent_comments ul,
.widget_recent_entries ul {
  list-style: none;
  margin: 0
}

.widget_archive li,
.widget_categories li,
.widget_links li,
.widget_meta li,
.widget_nav_menu li,
.widget_pages li,
.widget_recent_comments li,
.widget_recent_entries li {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, .1);
  padding: .7667em 0
}

.widget_archive li:first-child,
.widget_categories li:first-child,
.widget_links li:first-child,
.widget_meta li:first-child,
.widget_nav_menu li:first-child,
.widget_pages li:first-child,
.widget_recent_comments li:first-child,
.widget_recent_entries li:first-child {
  border-top: 0;
  padding-top: 0
}

.widget_archive li:last-child,
.widget_categories li:last-child,
.widget_links li:last-child,
.widget_meta li:last-child,
.widget_nav_menu li:last-child,
.widget_pages li:last-child,
.widget_recent_comments li:last-child,
.widget_recent_entries li:last-child {
  padding-bottom: 0
}

.widget_categories .children,
.widget_nav_menu .sub-menu,
.widget_pages .children {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, .1);
  margin: .7667em 0 0 .8em;
  padding-top: .7667em
}

.widget_recent_entries .post-date {
  display: block
}

.widget_rss ul {
  list-style: none;
  margin: 0
}

.widget_rss li {
  margin-bottom: 1.6em
}

.widget_rss li:last-child,
.widget_rss ul:last-child {
  margin-bottom: 0
}

.widget_rss .rsswidget {
  border: 0;
  font-weight: normal
}

.widget_rss .rsswidget img {
  margin-top: -4px
}

.widget_rss .rss-date,
.widget_rss cite {
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  font-style: normal;
  display: block;
  line-height: 2;
  opacity: .8
}

.textwidget>:last-child {
  margin-bottom: 0
}

.textwidget a {
  border-bottom: 1px solid #333
}

.textwidget a:focus,
.textwidget a:hover {
  border-bottom: 0
}

.secondary {
  background-color: #fff;
  display: none;
  padding: 0 7.6923%
}

.secondary.toggled-on {
  border-top: 1px solid rgba(0, 0, 0, 0);
  border-bottom: 1px solid rgba(0, 0, 0, 0);
  display: block
}

.widget-area {
  margin: 9.0909% auto 0
}

.site-footer {
  background-color: #fff;
  border-top: 1px solid rgba(51, 51, 51, .1);
  padding: 3.84615% 7.6923%
}

.hentry {
  background-color: #fff;
  padding-top: 7.6923%;
  position: relative
}

.hentry.has-post-thumbnail {
  padding-top: 0
}

.hentry.sticky:not(.has-post-thumbnail) {
  padding-top: calc(7.6923%+24px)
}

.hentry+.hentry {
  border-top: 1px solid rgba(51, 51, 51, .1)
}

.post-thumbnail {
  border: 0;
  display: block;
  margin-bottom: 2.4em
}

.post-thumbnail img {
  display: block;
  margin: 0 auto;
  max-width: 960px
}

a.post-thumbnail:focus,
a.post-thumbnail:hover {
  opacity: .85
}

.entry-header,
.post-thumbnail {
  padding: 0 7.6923%
}

.entry-title {
  font-size: 1.5714rem;
  line-height: 1.1538;
  margin-bottom: .9231em
}

.entry-content,
.entry-summary {
  padding: 0 7.6923% 7.6923%
}

.entry-content>:last-child,
.entry-summary>:last-child {
  margin-bottom: 0
}

.comment-content,
.entry-content,
.entry-summary,
.page-content {
  -webkit-hyphens: auto;
  hyphens: auto;
  word-wrap: break-word
}

.comment-content h1,
.entry-content h1,
.entry-summary h1,
.page-content h1 {
  font-size: 1.5714rem;
  line-height: 1.1538;
  margin-top: 1.8462em;
  margin-bottom: .9231em
}

.comment-content h2,
.entry-content h2,
.entry-summary h2,
.page-content h2 {
  font-size: 1.4286rem;
  line-height: 1.3636;
  margin-top: 2.1818em;
  margin-bottom: 1.0909em
}

.comment-content h3,
.entry-content h3,
.entry-summary h3,
.page-content h3,
#edd_checkout_form_wrap #edd_purchase_form .edd-blocks-form legend,
#edd_checkout_form_wrap .pg-checkout-heading {
  font-size: 1.08rem;
  line-height: 1.3333;
  margin-top: 2.6667em;
  margin-bottom: 1.3333em
}

.comment-content h4,
.comment-content h5,
.comment-content h6,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-summary h4,
.entry-summary h5,
.entry-summary h6,
.page-content h4,
.page-content h5,
.page-content h6 {
  font-size: .9rem;
  line-height: 1.2;
  margin-top: 3.2em;
  margin-bottom: 1.6em
}

.comment-content h5,
.comment-content h6,
.entry-content h5,
.entry-content h6,
.entry-summary h5,
.entry-summary h6,
.page-content h5,
.page-content h6 {
  letter-spacing: .1em;
  text-transform: uppercase
}

.comment-content>h1:first-child,
.comment-content>h2:first-child,
.comment-content>h3:first-child,
.comment-content>h4:first-child,
.comment-content>h5:first-child,
.comment-content>h6:first-child,
.entry-content>h1:first-child,
.entry-content>h2:first-child,
.entry-content>h3:first-child,
.entry-content>h4:first-child,
.entry-content>h5:first-child,
.entry-content>h6:first-child,
.entry-summary>h1:first-child,
.entry-summary>h2:first-child,
.entry-summary>h3:first-child,
.entry-summary>h4:first-child,
.entry-summary>h5:first-child,
.entry-summary>h6:first-child,
.page-content>h1:first-child,
.page-content>h2:first-child,
.page-content>h3:first-child,
.page-content>h4:first-child,
.page-content>h5:first-child,
.page-content>h6:first-child {
  margin-top: 0
}

.comment-content a,
.entry-content a,
.entry-summary a,
.page-content a,
.pingback .comment-body>a {
  border-bottom: 1px solid #333
}

.comment-content a:focus,
.comment-content a:hover,
.entry-content a:focus,
.entry-content a:hover,
.entry-summary a:focus,
.entry-summary a:hover,
.page-content a:focus,
.page-content a:hover,
.pingback .comment-body>a:focus,
.pingback .comment-body>a:hover {
  border-bottom: 0
}

.comment-content a img,
.entry-content a img,
.entry-summary a img,
.page-content a img {
  display: block
}

.entry-content .more-link,
.entry-summary .more-link:after {
  white-space: nowrap
}

.entry-content .more-link:after,
.entry-summary .more-link:after {
  content: "";
  font-size: 1.1429rem;
  position: relative;
  top: 5px
}

.author-info {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, .1);
  margin: 0 7.6923%;
  padding: 7.6923% 0
}

.author-info .avatar {
  float: left;
  height: 36px;
  margin: 0 1.6em 1.6em 0;
  width: 36px
}

.author-heading {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  letter-spacing: .04em;
  margin-bottom: 1.5em;
  text-transform: uppercase
}

.author-title {
  clear: none
}

.author-bio {
  font-size: 1.02rem;
  line-height: 1.5;
  overflow: hidden;
  padding-bottom: 1px
}

.author-description {
  -webkit-hyphens: auto;
  hyphens: auto;
  word-wrap: break-word
}

.author-description a {
  border-bottom: 1px solid #333
}

.author-description a:focus,
.author-description a:hover {
  border-bottom: 0
}

.author-description>:last-child {
  margin-bottom: 0
}

.author-link {
  white-space: nowrap
}

.author-link:after {
  content: "";
  position: relative;
  top: 1px
}

.entry-footer {
  background-color: #f7f7f7;
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  line-height: 1.5;
  padding: 3.8461% 7.6923%
}

.entry-footer a {
  border-bottom: 1px solid rgba(0, 0, 0, 0);
  color: #707070;
  color: rgba(51, 51, 51, .7)
}

.entry-footer a:hover {
  border-bottom: 1px solid #333
}

.entry-footer a:focus,
.entry-footer a:hover {
  color: #333
}

.sticky-post {
  background-color: #333;
  color: #fff;
  font-weight: normal;
  letter-spacing: .04em;
  padding: .25em .5em;
  position: absolute;
  top: 0;
  text-transform: uppercase
}

.updated:not(.published) {
  display: none
}

.sticky .posted-on {
  display: none
}

.byline:before,
.cat-links:before,
.comments-link:before,
.edit-link:before,
.entry-format:before,
.full-size-link:before,
.posted-on:before,
.tags-links:before {
  margin-right: 2px;
  position: relative
}

.byline,
.cat-links,
.comments-link,
.entry-format,
.full-size-link,
.posted-on,
.tags-links {
  margin-right: 1em
}

.format-aside .entry-format:before {
  content: ""
}

.format-image .entry-format:before {
  content: ""
}

.format-gallery .entry-format:before {
  content: ""
}

.format-video .entry-format:before {
  content: ""
}

.format-status .entry-format:before {
  content: ""
}

.format-quote .entry-format:before {
  content: ""
}

.format-link .entry-format:before {
  content: ""
}

.format-chat .entry-format:before {
  content: ""
}

.format-audio .entry-format:before {
  content: ""
}

.posted-on:before {
  content: ""
}

.byline:before {
  content: ""
}

.cat-links:before {
  content: ""
}

.tags-links:before {
  content: ""
}

.comments-link:before {
  content: ""
}

.full-size-link:before {
  content: ""
}

.edit-link:before {
  content: ""
}

.comments-link,
.edit-link {
  white-space: nowrap
}

.page-header {
  background-color: #fff;
  border-bottom: 1px solid rgba(51, 51, 51, .1);
  padding: 7.6923%
}

.page-title {
  font-family: "Onest", sans-serif;
  font-size: 1.08rem;
  line-height: 1.3333
}

.taxonomy-description {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  padding-top: .4em
}

.taxonomy-description a {
  border-bottom: 1px solid #333
}

.taxonomy-description a:focus,
.taxonomy-description a:hover {
  border-bottom: 0
}

.taxonomy-description>:last-child {
  margin-bottom: 0
}

.page-content {
  background-color: #fff;
  padding: 7.6923%
}

.page-content>:last-child {
  margin-bottom: 0
}

.page-links {
  clear: both;
  font-family: "Onest", sans-serif;
  margin-bottom: 1.3333em
}

.page-links>span,
.page-links a {
  border: 1px solid #eaeaea;
  border: 1px solid rgba(51, 51, 51, .1);
  display: inline-block;
  font-size: 1.02rem;
  height: 2em;
  line-height: 2;
  margin: 0 .3333em .3333em 0;
  text-align: center;
  width: 2em
}

.page-links a {
  -webkit-tap-highlight-color: hsla(0, 0%, 100%, .3);
  background-color: #333;
  border-color: #333;
  color: #fff
}

.page-links a:focus,
.page-links a:hover {
  background-color: #707070;
  background-color: rgba(51, 51, 51, .7);
  border-color: rgba(0, 0, 0, 0);
  color: #fff
}

.page-links>.page-links-title {
  border: 0;
  color: #707070;
  color: rgba(51, 51, 51, .7);
  height: auto;
  margin: 0;
  padding-right: .5em;
  width: auto
}

.entry-attachment {
  margin-bottom: 1.6em
}

.type-attachment .entry-title {
  -webkit-hyphens: auto;
  hyphens: auto;
  word-wrap: break-word
}

.entry-caption {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  -webkit-hyphens: auto;
  hyphens: auto;
  line-height: 1.5;
  padding-top: .5em;
  word-wrap: break-word
}

.entry-caption>:last-child {
  margin-bottom: 0
}

.format-aside .entry-title,
.format-audio .entry-title,
.format-chat .entry-title,
.format-gallery .entry-title,
.format-image .entry-title,
.format-link .entry-title,
.format-quote .entry-title,
.format-status .entry-title,
.format-video .entry-title {
  line-height: 1.3333;
  margin-bottom: 1.3333em
}

.format-link .entry-title a:after {
  content: "";
  font-size: 1.7143rem;
  height: 24px;
  position: relative;
  top: 0;
  width: 24px
}

.archive .format-status .entry-title,
.blog .format-status .entry-title {
  display: none
}

.comments-area {
  background-color: #fff;
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, .1);
  padding: 7.6923%
}

.comments-area>:last-child {
  margin-bottom: 0
}

.comment-list+.comment-respond {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, .1)
}

.comment-list+.comment-respond,
.comment-navigation+.comment-respond {
  padding-top: 1.6em
}

.comment-reply-title,
.comments-title {
  font-family: "Onest", sans-serif;
  font-size: 1.08rem;
  line-height: 1.3333
}

.comments-title {
  margin-bottom: 1.3333em
}

.comment-list {
  list-style: none;
  margin: 0
}

.comment-list .pingback,
.comment-list .trackback,
.comment-list article {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, .1);
  padding: 1.6em 0
}

.comment-list .children {
  list-style: none;
  margin: 0
}

.comment-list .children>li {
  padding-left: .8em
}

.comment-author {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  margin-bottom: .4em
}

.comment-author a:hover {
  border-bottom: 1px solid #707070;
  border-bottom: 1px solid rgba(51, 51, 51, .7)
}

.comment-author .avatar {
  float: left;
  height: 24px;
  margin-right: .8em;
  width: 24px
}

.bypostauthor>article .fn:after {
  content: "";
  position: relative;
  top: 5px;
  left: 3px
}

.comment-metadata,
.pingback .edit-link {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  line-height: 1.5
}

.comment-metadata a,
.pingback .edit-link a {
  color: #707070;
  color: rgba(51, 51, 51, .7)
}

.comment-metadata a:hover,
.pingback .edit-link a:hover {
  border-bottom: 1px solid #333
}

.comment-metadata a:focus,
.comment-metadata a:hover,
.pingback .edit-link a:focus,
.pingback .edit-link a:hover {
  color: #333
}

.comment-metadata {
  margin-bottom: 1.6em
}

.comment-metadata .edit-link {
  margin-left: 1em
}

.pingback .edit-link {
  margin-left: 1em
}

.pingback .edit-link:before {
  top: 5px
}

.comment-content ol,
.comment-content ul {
  margin: 0 0 1.6em 1.3333em
}

.comment-content li>ol,
.comment-content li>ul {
  margin-bottom: 0
}

.comment-content>:last-child {
  margin-bottom: 0
}

.comment-list .reply {
  font-size: 1.02rem
}

.comment-list .reply a {
  border: 1px solid #eaeaea;
  border: 1px solid rgba(51, 51, 51, .1);
  color: #707070;
  color: rgba(51, 51, 51, .7);
  display: inline-block;
  font-family: "Onest", sans-serif;
  font-weight: normal;
  line-height: 1;
  margin-top: 2em;
  padding: .4167em .8333em;
  text-transform: uppercase
}

.comment-list .reply a:focus,
.comment-list .reply a:hover {
  border-color: #333;
  color: #333;
  outline: 0
}

.comment-form {
  padding-top: 1.6em
}

.comment-form label {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  font-weight: normal;
  display: block;
  letter-spacing: .04em;
  line-height: 1.5;
  text-transform: uppercase
}

.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form input[type=submit] {
  width: 100%
}

.comment-awaiting-moderation,
.comment-notes,
.form-allowed-tags,
.logged-in-as {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  line-height: 1.5;
  margin-bottom: 2em
}

.logged-in-as a:hover {
  border-bottom: 1px solid #333
}

.no-comments {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, .1);
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-weight: normal;
  padding-top: 1.6em
}

.comment-navigation+.no-comments {
  border-top: 0
}

.form-allowed-tags code {
  font-family: Inconsolata, monospace
}

.form-submit {
  margin-bottom: 0
}

.required {
  color: #c0392b
}

.comment-reply-title small {
  font-size: 100%
}

.comment-reply-title small a {
  border: 0;
  float: right;
  height: 32px;
  overflow: hidden;
  width: 26px
}

.comment-reply-title small a:before {
  content: "";
  font-size: 2.2857rem;
  position: relative;
  top: -3px
}

.site-info {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-size: 1.02rem;
  line-height: 1.5
}

.site-info a {
  border-bottom: 1px solid rgba(0, 0, 0, 0);
  color: #707070;
  color: rgba(51, 51, 51, .7)
}

.site-info a:hover {
  border-bottom: 1px solid #333
}

.site-info a:focus,
.site-info a:hover {
  color: #333
}

.site .avatar {
  border-radius: 50%
}

.comment-content img.wp-smiley,
.entry-content img.wp-smiley,
.page-content img.wp-smiley {
  border: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0
}

audio,
canvas {
  display: inline-block
}

embed,
iframe,
object,
video {
  margin-bottom: 1.6em;
  max-width: 100%;
  vertical-align: middle
}

p>embed,
p>iframe,
p>object,
p>video {
  margin-bottom: 0
}

.wp-audio-shortcode,
.wp-playlist.wp-audio-playlist,
.wp-video {
  font-size: .9rem;
  margin-top: 0;
  margin-bottom: 1.6em
}

.wp-playlist.wp-playlist {
  padding-bottom: 0
}

.wp-playlist .wp-playlist-tracks {
  margin-top: 0
}

.wp-playlist-item .wp-playlist-caption {
  border-bottom: 0;
  padding: 10px 0
}

.wp-playlist-item .wp-playlist-item-length {
  top: 10px
}

.wp-caption {
  margin-bottom: 1.6em;
  max-width: 100%
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin: 0
}

.wp-caption-text {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  line-height: 1.5;
  padding: .5em 0
}

.gallery {
  margin-bottom: 1.6em
}

.gallery-item {
  display: inline-block;
  padding: 1.79104477%;
  text-align: center;
  vertical-align: top;
  width: 100%
}

.gallery-columns-2 .gallery-item {
  max-width: 50%
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%
}

.gallery-columns-4 .gallery-item {
  max-width: 25%
}

.gallery-columns-5 .gallery-item {
  max-width: 20%
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%
}

.gallery-icon img {
  margin: 0 auto
}

.gallery-caption {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  display: block;
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  line-height: 1.5;
  padding: .5em 0
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
  display: none
}

.widecolumn {
  background-color: #fff;
  padding: 7.6923%
}

.widecolumn .mu_register {
  width: auto
}

.widecolumn .mu_alert {
  margin-bottom: 1.6em
}

.widecolumn .mu_register form,
.widecolumn form {
  margin-top: 0
}

.widecolumn h2 {
  font-size: 1.56rem;
  line-height: 1.1538;
  margin-bottom: .9231em
}

.widecolumn p {
  margin: 1.6em 0
}

.widecolumn p+h2 {
  margin-top: 1.8462em
}

.widecolumn .mu_register label,
.widecolumn label {
  color: #707070;
  color: rgba(51, 51, 51, .7);
  font-family: "Onest", sans-serif;
  font-size: 1.02rem;
  font-weight: normal;
  letter-spacing: .04em;
  line-height: 1.5;
  text-transform: uppercase
}

.widecolumn .mu_register label {
  margin: 2em 0 0
}

.widecolumn #key,
.widecolumn .mu_register #blog_title,
.widecolumn .mu_register #blogname,
.widecolumn .mu_register #user_email,
.widecolumn .mu_register #user_name {
  font-size: .96rem;
  width: 100%
}

.widecolumn .mu_register #blogname {
  margin: 0
}

.widecolumn .mu_register #blog_title,
.widecolumn .mu_register #user_email,
.widecolumn .mu_register #user_name {
  margin: 0 0 .375em
}

.widecolumn #submit,
.widecolumn .mu_register input[type=submit] {
  font-size: 1.02rem;
  margin: 0;
  width: 100%
}

.widecolumn .mu_register .prefix_address,
.widecolumn .mu_register .suffix_address {
  font-size: inherit
}

.widecolumn .mu_register>:last-child,
.widecolumn form>:last-child {
  margin-bottom: 0
}

@-o-viewport {
  width: device-width
}

@viewport {
  width: device-width
}

@media screen and (min-width:1em) {
  .post-thumbnail img {
    max-width: 100%
  }
}

@media screen and (min-width:38.75em) {

  ol,
  ul {
    margin-left: 0
  }

  blockquote>ol,
  blockquote>ul,
  li>ol,
  li>ul {
    margin-left: 1.3333em
  }

  blockquote {
    margin-left: -1em
  }

  blockquote>blockquote {
    margin-left: 0
  }

  .site-branding {
    min-height: 3.2em
  }

  .site-title {
    font-size: 1.32rem;
    line-height: 1.0909
  }

  .site-description {
    display: block
  }

  .secondary {
    box-shadow: 0 0 1px rgba(0, 0, 0, .15);
    margin: 7.6923% 7.6923% 0;
    padding: 7.6923% 7.6923% 0
  }

  .main-navigation {
    margin-bottom: 11.1111%
  }

  .main-navigation ul {
    border-top: 1px solid rgba(51, 51, 51, .1);
    border-bottom: 1px solid rgba(51, 51, 51, .1)
  }

  .main-navigation ul ul {
    border-top: 0;
    border-bottom: 0
  }

  .social-navigation {
    margin-bottom: 11.1111%
  }

  .social-navigation {
    margin-top: 0
  }

  .widget-area {
    margin-top: 0
  }

  .widget {
    margin-bottom: 11.1111%
  }

  .site-main {
    padding: 7.6923% 0
  }

  .hentry.sticky:not(.has-post-thumbnail) {
    padding-top: inherit
  }

  .hentry,
  .page-content,
  .page-header {
    box-shadow: 0 0 1px rgba(0, 0, 0, .15);
    margin: 0 7.6923%
  }

  .hentry+.hentry,
  .page-header+.hentry,
  .page-header+.page-content {
    margin-top: 7.6923%
  }

  .hentry+.hentry {
    border-top: 0
  }

  .post-thumbnail {
    margin-bottom: 2.4em
  }

  .entry-header,
  .post-thumbnail {
    padding: 0 9.0909%
  }

  .entry-content,
  .entry-summary {
    padding: 0 9.0909% 9.0909%
  }

  .entry-footer {
    padding: 4.5454% 9.0909%
  }

  .page-header {
    border-bottom: 0;
    border-left: 7px solid #333;
    padding: 3.8461% 7.6923%
  }

  .page-title,
  .taxonomy-description {
    margin-left: -7px
  }

  .page-content {
    padding: 9.0909%
  }

  .site-footer {
    border-top: 0;
    box-shadow: 0 0 1px rgba(0, 0, 0, .15);
    margin: 0 7.6923%;
    padding: 3.84615% 7.6923%
  }

  .post-navigation {
    border-top: 0;
    box-shadow: 0 0 1px rgba(0, 0, 0, .15);
    margin: 7.6923% 7.6923% 0
  }

  .post-navigation a {
    padding: 4.5454% 9.0909%
  }

  .pagination {
    border-top: 0;
    box-shadow: 0 0 1px rgba(0, 0, 0, .15);
    margin: 7.6923% 7.6923% 0;
    padding: 0
  }

  .pagination .current .screen-reader-text {
    position: absolute !important
  }

  .pagination .page-numbers {
    display: inline-block
  }

  .image-navigation {
    padding: 0 9.0909%
  }

  .comments-area {
    border-top: 0;
    box-shadow: 0 0 1px rgba(0, 0, 0, .15);
    margin: 7.6923% 7.6923% 0
  }

  .comment-content ol,
  .comment-content ul {
    margin-left: 0
  }

  .comment-content blockquote>ol,
  .comment-content blockquote>ul,
  .comment-content li>ol,
  .comment-content li>ul {
    margin-left: 1.3333em
  }

  .widecolumn {
    box-shadow: 0 0 1px rgba(0, 0, 0, .15);
    margin: 7.6923%
  }

  .post-thumbnail img {
    max-width: 100%
  }
}

@media screen and (min-width:46.25em) {

  body,
  button,
  input,
  select,
  textarea {
    font-size: 1rem;
    line-height: 1.6471
  }

  button,
  input {
    line-height: normal
  }

  address,
  dd,
  dl,
  hr,
  ol,
  p,
  pre,
  table,
  ul {
    margin-bottom: 1.6471em
  }

  blockquote {
    font-size: 1.2rem;
    line-height: 1.75;
    margin-bottom: 1.75em;
    margin-left: -1.05em;
    padding-left: .85em
  }

  blockquote p {
    margin-bottom: 1.75em
  }

  blockquote cite,
  blockquote small {
    font-size: 1.02rem;
    line-height: 1.6471
  }

  pre {
    line-height: 1.2353
  }

  button,
  input[type=button],
  input[type=reset],
  input[type=submit],
  .post-password-form input[type=submit],
  .widecolumn #submit,
  .widecolumn .mu_register input[type=submit] {
    font-size: .84rem;
    padding: .8214em 1.6429em
  }

  input[type=text],
  input[type=email],
  input[type=url],
  input[type=password],
  input[type=search],
  textarea {
    padding: .5em
  }

  .main-navigation {
    font-size: .84rem;
    line-height: 1.5
  }

  .main-navigation a {
    padding: 1em 0
  }

  .main-navigation ul ul {
    margin-left: 1em
  }

  .main-navigation .menu-item-description {
    font-size: .84rem;
    line-height: 1.5
  }

  .social-navigation ul {
    margin-bottom: -1.4706em
  }

  .social-navigation a {
    height: 2.8824em;
    width: 2.8824em
  }

  .secondary-toggle {
    height: 56px;
    width: 56px
  }

  .secondary-toggle:before {
    line-height: 3.8571rem;
    width: 54px
  }

  .author-bio,
  .author-heading,
  .comment-awaiting-moderation,
  .comment-form label,
  .comment-list .reply,
  .comment-metadata,
  .comment-navigation,
  .comment-notes,
  .entry-caption,
  .entry-footer,
  .form-allowed-tags,
  .gallery-caption,
  .image-navigation,
  .logged-in-as,
  .page-links a,
  .page-links span,
  .pingback .edit-link,
  .post-navigation .meta-nav,
  .post-password-form label,
  .site-info,
  .widecolumn .mu_register label,
  .widecolumn label,
  .wp-caption-text {
    font-size: .84rem
  }

  .pagination .nav-links {
    min-height: 3.2941em
  }

  .pagination .page-numbers {
    line-height: 3.2941em;
    padding: 0 .8235em
  }

  .pagination .next,
  .pagination .prev {
    height: 56px;
    padding: 0;
    width: 56px
  }

  .pagination .next:before,
  .pagination .prev:before {
    height: 56px;
    line-height: 4rem;
    width: 56px
  }

  .comment-navigation .nav-next a:after,
  .comment-navigation .nav-previous a:before,
  .image-navigation .nav-next a:after,
  .image-navigation .nav-previous a:before {
    top: 2px
  }

  .wp-caption.alignleft,
  blockquote.alignleft,
  img.alignleft {
    margin: .4118em 1.6471em 1.6471em 0
  }

  .wp-caption.alignright,
  blockquote.alignright,
  img.alignright {
    margin: .4118em 0 1.6471em 1.6471em
  }

  .wp-caption.aligncenter,
  blockquote.aligncenter,
  img.aligncenter {
    margin-top: .4118em;
    margin-bottom: 1.6471em
  }

  .wp-caption.aligncenter,
  .wp-caption.alignleft,
  .wp-caption.alignright {
    margin-bottom: 1.2353em
  }

  .site-branding {
    min-height: 3.7059em;
    padding-right: 66px
  }

  .site-title {
    font-size: 1.74rem;
    line-height: 1.2069
  }

  .site-description {
    font-size: .84rem
  }

  .widget {
    font-size: .84rem;
    line-height: 1.5
  }

  .widget address,
  .widget dd,
  .widget dl,
  .widget hr,
  .widget ol,
  .widget p,
  .widget pre,
  .widget table,
  .widget ul {
    margin-bottom: 1.5em
  }

  .widget li>ol,
  .widget li>ul {
    margin-bottom: 0
  }

  .widget blockquote {
    font-size: 1.02rem;
    line-height: 1.6471;
    margin-bottom: 1.6471em;
    margin-left: -1.2353em;
    padding-left: 1em
  }

  .widget blockquote p {
    margin-bottom: 1.6471em
  }

  .widget blockquote cite,
  .widget blockquote small {
    font-size: .84rem;
    line-height: 1.5
  }

  .widget blockquote>blockquote {
    margin-left: 0
  }

  .widget pre {
    line-height: 1.5;
    padding: .75em
  }

  .widget button,
  .widget input,
  .widget select,
  .widget textarea {
    line-height: 1.75
  }

  .widget button,
  .widget input {
    line-height: normal
  }

  .widget button,
  .widget input[type=button],
  .widget input[type=reset],
  .widget input[type=submit] {
    font-size: .84rem;
    padding: .8214em 1.6429em
  }

  .widget input[type=text],
  .widget input[type=email],
  .widget input[type=url],
  .widget input[type=password],
  .widget input[type=search],
  .widget textarea {
    padding: .5625em
  }

  .widget .wp-caption.alignleft,
  .widget blockquote.alignleft,
  .widget img.alignleft {
    margin: .5em 1.5em 1.5em 0
  }

  .widget .wp-caption.alignright,
  .widget blockquote.alignright,
  .widget img.alignright {
    margin: .5em 0 1.5em 1.5em
  }

  .widget .wp-caption.aligncenter,
  .widget blockquote.aligncenter,
  .widget img.aligncenter {
    margin-top: .5em;
    margin-bottom: 1.5em
  }

  .widget .wp-caption.aligncenter,
  .widget .wp-caption.alignleft,
  .widget .wp-caption.alignright {
    margin-bottom: 1em
  }

  .widget-title {
    margin: 0 0 1.5em
  }

  .widget_calendar td,
  .widget_calendar th {
    line-height: 2.9286
  }

  .widget_calendar caption {
    margin: 0 0 1.5em
  }

  .widget_archive li,
  .widget_categories li,
  .widget_links li,
  .widget_meta li,
  .widget_nav_menu li,
  .widget_pages li,
  .widget_recent_comments li,
  .widget_recent_entries li {
    padding: .9643em 0
  }

  .widget_categories .children,
  .widget_nav_menu .sub-menu,
  .widget_pages .children {
    margin: .9643em 0 0 1em;
    padding-top: .9643em
  }

  .widget_rss li {
    margin-bottom: 1.5em
  }

  .widget_rss .rss-date,
  .widget_rss cite {
    line-height: 1.75
  }

  .post-thumbnail {
    margin-bottom: 3em
  }

  .entry-title,
  .widecolumn h2 {
    font-size: 1.5714rem;
    line-height: 1.2;
    margin-bottom: 1.2em
  }

  .comment-content h1,
  .entry-content h1,
  .entry-summary h1,
  .page-content h1 {
    font-size: 1.5714rem;
    line-height: 1.2;
    margin-top: 1.6em;
    margin-bottom: .8em
  }

  .comment-content h2,
  .entry-content h2,
  .entry-summary h2,
  .page-content h2 {
    font-size: 1.74rem;
    line-height: 1.2069;
    margin-top: 1.931em;
    margin-bottom: .9655em
  }

  .comment-content h3,
  .entry-content h3,
  .entry-summary h3,
  .page-content h3,
  #edd_checkout_form_wrap #edd_purchase_form .edd-blocks-form legend,
  #edd_checkout_form_wrap .pg-checkout-heading {
    font-size: 1.1429rem;
    line-height: 1.1667;
    margin-top: 2.3333em;
    margin-bottom: 1.1667em
  }

  .comment-content h4,
  .entry-content h4,
  .entry-summary h4,
  .page-content h4 {
    font-size: 1.2rem;
    line-height: 1.4;
    margin-top: 2.8em;
    margin-bottom: 1.4em
  }

  .comment-content h5,
  .comment-content h6,
  .entry-content h5,
  .entry-content h6,
  .entry-summary h5,
  .entry-summary h6,
  .page-content h5,
  .page-content h6 {
    font-size: 1.02rem;
    line-height: 1.2353;
    margin-top: 3.2941em;
    margin-bottom: 1.6471em
  }

  .entry-content .more-link:after,
  .entry-summary .more-link:after {
    font-size: 1.7143rem;
    top: 2px
  }

  .author-info {
    margin: 0 9.0909%;
    padding: 9.0909% 0
  }

  .author-info .avatar {
    height: 42px;
    margin: 0 1.6471em 1.6471em 0;
    width: 42px
  }

  .author-link:after {
    top: 3px
  }

  .byline:before,
  .cat-links:before,
  .comments-link:before,
  .edit-link:before,
  .entry-format:before,
  .full-size-link:before,
  .posted-on:before,
  .tags-links:before {
    top: 3px
  }

  .taxonomy-description {
    padding-top: .4118em
  }

  .page-links {
    margin-bottom: 1.4117em
  }

  .page-links>span,
  .page-links a {
    margin: 0 .2857em .2857em 0
  }

  .entry-attachment {
    margin-bottom: 1.6471em
  }

  .format-aside .entry-title,
  .format-audio .entry-title,
  .format-chat .entry-title,
  .format-gallery .entry-title,
  .format-image .entry-title,
  .format-link .entry-title,
  .format-quote .entry-title,
  .format-status .entry-title,
  .format-video .entry-title {
    margin-bottom: 1.4em
  }

  .format-link .entry-title a:after {
    top: .0833em
  }

  .comments-title {
    margin-bottom: 1.4em
  }

  .comment-list .pingback,
  .comment-list .trackback,
  .comment-list article {
    padding: 1.6471em 0
  }

  .comment-list+.comment-respond,
  .comment-navigation+.comment-respond {
    padding-top: 1.6471em
  }

  .comment-list .children>li {
    padding-left: 1.2353em
  }

  .comment-meta {
    position: relative
  }

  .comment-author {
    margin-bottom: 0
  }

  .comment-author .avatar {
    height: 42px;
    margin-right: 1.64705em;
    position: relative;
    top: 5px;
    width: 42px
  }

  .comment-metadata .edit-link:before {
    top: 2px
  }

  .pingback .edit-link:before {
    top: 6px
  }

  .bypostauthor>article .fn:after {
    top: 7px;
    left: 6px
  }

  .comment-content ol,
  .comment-content ul {
    margin-bottom: 1.6471em
  }

  .comment-list .reply a {
    padding: .4286em .8571em
  }

  .comment-form,
  .no-comments {
    padding-top: 1.6471em
  }

  .comment-reply-title small a:before {
    top: -1px
  }

  embed,
  iframe,
  object,
  video {
    margin-bottom: 1.6471em
  }

  .wp-audio-shortcode,
  .wp-playlist.wp-audio-playlist,
  .wp-video {
    font-size: 1.02rem;
    margin-bottom: 1.6471em
  }

  .gallery,
  .wp-caption {
    margin-bottom: 1.6471em
  }

  .widecolumn .mu_alert {
    margin-bottom: 1.6471em
  }

  .widecolumn p {
    margin: 1.6471em 0
  }

  .widecolumn p+h2 {
    margin-top: 1.6em
  }

  .widecolumn #key,
  .widecolumn .mu_register #blog_title,
  .widecolumn .mu_register #blogname,
  .widecolumn .mu_register #user_email,
  .widecolumn .mu_register #user_name {
    font-size: 1.02rem;
    line-height: normal
  }

  .widecolumn .mu_register #blog_title,
  .widecolumn .mu_register #user_email,
  .widecolumn .mu_register #user_name {
    margin: 0 0 .4117em
  }

  .post-thumbnail img {
    max-width: 100%
  }
}

@media screen and (min-width:55em) {

  body,
  button,
  input,
  select,
  textarea {
    font-size: 1rem;
    line-height: 1.6842
  }

  button,
  input {
    line-height: normal
  }

  address,
  dd,
  dl,
  hr,
  ol,
  p,
  pre,
  table,
  ul {
    margin-bottom: 1.6842em
  }

  blockquote {
    font-size: 1.32rem;
    line-height: 1.8182;
    margin-bottom: 1.8182em;
    margin-left: -1.0909em;
    padding-left: .9091em
  }

  blockquote p {
    margin-bottom: 1.8182em
  }

  blockquote cite,
  blockquote small {
    font-size: 1.38rem;
    line-height: 1.6842
  }

  pre {
    line-height: 1.2632
  }

  button,
  input[type=button],
  input[type=reset],
  input[type=submit],
  .post-password-form input[type=submit],
  .widecolumn #submit,
  .widecolumn .mu_register input[type=submit] {
    font-size: .96rem;
    padding: .8125em 1.625em
  }

  input[type=text],
  input[type=email],
  input[type=url],
  input[type=password],
  input[type=search],
  textarea {
    padding: .5278em
  }

  .main-navigation {
    font-size: .96rem;
    line-height: 1.5
  }

  .main-navigation a {
    padding: .75em 0
  }

  .main-navigation .menu-item-description {
    font-size: .96rem;
    line-height: 1.5
  }

  .social-navigation ul {
    margin-bottom: -1.2632em
  }

  .social-navigation a {
    height: 2.5263em;
    width: 2.5263em
  }

  .secondary-toggle {
    height: 64px;
    width: 64px
  }

  .secondary-toggle:before {
    line-height: 4.4286rem;
    width: 62px
  }

  .author-bio,
  .author-heading,
  .comment-awaiting-moderation,
  .comment-form label,
  .comment-list .reply,
  .comment-metadata,
  .comment-navigation,
  .comment-notes,
  .entry-caption,
  .entry-footer,
  .form-allowed-tags,
  .gallery-caption,
  .image-navigation,
  .logged-in-as,
  .page-links a,
  .page-links span,
  .pingback .edit-link,
  .post-navigation .meta-nav,
  .post-password-form label,
  .site-info,
  .widecolumn .mu_register label,
  .widecolumn label,
  .wp-caption-text {
    font-size: .96rem
  }

  .pagination .nav-links {
    min-height: 3.3684em
  }

  .pagination .page-numbers {
    line-height: 3.3684em;
    padding: 0 .8421em
  }

  .pagination .next,
  .pagination .prev {
    height: 64px;
    padding: 0;
    width: 64px
  }

  .pagination .next:before,
  .pagination .prev:before {
    height: 64px;
    line-height: 4.5714rem;
    width: 64px
  }

  .comment-navigation .nav-next a:after,
  .comment-navigation .nav-previous a:before,
  .image-navigation .nav-next a:after,
  .image-navigation .nav-previous a:before {
    font-size: 1.7143rem;
    top: -1px
  }

  .wp-caption.alignleft,
  blockquote.alignleft,
  img.alignleft {
    margin: .4211em 1.6842em 1.6842em 0
  }

  .wp-caption.alignright,
  blockquote.alignright,
  img.alignright {
    margin: .4211em 0 1.6842em 1.6842em
  }

  .wp-caption.aligncenter,
  blockquote.aligncenter,
  img.aligncenter {
    margin-top: .4211em;
    margin-bottom: 1.6842em
  }

  .wp-caption.aligncenter,
  .wp-caption.alignleft,
  .wp-caption.alignright {
    margin-bottom: 1.2632em
  }

  .site-branding {
    min-height: 3.7895em;
    padding-right: 74px
  }

  .site-title {
    font-size: 1.92rem;
    line-height: 1.25
  }

  .site-description {
    font-size: .96rem
  }

  .widget {
    font-size: .96rem
  }

  .widget blockquote {
    font-size: 1.38rem;
    line-height: 1.6842;
    margin-bottom: 1.6842em;
    margin-left: -1.2632em;
    padding-left: 1.0526em
  }

  .widget blockquote p {
    margin-bottom: 1.6842em
  }

  .widget blockquote cite,
  .widget blockquote small {
    font-size: .96rem
  }

  .widget button,
  .widget input,
  .widget select,
  .widget textarea {
    line-height: 1.5
  }

  .widget button,
  .widget input {
    line-height: normal
  }

  .widget button,
  .widget input[type=button],
  .widget input[type=reset],
  .widget input[type=submit] {
    font-size: .96rem;
    padding: .8125em 1.625em
  }

  .widget input[type=text],
  .widget input[type=email],
  .widget input[type=url],
  .widget input[type=password],
  .widget input[type=search],
  .widget textarea {
    padding: .75em
  }

  .widget .gallery-caption,
  .widget .wp-caption-text {
    line-height: 1.5
  }

  .widget_calendar td,
  .widget_calendar th {
    line-height: 2.9375
  }

  .widget_archive li,
  .widget_categories li,
  .widget_links li,
  .widget_meta li,
  .widget_nav_menu li,
  .widget_pages li,
  .widget_recent_comments li,
  .widget_recent_entries li {
    padding: .7188em 0
  }

  .widget_categories .children,
  .widget_nav_menu .sub-menu,
  .widget_pages .children {
    margin: .7188em 0 0 1em;
    padding-top: .7188em
  }

  .widget_rss .rss-date,
  .widget_rss cite {
    font-size: .78rem;
    line-height: 1.8462
  }

  .post-thumbnail {
    margin-bottom: 2.9474em
  }

  .entry-title,
  .widecolumn h2 {
    font-size: 1.5714rem;
    line-height: 1.2308;
    margin-bottom: 1.2308em
  }

  .comment-content h1,
  .entry-content h1,
  .entry-summary h1,
  .page-content h1 {
    font-size: 1.5714rem;
    line-height: 1.2308;
    margin-top: 1.641em;
    margin-bottom: .8205em
  }

  .comment-content h2,
  .entry-content h2,
  .entry-summary h2,
  .page-content h2 {
    font-size: 1.92rem;
    line-height: 1.25;
    margin-top: 2em;
    margin-bottom: 1em
  }

  .comment-content h3,
  .entry-content h3,
  .entry-summary h3,
  .page-content h3,
  #edd_checkout_form_wrap #edd_purchase_form .edd-blocks-form legend,
  #edd_checkout_form_wrap .pg-checkout-heading {
    font-size: 1.1429rem;
    line-height: 1.1852;
    margin-top: 2.3704em;
    margin-bottom: 1.1852em
  }

  .comment-content h4,
  .entry-content h4,
  .entry-summary h4,
  .page-content h4 {
    font-size: 1.32rem;
    line-height: 1.4545;
    margin-top: 2.9091em;
    margin-bottom: 1.4545em
  }

  .comment-content h5,
  .comment-content h6,
  .entry-content h5,
  .entry-content h6,
  .entry-summary h5,
  .entry-summary h6,
  .page-content h5,
  .page-content h6 {
    font-size: 1.38rem;
    line-height: 1.2632;
    margin-top: 3.3684em;
    margin-bottom: 1.6842em
  }

  .entry-content .more-link:after,
  .entry-summary .more-link:after {
    top: 3px
  }

  .author-info .avatar {
    height: 56px;
    margin: 0 1.6842em 1.6842em 0;
    width: 56px
  }

  .author-link:after {
    font-size: 1.7143rem;
    top: 0
  }

  .byline:before,
  .cat-links:before,
  .comments-link:before,
  .edit-link:before,
  .entry-format:before,
  .full-size-link:before,
  .posted-on:before,
  .tags-links:before {
    top: 4px
  }

  .taxonomy-description {
    padding-top: .4211em
  }

  .page-links {
    margin-bottom: 1.4736em
  }

  .page-links>span,
  .page-links a {
    margin: 0 .25em .25em 0
  }

  .entry-attachment {
    margin-bottom: 1.6842em
  }

  .format-aside .entry-title,
  .format-audio .entry-title,
  .format-chat .entry-title,
  .format-gallery .entry-title,
  .format-image .entry-title,
  .format-link .entry-title,
  .format-quote .entry-title,
  .format-status .entry-title,
  .format-video .entry-title {
    margin-bottom: 1.4545em
  }

  .format-link .entry-title a:after {
    top: .125em
  }

  .comments-title {
    margin-bottom: 1.4545em
  }

  .comment-list .pingback,
  .comment-list .trackback,
  .comment-list article {
    padding: 1.6842em 0
  }

  .comment-list+.comment-respond,
  .comment-navigation+.comment-respond {
    padding-top: 1.6842em
  }

  .comment-list .children>li {
    padding-left: 1.4737em
  }

  .comment-author .avatar {
    height: 56px;
    margin-right: 1.6842em;
    top: 3px;
    width: 56px
  }

  .comment-metadata {
    line-height: 2
  }

  .comment-metadata .edit-link:before {
    top: 8px
  }

  .pingback .edit-link:before {
    top: 8px
  }

  .bypostauthor>article .fn:after {
    top: 8px
  }

  .comment-content ol,
  .comment-content ul {
    margin-bottom: 1.6842em
  }

  .comment-list .reply a {
    padding: .4375em .875em
  }

  .comment-form,
  .no-comments {
    padding-top: 1.6842em
  }

  embed,
  iframe,
  object,
  video {
    margin-bottom: 1.6842em
  }

  .wp-audio-shortcode,
  .wp-playlist.wp-audio-playlist,
  .wp-video {
    font-size: 1.38rem;
    margin-bottom: 1.6842em
  }

  .gallery,
  .wp-caption {
    margin-bottom: 1.6842em
  }

  .widecolumn .mu_alert {
    margin-bottom: 1.6842em
  }

  .widecolumn p {
    margin: 1.6842em 0
  }

  .widecolumn p+h2 {
    margin-top: 1.641em
  }

  .widecolumn #key,
  .widecolumn .mu_register #blog_title,
  .widecolumn .mu_register #blogname,
  .widecolumn .mu_register #user_email,
  .widecolumn .mu_register #user_name {
    font-size: 1.38rem
  }

  .widecolumn .mu_register #blog_title,
  .widecolumn .mu_register #user_email,
  .widecolumn .mu_register #user_name {
    margin: 0 0 .421em
  }

  .post-thumbnail img {
    max-width: 100%
  }
}

@media screen and (min-width:59.6875em) {
  body:before {
    background-color: #fff;
    box-shadow: 0 0 1px rgba(0, 0, 0, .15);
    content: "";
    display: block;
    height: 100%;
    min-height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 29.4118%;
    z-index: 0
  }

  .site {
    margin: 0 auto;
    max-width: 1403px
  }

  .sidebar {
    float: left;
    margin-right: -100%;
    max-width: 413px;
    position: relative;
    width: 29.4118%
  }

  .secondary {
    background-color: rgba(0, 0, 0, 0);
    box-shadow: none;
    display: block;
    margin: 0;
    padding: 0
  }

  .site-main {
    padding: 8.3333% 0
  }

  .site-content {
    display: block;
    position: relative !important;
    float: left;
    margin-left: 29.4118%;
    width: 70.5882%
  }

  body {
    font-size: 1rem;
    line-height: 1.6
  }

  address,
  dd,
  dl,
  hr,
  ol,
  p,
  pre,
  table,
  ul {
    margin-bottom: 1.6em
  }

  blockquote {
    font-size: 1.08rem;
    line-height: 1.6667;
    margin-bottom: 1.6667em;
    margin-left: -1.3333em;
    padding-left: 1.1111em
  }

  blockquote cite,
  blockquote small {
    font-size: .9rem;
    line-height: 1.6
  }

  pre {
    line-height: 1.2
  }

  button,
  input,
  select,
  textarea {
    font-size: .96rem;
    line-height: 1.5
  }

  button,
  input {
    line-height: normal
  }

  button,
  input[type=button],
  input[type=reset],
  input[type=submit],
  .post-password-form input[type=submit],
  .widecolumn #submit,
  .widecolumn .mu_register input[type=submit] {
    font-size: 1.02rem;
    padding: .7917em 1.5833em
  }

  input[type=text],
  input[type=email],
  input[type=url],
  input[type=password],
  input[type=search],
  textarea {
    padding: .375em
  }

  .main-navigation {
    font-size: 1.02rem;
    margin: 0 20% 20%
  }

  .main-navigation a {
    padding: .5em 0
  }

  .main-navigation .menu-item-has-children>a {
    padding-right: 30px
  }

  .main-navigation .menu-item-description {
    font-size: 1.02rem;
    line-height: 1.5
  }

  .dropdown-toggle {
    height: 24px;
    width: 24px
  }

  .dropdown-toggle:after {
    font-size: 1.1429rem;
    line-height: 1.7143rem;
    width: 24px
  }

  .social-navigation {
    margin: 0 20% 20%
  }

  .social-navigation ul {
    margin-bottom: -1.6em
  }

  .social-navigation li {
    width: 25%
  }

  .social-navigation a {
    height: 3.2em
  }

  .secondary-toggle {
    display: none
  }

  .author-bio,
  .author-heading,
  .comment-awaiting-moderation,
  .comment-form label,
  .comment-list .reply,
  .comment-metadata,
  .comment-navigation,
  .comment-notes,
  .entry-caption,
  .entry-footer,
  .form-allowed-tags,
  .gallery-caption,
  .image-navigation,
  .logged-in-as,
  .page-links a,
  .page-links span,
  .pingback .edit-link,
  .post-navigation .meta-nav,
  .post-password-form label,
  .site-info,
  .widecolumn .mu_register label,
  .widecolumn label,
  .wp-caption-text {
    font-size: 1.02rem
  }

  .post-navigation {
    margin: 8.3333% 8.3333% 0
  }

  .post-navigation a {
    padding: 5% 10%
  }

  .pagination {
    margin: 8.333% 8.333% 0
  }

  .pagination .nav-links {
    min-height: 3.2em
  }

  .pagination .page-numbers {
    line-height: 3.2em;
    padding: 0 .8em
  }

  .pagination .next,
  .pagination .prev {
    height: 48px;
    padding: 0;
    width: 48px
  }

  .pagination .next:before,
  .pagination .prev:before {
    height: 48px;
    line-height: 3.4286rem;
    width: 48px
  }

  .comment-navigation .nav-next a:after,
  .comment-navigation .nav-previous a:before,
  .image-navigation .nav-next a:after,
  .image-navigation .nav-previous a:before {
    font-size: 1.1429rem;
    top: 0
  }

  .image-navigation {
    padding: 0 10%
  }

  .wp-caption.alignleft,
  blockquote.alignleft,
  img.alignleft {
    margin: .4em 1.6em 1.6em 0
  }

  .wp-caption.alignright,
  blockquote.alignright,
  img.alignright {
    margin: .4em 0 1.6em 1.6em
  }

  .wp-caption.aligncenter,
  blockquote.aligncenter,
  img.aligncenter {
    clear: both;
    margin-top: .4em;
    margin-bottom: 1.6em
  }

  .wp-caption.aligncenter,
  .wp-caption.alignleft,
  .wp-caption.alignright {
    margin-bottom: 1.2em
  }

  .site-header {
    background-color: rgba(0, 0, 0, 0);
    border-bottom: 0;
    margin: 0;
    padding: 0 20%
  }

  .site-branding {
    min-height: 0;
    padding: 0
  }

  .site-title {
    font-size: 1.32rem;
    line-height: 1.3636
  }

  .site-description {
    font-size: 1.02rem
  }

  .widget {
    font-size: 1.02rem;
    margin: 0 0 20%;
    padding: 0 20%
  }

  .widget blockquote {
    font-size: 1.02rem;
    line-height: 1.5;
    margin-bottom: 1.5em;
    margin-left: -1.5em;
    padding-left: 1.1667em
  }

  .widget blockquote p {
    margin-bottom: 1.5em
  }

  .widget blockquote cite,
  .widget blockquote small {
    font-size: 1.02rem
  }

  .widget pre {
    padding: .5em
  }

  .widget button,
  .widget input,
  .widget select,
  .widget textarea {
    font-size: 1.02rem
  }

  .widget button,
  .widget input[type=button],
  .widget input[type=reset],
  .widget input[type=submit] {
    font-size: 1.02rem;
    padding: .5417em 1.0833em
  }

  .widget input[type=text],
  .widget input[type=email],
  .widget input[type=url],
  .widget input[type=password],
  .widget input[type=search],
  .widget textarea {
    padding: .4583em
  }

  .widget .gallery-caption,
  .widget .wp-caption-text {
    font-size: 1.02rem
  }

  .widget_calendar td,
  .widget_calendar th {
    line-height: 1.9167
  }

  .widget_archive li,
  .widget_categories li,
  .widget_links li,
  .widget_meta li,
  .widget_nav_menu li,
  .widget_pages li,
  .widget_recent_comments li,
  .widget_recent_entries li {
    padding: .4583em 0
  }

  .widget_categories .children,
  .widget_nav_menu .sub-menu,
  .widget_pages .children {
    margin: .4583em 0 0 1em;
    padding-top: .4583em
  }

  .widget_rss .rss-date,
  .widget_rss cite {
    font-size: 1.02rem;
    line-height: 1.5
  }

  .hentry,
  .page-content,
  .page-header {
    margin: 0 8.3333%
  }

  .hentry {
    padding-top: 8.3333%
  }

  .hentry+.hentry,
  .page-header+.hentry,
  .page-header+.page-content {
    margin-top: 8.3333%
  }

  .post-thumbnail {
    margin-bottom: 2.4em
  }

  .entry-header,
  .post-thumbnail {
    padding: 0 10%
  }

  .entry-title,
  .widecolumn h2 {
    font-size: 1.5714rem;
    line-height: 1.1613;
    margin-bottom: 1.1613em
  }

  .entry-content,
  .entry-summary {
    padding: 0 10% 10%
  }

  .comment-content h1,
  .entry-content h1,
  .entry-summary h1,
  .page-content h1 {
    font-size: 1.5714rem;
    line-height: 1.1613;
    margin-top: 1.5484em;
    margin-bottom: .7742em
  }

  .comment-content h2,
  .entry-content h2,
  .entry-summary h2,
  .page-content h2 {
    font-size: 1.56rem;
    line-height: 1.3846;
    margin-top: 1.8462em;
    margin-bottom: .9231em
  }

  .comment-content h3,
  .entry-content h3,
  .entry-summary h3,
  .page-content h3,
  #edd_checkout_form_wrap #edd_purchase_form .edd-blocks-form legend,
  #edd_checkout_form_wrap .pg-checkout-heading {
    font-size: 1.1429rem;
    line-height: 1.3636;
    margin-top: 2.1818em;
    margin-bottom: 1.0909em
  }

  .comment-content h4,
  .entry-content h4,
  .entry-summary h4,
  .page-content h4 {
    font-size: 1.08rem;
    line-height: 1.3333;
    margin-top: 2.6667em;
    margin-bottom: 1.3333em
  }

  .comment-content h5,
  .comment-content h6,
  .entry-content h5,
  .entry-content h6,
  .entry-summary h5,
  .entry-summary h6,
  .page-content h5,
  .page-content h6 {
    font-size: .9rem;
    line-height: 1.2;
    margin-top: 3.2em;
    margin-bottom: 1.6em
  }

  .entry-content .more-link:after,
  .entry-summary .more-link:after {
    font-size: 1.1429rem;
    top: 5px
  }

  .author-info {
    margin: 0 10%;
    padding: 10% 0
  }

  .author-info .avatar {
    height: 36px;
    margin: 0 1.5em 1.5em 0;
    width: 36px
  }

  .author-link:after {
    font-size: 1.1429rem;
    top: 1px
  }

  .entry-footer {
    padding: 5% 10%
  }

  .byline:before,
  .cat-links:before,
  .comments-link:before,
  .edit-link:before,
  .entry-format:before,
  .full-size-link:before,
  .posted-on:before,
  .tags-links:before {
    top: 0
  }

  .page-header {
    padding: 4.1666% 8.3333%
  }

  .page-content {
    padding: 8.3333%
  }

  .taxonomy-description {
    padding-top: .4em
  }

  .page-links {
    margin-bottom: 1.3333em
  }

  .page-links>span,
  .page-links a {
    margin: 0 .3333em .3333em 0
  }

  .entry-attachment {
    margin-bottom: 1.6em
  }

  .format-aside .entry-title,
  .format-audio .entry-title,
  .format-chat .entry-title,
  .format-gallery .entry-title,
  .format-image .entry-title,
  .format-link .entry-title,
  .format-quote .entry-title,
  .format-status .entry-title,
  .format-video .entry-title {
    margin-bottom: 1.3333em
  }

  .format-link .entry-title a:after {
    top: 0
  }

  .comments-area {
    margin: 8.3333% 8.3333% 0;
    padding: 8.3333%
  }

  .comments-title {
    margin-bottom: 1.3333em
  }

  .comment-list .pingback,
  .comment-list .trackback,
  .comment-list article {
    padding: 1.6em 0
  }

  .comment-list+.comment-respond,
  .comment-navigation+.comment-respond {
    padding-top: 1.6em
  }

  .comment-list .children>li {
    padding-left: .8em
  }

  .comment-author {
    margin-bottom: .4em
  }

  .comment-author .avatar {
    height: 24px;
    margin-right: .8em;
    top: 0;
    width: 24px
  }

  .comment-metadata .edit-link:before {
    top: 3px
  }

  .pingback .edit-link:before {
    top: 5px
  }

  .bypostauthor>article .fn:after {
    top: 5px;
    left: 3px
  }

  .comment-content ol,
  .comment-content ul {
    margin-bottom: 2em
  }

  .comment-list .reply a {
    padding: .4167em .8333em
  }

  .comment-form,
  .no-comments {
    padding-top: 1.6em
  }

  .comment-reply-title small a:before {
    top: -3px
  }

  .site-footer {
    float: left;
    margin: 0 0 0 35.2941%;
    padding: 0;
    width: 58.8235%
  }

  .site-info {
    padding: 5% 10%
  }

  embed,
  iframe,
  object,
  video {
    margin-bottom: 1.6em
  }

  .wp-audio-shortcode,
  .wp-playlist.wp-audio-playlist,
  .wp-video {
    font-size: .9rem;
    margin-bottom: 1.6em
  }

  .gallery,
  .wp-caption {
    margin-bottom: 1.6em
  }

  .widecolumn {
    margin: 8.3333%;
    padding: 8.3333%
  }

  .widecolumn .mu_alert {
    margin-bottom: 1.6em
  }

  .widecolumn p {
    margin: 1.6em 0
  }

  .widecolumn p+h2 {
    margin-top: 1.5484em
  }

  .widecolumn #key,
  .widecolumn .mu_register #blog_title,
  .widecolumn .mu_register #blogname,
  .widecolumn .mu_register #user_email,
  .widecolumn .mu_register #user_name {
    font-size: .96rem
  }

  .widecolumn .mu_register #blog_title,
  .widecolumn .mu_register #user_email,
  .widecolumn .mu_register #user_name {
    margin: 0 0 .375em
  }

  .post-thumbnail img {
    max-width: 100%
  }
}

@media screen and (min-width:68.75em) {

  body,
  button,
  input,
  select,
  textarea {
    font-size: 1rem;
    line-height: 1.6471
  }

  button,
  input {
    line-height: normal
  }

  address,
  dd,
  dl,
  hr,
  ol,
  p,
  pre,
  table,
  ul {
    margin-bottom: 1.6471em
  }

  blockquote {
    font-size: 1.2rem;
    line-height: 1.75;
    margin-bottom: 1.75em;
    margin-left: -1.05em;
    padding-left: .85em
  }

  blockquote p {
    margin-bottom: 1.75em
  }

  blockquote cite,
  blockquote small {
    font-size: 1.02rem;
    line-height: 1.6471
  }

  pre {
    line-height: 1.2353
  }

  button,
  input[type=button],
  input[type=reset],
  input[type=submit],
  .post-password-form input[type=submit],
  .widecolumn #submit,
  .widecolumn .mu_register input[type=submit] {
    font-size: .84rem;
    padding: .8214em 1.5714em
  }

  input[type=text],
  input[type=email],
  input[type=url],
  input[type=password],
  input[type=search],
  textarea {
    padding: .5em
  }

  .main-navigation {
    font-size: .84rem
  }

  .main-navigation a {
    padding: .4643em 0
  }

  .main-navigation .menu-item-has-children>a {
    padding-right: 34px
  }

  .main-navigation .menu-item-description {
    line-height: 1.4583;
    margin-top: .25em
  }

  .dropdown-toggle {
    height: 28px;
    width: 28px
  }

  .dropdown-toggle:after {
    line-height: 2rem;
    width: 28px
  }

  .social-navigation ul {
    margin-bottom: -1.4706em
  }

  .social-navigation li {
    width: 20%
  }

  .social-navigation a {
    height: 2.8824em
  }

  .author-bio,
  .author-heading,
  .comment-awaiting-moderation,
  .comment-form label,
  .comment-list .reply,
  .comment-metadata,
  .comment-navigation,
  .comment-notes,
  .entry-caption,
  .entry-footer,
  .form-allowed-tags,
  .gallery-caption,
  .image-navigation,
  .logged-in-as,
  .page-links a,
  .page-links span,
  .pingback .edit-link,
  .post-navigation .meta-nav,
  .post-password-form label,
  .site-info,
  .widecolumn .mu_register label,
  .widecolumn label,
  .wp-caption-text {
    font-size: .84rem
  }

  .pagination .nav-links {
    min-height: 3.2941em
  }

  .pagination .page-numbers {
    line-height: 3.2941em;
    padding: 0 .8235em
  }

  .pagination .next,
  .pagination .prev {
    height: 56px;
    padding: 0;
    width: 56px
  }

  .pagination .next:before,
  .pagination .prev:before {
    height: 56px;
    line-height: 4rem;
    width: 56px
  }

  .comment-navigation .nav-next a:after,
  .comment-navigation .nav-previous a:before,
  .image-navigation .nav-next a:after,
  .image-navigation .nav-previous a:before {
    top: 2px
  }

  .wp-caption.alignleft,
  blockquote.alignleft,
  img.alignleft {
    margin: .4118em 1.6471em 1.6471em 0
  }

  .wp-caption.alignright,
  blockquote.alignright,
  img.alignright {
    margin: .4118em 0 1.6471em 1.6471em
  }

  .wp-caption.aligncenter,
  blockquote.aligncenter,
  img.aligncenter {
    margin-top: .4118em;
    margin-bottom: 1.6471em
  }

  .wp-caption.aligncenter,
  .wp-caption.alignleft,
  .wp-caption.alignright {
    margin-bottom: 1.2353em
  }

  .site-title {
    font-size: 1.44rem;
    line-height: 1.1667
  }

  .site-description {
    font-size: .84rem
  }

  .widget {
    font-size: .84rem
  }

  .widget blockquote {
    font-size: .84rem;
    padding-left: 1.2143em
  }

  .widget button,
  .widget input,
  .widget select,
  .widget textarea {
    font-size: .84rem
  }

  .widget button,
  .widget input[type=button],
  .widget input[type=reset],
  .widget input[type=submit] {
    font-size: 1.02rem;
    padding: .75em 1.5em
  }

  .widget input[type=text],
  .widget input[type=email],
  .widget input[type=url],
  .widget input[type=password],
  .widget input[type=search],
  .widget textarea {
    padding: .5em
  }

  .widget .gallery-caption,
  .widget .wp-caption-text {
    line-height: 1.4583;
    padding: .5833em 0
  }

  .widget_calendar caption {
    margin: 0 0 1.9286em
  }

  .widget_calendar td,
  .widget_calendar th {
    line-height: 1.9286
  }

  .widget_archive li,
  .widget_categories li,
  .widget_links li,
  .widget_meta li,
  .widget_nav_menu li,
  .widget_pages li,
  .widget_recent_comments li,
  .widget_recent_entries li {
    padding: .4643em 0
  }

  .widget_categories .children,
  .widget_nav_menu .sub-menu,
  .widget_pages .children {
    margin: .4643em 0 0 1em;
    padding-top: .4643em
  }

  .widget_rss .rss-date,
  .widget_rss cite {
    line-height: 1.75
  }

  .post-thumbnail {
    margin-bottom: 2.4706em
  }

  .entry-title,
  .widecolumn h2 {
    font-size: 1.5714rem;
    line-height: 1.2;
    margin-bottom: 1.2em
  }

  .comment-content h1,
  .entry-content h1,
  .entry-summary h1,
  .page-content h1 {
    font-size: 1.5714rem;
    line-height: 1.2;
    margin-top: 1.6em;
    margin-bottom: .8em
  }

  .comment-content h2,
  .entry-content h2,
  .entry-summary h2,
  .page-content h2 {
    font-size: 1.74rem;
    line-height: 1.2069;
    margin-top: 1.931em;
    margin-bottom: .9655em
  }

  .comment-content h3,
  .entry-content h3,
  .entry-summary h3,
  .page-content h3,
  #edd_checkout_form_wrap #edd_purchase_form .edd-blocks-form legend,
  #edd_checkout_form_wrap .pg-checkout-heading {
    font-size: 1.1429rem;
    line-height: 1.1667;
    margin-top: 2.3333em;
    margin-bottom: 1.1667em
  }

  .comment-content h4,
  .entry-content h4,
  .entry-summary h4,
  .page-content h4 {
    font-size: 1.2rem;
    line-height: 1.4;
    margin-top: 2.8em;
    margin-bottom: 1.4em
  }

  .comment-content h5,
  .comment-content h6,
  .entry-content h5,
  .entry-content h6,
  .entry-summary h5,
  .entry-summary h6,
  .page-content h5,
  .page-content h6 {
    font-size: 1.02rem;
    line-height: 1.2353;
    margin-top: 3.2941em;
    margin-bottom: 1.6471em
  }

  .entry-content .more-link:after,
  .entry-summary .more-link:after {
    font-size: 1.7143rem;
    top: 2px
  }

  .author-info .avatar {
    height: 42px;
    margin: 0 1.6471em 1.6471em 0;
    width: 42px
  }

  .author-link:after {
    top: 3px
  }

  .byline:before,
  .cat-links:before,
  .comments-link:before,
  .edit-link:before,
  .entry-format:before,
  .full-size-link:before,
  .posted-on:before,
  .tags-links:before {
    top: 3px
  }

  .taxonomy-description {
    padding-top: .4118em
  }

  .page-links {
    margin-bottom: 1.4117em
  }

  .page-links>span,
  .page-links a {
    margin: 0 .2857em .2857em 0
  }

  .entry-attachment {
    margin-bottom: 1.6471em
  }

  .format-aside .entry-title,
  .format-audio .entry-title,
  .format-chat .entry-title,
  .format-gallery .entry-title,
  .format-image .entry-title,
  .format-link .entry-title,
  .format-quote .entry-title,
  .format-status .entry-title,
  .format-video .entry-title {
    margin-bottom: 1.4em
  }

  .format-link .entry-title a:after {
    top: .0833em
  }

  .comments-title {
    margin-bottom: 1.4em
  }

  .comment-list .pingback,
  .comment-list .trackback,
  .comment-list article {
    padding: 1.6471em 0
  }

  .comment-list+.comment-respond,
  .comment-navigation+.comment-respond {
    padding-top: 1.6471em
  }

  .comment-list .children>li {
    padding-left: 1.1667em
  }

  .comment-author {
    margin-bottom: 0
  }

  .comment-author .avatar {
    height: 42px;
    margin-right: 1.64705em;
    top: 5px;
    width: 42px
  }

  .bypostauthor>article .fn:after {
    top: 7px;
    left: 6px
  }

  .comment-metadata .edit-link:before {
    top: 6px
  }

  .pingback .edit-link:before {
    top: 6px
  }

  .comment-content ol,
  .comment-content ul {
    margin-bottom: 1.6471em
  }

  .comment-list .reply a {
    padding: .4286em .8571em
  }

  .comment-form,
  .no-comments {
    padding-top: 1.6471em
  }

  .comment-reply-title small a:before {
    top: -1px
  }

  embed,
  iframe,
  object,
  video {
    margin-bottom: 1.6471em
  }

  .wp-audio-shortcode,
  .wp-playlist.wp-audio-playlist,
  .wp-video {
    font-size: 1.02rem;
    margin-bottom: 1.6471em
  }

  .gallery,
  .wp-caption {
    margin-bottom: 1.6471em
  }

  .widecolumn .mu_alert {
    margin-bottom: 1.6471em
  }

  .widecolumn p {
    margin: 1.6471em 0
  }

  .widecolumn p+h2 {
    margin-top: 1.6em
  }

  .widecolumn #key,
  .widecolumn .mu_register #blog_title,
  .widecolumn .mu_register #blogname,
  .widecolumn .mu_register #user_email,
  .widecolumn .mu_register #user_name {
    font-size: 1.02rem
  }

  .widecolumn .mu_register #blog_title,
  .widecolumn .mu_register #user_email,
  .widecolumn .mu_register #user_name {
    margin: 0 0 .4117em
  }
}

@media screen and (min-width:77.5em) {

  body,
  button,
  input,
  select,
  textarea {
    font-size: 1rem;
    line-height: 1.6842
  }

  button,
  input {
    line-height: normal
  }

  address,
  dd,
  dl,
  hr,
  ol,
  p,
  pre,
  table,
  ul {
    margin-bottom: 1.6842em
  }

  blockquote {
    font-size: 1.32rem;
    line-height: 1.8182;
    margin-bottom: 1.8182em;
    margin-left: -1.0909em;
    padding-left: .9091em
  }

  blockquote p {
    margin-bottom: 1.8182em
  }

  blockquote cite,
  blockquote small {
    font-size: 1.38rem;
    line-height: 1.6842
  }

  pre {
    line-height: 1.2632
  }

  button,
  input[type=button],
  input[type=reset],
  input[type=submit],
  .post-password-form input[type=submit],
  .widecolumn #submit,
  .widecolumn .mu_register input[type=submit] {
    font-size: .96rem;
    padding: .8125em 1.625em
  }

  input[type=text],
  input[type=email],
  input[type=url],
  input[type=password],
  input[type=search],
  textarea {
    padding: .5278em
  }

  .main-navigation {
    font-size: .96rem
  }

  .main-navigation a {
    padding: .5em 0
  }

  .main-navigation .menu-item-has-children>a {
    padding-right: 38px
  }

  .main-navigation .menu-item-description {
    font-size: .78rem;
    line-height: 1.5385;
    margin-top: .3077em
  }

  .dropdown-toggle {
    height: 32px;
    top: 4px;
    width: 32px
  }

  .dropdown-toggle:after {
    line-height: 2.2857rem;
    width: 32px
  }

  .social-navigation ul {
    margin-bottom: -1.2632em
  }

  .social-navigation a {
    height: 2.5263em
  }

  .author-bio,
  .author-heading,
  .comment-awaiting-moderation,
  .comment-form label,
  .comment-list .reply,
  .comment-metadata,
  .comment-navigation,
  .comment-notes,
  .entry-caption,
  .entry-footer,
  .form-allowed-tags,
  .gallery-caption,
  .image-navigation,
  .logged-in-as,
  .page-links a,
  .page-links span,
  .pingback .edit-link,
  .post-navigation .meta-nav,
  .post-password-form label,
  .site-info,
  .widecolumn .mu_register label,
  .widecolumn label,
  .wp-caption-text {
    font-size: .96rem
  }

  .pagination .nav-links {
    min-height: 3.3684em
  }

  .pagination .page-numbers {
    line-height: 3.3684em;
    padding: 0 .8421em
  }

  .pagination .next,
  .pagination .prev {
    height: 64px;
    padding: 0;
    width: 64px
  }

  .pagination .next:before,
  .pagination .prev:before {
    height: 64px;
    line-height: 4.5714rem;
    width: 64px
  }

  .comment-navigation .nav-next a:after,
  .comment-navigation .nav-previous a:before,
  .image-navigation .nav-next a:after,
  .image-navigation .nav-previous a:before {
    font-size: 1.7143rem;
    top: -1px
  }

  .wp-caption.alignleft,
  blockquote.alignleft,
  img.alignleft {
    margin: .4211em 1.6842em 1.6842em 0
  }

  .wp-caption.alignright,
  blockquote.alignright,
  img.alignright {
    margin: .4211em 0 1.6842em 1.6842em
  }

  .wp-caption.aligncenter,
  blockquote.aligncenter,
  img.aligncenter {
    margin-top: .4211em;
    margin-bottom: 1.6842em
  }

  .wp-caption.aligncenter,
  .wp-caption.alignleft,
  .wp-caption.alignright {
    margin-bottom: 1.2632em
  }

  .site-title {
    font-size: 1.62rem;
    line-height: 1.1852
  }

  .site-description {
    font-size: .96rem
  }

  .widget {
    font-size: .96rem
  }

  .widget blockquote {
    font-size: .96rem;
    padding-left: 1.25em
  }

  .widget blockquote cite,
  .widget blockquote small {
    font-size: .78rem;
    line-height: 1.8462
  }

  .widget button,
  .widget input,
  .widget select,
  .widget textarea {
    font-size: .96rem
  }

  .widget button,
  .widget input[type=button],
  .widget input[type=reset],
  .widget input[type=submit] {
    font-size: .78rem;
    padding: .8462em 1.6923em
  }

  .widget input[type=text],
  .widget input[type=email],
  .widget input[type=url],
  .widget input[type=password],
  .widget input[type=search],
  .widget textarea {
    padding: .5em
  }

  .widget .gallery-caption,
  .widget .wp-caption-text {
    font-size: .78rem;
    line-height: 1.5385;
    padding: .6154em 0
  }

  .widget_calendar td,
  .widget_calendar th {
    line-height: 1.9375
  }

  .widget_calendar caption {
    margin: 0 0 1.5em
  }

  .widget_archive li,
  .widget_categories li,
  .widget_links li,
  .widget_meta li,
  .widget_nav_menu li,
  .widget_pages li,
  .widget_recent_comments li,
  .widget_recent_entries li {
    padding: .4688em 0
  }

  .widget_categories .children,
  .widget_nav_menu .sub-menu,
  .widget_pages .children {
    margin: .4688em 0 0 1em;
    padding-top: .4688em
  }

  .widget_rss .rss-date,
  .widget_rss cite {
    font-size: .78rem;
    line-height: 1.8462
  }

  .post-thumbnail {
    margin-bottom: 2.9474em
  }

  .entry-title,
  .widecolumn h2 {
    font-size: 1.5714rem;
    line-height: 1.2308;
    margin-bottom: 1.2308em
  }

  .comment-content h1,
  .entry-content h1,
  .entry-summary h1,
  .page-content h1 {
    font-size: 1.5714rem;
    line-height: 1.2308;
    margin-top: 1.641em;
    margin-bottom: .8205em
  }

  .comment-content h2,
  .entry-content h2,
  .entry-summary h2,
  .page-content h2 {
    font-size: 1.92rem;
    line-height: 1.25;
    margin-top: 2em;
    margin-bottom: 1em
  }

  .comment-content h3,
  .entry-content h3,
  .entry-summary h3,
  .page-content h3,
  #edd_checkout_form_wrap #edd_purchase_form .edd-blocks-form legend,
  #edd_checkout_form_wrap .pg-checkout-heading {
    font-size: 1.1429rem;
    line-height: 1.1852;
    margin-top: 2.3704em;
    margin-bottom: 1.1852em
  }

  .comment-content h4,
  .entry-content h4,
  .entry-summary h4,
  .page-content h4 {
    font-size: 1.32rem;
    line-height: 1.4545;
    margin-top: 2.9091em;
    margin-bottom: 1.4545em
  }

  .comment-content h5,
  .comment-content h6,
  .entry-content h5,
  .entry-content h6,
  .entry-summary h5,
  .entry-summary h6,
  .page-content h5,
  .page-content h6 {
    font-size: 1.38rem;
    line-height: 1.2632;
    margin-top: 3.3684em;
    margin-bottom: 1.6842em
  }

  .entry-content .more-link:after,
  .entry-summary .more-link:after {
    top: 3px
  }

  .author-info .avatar {
    height: 56px;
    margin: 0 1.6842em 1.6842em 0;
    width: 56px
  }

  .author-link:after {
    font-size: 1.7143rem;
    top: 0
  }

  .byline:before,
  .cat-links:before,
  .comments-link:before,
  .edit-link:before,
  .entry-format:before,
  .full-size-link:before,
  .posted-on:before,
  .tags-links:before {
    top: 4px
  }

  .taxonomy-description {
    padding-top: .4211em
  }

  .page-links {
    margin-bottom: 1.4736em
  }

  .page-links>span,
  .page-links a {
    margin: 0 .25em .25em 0
  }

  .entry-attachment {
    margin-bottom: 1.6842em
  }

  .format-aside .entry-title,
  .format-audio .entry-title,
  .format-chat .entry-title,
  .format-gallery .entry-title,
  .format-image .entry-title,
  .format-link .entry-title,
  .format-quote .entry-title,
  .format-status .entry-title,
  .format-video .entry-title {
    margin-bottom: 1.4545em
  }

  .format-link .entry-title a:after {
    top: 3px
  }

  .comments-title {
    margin-bottom: 1.4545em
  }

  .comment-list .pingback,
  .comment-list .trackback,
  .comment-list article {
    padding: 1.6842em 0
  }

  .comment-list+.comment-respond,
  .comment-navigation+.comment-respond {
    padding-top: 1.6842em
  }

  .comment-list .children>li {
    padding-left: 1.4737em
  }

  .comment-author .avatar {
    height: 56px;
    margin-right: 1.6842em;
    top: 3px;
    width: 56px
  }

  .bypostauthor>article .fn:after {
    top: 8px
  }

  .comment-metadata .edit-link:before {
    top: 8px
  }

  .pingback .edit-link:before {
    top: 8px
  }

  .comment-content ol,
  .comment-content ul {
    margin-bottom: 1.6842em
  }

  .comment-list .reply a {
    padding: .4375em .875em
  }

  .comment-form,
  .no-comments {
    padding-top: 1.6842em
  }

  embed,
  iframe,
  object,
  video {
    margin-bottom: 1.6842em
  }

  .wp-audio-shortcode,
  .wp-playlist.wp-audio-playlist,
  .wp-video {
    font-size: 1.38rem;
    margin-bottom: 1.6842em
  }

  .gallery,
  .wp-caption {
    margin-bottom: 1.6842em
  }

  .widecolumn .mu_alert {
    margin-bottom: 1.6842em
  }

  .widecolumn p {
    margin: 1.6842em 0
  }

  .widecolumn p+h2 {
    margin-top: 1.641em
  }

  .widecolumn #key,
  .widecolumn .mu_register #blog_title,
  .widecolumn .mu_register #blogname,
  .widecolumn .mu_register #user_email,
  .widecolumn .mu_register #user_name {
    font-size: 1.38rem
  }

  .widecolumn .mu_register #blog_title,
  .widecolumn .mu_register #user_email,
  .widecolumn .mu_register #user_name {
    margin: 0 0 .421em
  }
}

@media screen and (min-width:87.6875em) {
  body:before {
    width: calc(50% - 289px)
  }
}

@media print {
  body {
    background: none !important;
    font-size: 1.0714rem
  }

  #reply-title,
  .comment-edit-link,
  .comment-form,
  .comment-list .reply a,
  .edit-link,
  .navigation,
  .page-links,
  .secondary-toggle,
  .widecolumn .mu_register form,
  .widecolumn form,
  button,
  input,
  select,
  textarea {
    display: none
  }

  .comments-area,
  .entry-footer,
  .hentry,
  .page-content,
  .page-header,
  .site-footer,
  .site-header,
  .widecolumn {
    background: none !important
  }

  .author-heading,
  .comment-author,
  .comment-awaiting-moderation,
  .comment-metadata,
  .comment-metadata a,
  .comment-notes,
  .entry-caption,
  .entry-footer,
  .entry-footer a,
  .gallery-caption,
  .no-comments,
  .post-title,
  .site-description,
  .site-info,
  .site-info a,
  .site-title a,
  .taxonomy-description,
  .wp-caption-text,
  a,
  blockquote,
  blockquote cite,
  blockquote small,
  body,
  label {
    color: #000 !important
  }

  .author-info,
  .comment-list .pingback,
  .comment-list .trackback,
  .comment-list article,
  .comment-list+.comment-respond,
  .comments-area,
  .hentry+.hentry,
  .no-comments,
  .page-header,
  .site-footer,
  .site-header,
  abbr[title],
  pre,
  table,
  td,
  th {
    border-color: #eaeaea !important
  }

  .site {
    margin: 0 7.6923%
  }

  .sidebar {
    position: relative !important
  }

  .site-branding {
    padding: 0
  }

  .site-header {
    padding: 7.6923% 0
  }

  .site-description {
    display: block
  }

  .hentry+.hentry {
    margin-top: 7.6923%
  }

  .hentry.has-post-thumbnail {
    padding-top: 7.6923%
  }

  .sticky-post {
    background: #000 !important;
    color: #fff !important
  }

  .entry-footer,
  .entry-header,
  .post-thumbnail {
    padding: 0
  }

  .entry-content,
  .entry-summary {
    padding: 0 0 7.6923%
  }

  .post-thumbnail img {
    margin: 0
  }

  .author-info {
    margin: 0
  }

  .page-content {
    padding: 7.6923% 0 0
  }

  .page-header {
    padding: 3.84615% 0
  }

  .comments-area {
    border: 0;
    padding: 7.6923% 0 0
  }

  .site-footer {
    margin-top: 7.6923%;
    padding: 3.84615% 0
  }

  .widecolumn {
    margin: 7.6923% 0 0;
    padding: 0
  }
}

body {
  background-color: #fafafa
}

.all-content {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fafafa
}

.hfeed {
  background-color: #fafafa
}

.edd-cart {
  list-style: none
}

.edd-cart a:hover {
  text-decoration: underline;
  color: #000
}

.logo-img {
  width: 140px;
  height: 140px
}

/* Below 960px the logo sits in the top bar, which comes back pinned on scroll up
   (js/sticky-header.js), so it's kept small there */
@media screen and (max-width:59.6875em) {
  .logo-img {
    width: 72px;
    height: 72px
  }
}

@media screen and (max-width:46.25em) {
  .logo-img {
    width: 56px;
    height: 56px
  }
}

.search-field {
  border-radius: var(--btn-border-radius);
  padding: var(--btn-padding)
}

.widget {
  margin-bottom: 50px
}

.site-content {
  overflow: auto
}

.content-area {
  min-height: 100%
}

.site-main {
  margin: 0;
  padding: 0
}

.hentry {
  margin: 0;
  padding: 0;
  box-shadow: 0;
  background-color: #fafafa
}

.entry-header,
.post-thumbnail {
  padding-top: 30px
}

.post-navigation {
  margin: 0
}

.post-navigation a {
  padding: 0
}

.nav-next,
.nav-previous {
  width: 45%;
  height: 100px;
  float: left;
  background-size: auto 100% !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  font-weight: normal;
  border: solid 0
}

.nav-previous {
  text-align: right;
  background-position: center left !important;
  float: right
}

.nav-next a {
  margin-left: 50px
}

.nav-previous a {
  margin-right: 50px
}

.nav-next:before,
.nav-previous:before {
  float: left;
  display: block;
  content: "";
  width: 35px;
  height: 100px;
  background-image: url("css/prev_icon.svg");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat
}

.nav-previous:before {
  float: right;
  background-image: url("css/next_icon.svg")
}

@media screen and (max-width:600px) {

  .nav-next,
  .nav-previous {
    background-image: none !important;
    height: 60px
  }

  .nav-next:before,
  .nav-previous:before {
    height: 60px
  }
}

.entry-footer {
  display: none
}

.site-footer {
  float: left;
  width: 70.5882%;
  margin: 0 0 0 29.4118%;
  text-align: center;
  box-shadow: 0
}

@media screen and (max-width:59.6875em) {

  .entry-header,
  .post-thumbnail {
    padding-top: 10px
  }

  .wp-post-image {
    padding-top: 10px
  }

  .site-footer {
    margin: 0;
    width: 100%
  }

  .site-header {
    padding: 10px
  }

  .secondary {
    margin: 0;
    padding: 0 7.6923%
  }

  .main-navigation {
    margin-bottom: 10px
  }

  .widget {
    margin-bottom: 20px
  }
}

.widgetwidget a {
  color: #41bef3
}

.edd-submit.button.blue {
  color: var(--btn-color);
  background: var(--btn-bg);
  border: 0;
  border-radius: var(--btn-border-radius);
  padding: var(--btn-padding);
  font-size: var(--btn-font-size);
  line-height: var(--btn-line-height)
}

.edd-terms-agreement {
  margin-bottom: 3em
}

#edd_purchase_submit {
  margin-bottom: 3em !important
}

.edd-submit.button.blue.active,
.edd-submit.button.blue:focus,
.edd-submit.button.blue:hover {
  color: var(--btn-color);
  background: color-mix(in srgb, var(--btn-bg), white 20%);
  border: 0
}

.edd-submit.button.blue.active {
  background-image: none
}

.edd_download_title a {
  display: block;
  font-weight: normal;
  font-size: 90% !important;
  border-bottom: none !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis
}

.edd_download_title a:hover {
  color: #333;
  border-bottom: none !important
}

.edd_checkout a:before {
  content: "";
  font-family: "Genericons";
  font-size: 1.32rem;
  vertical-align: sub
}

.edd_checkout a {
  background-color: var(--btn-bg);
  color: var(--btn-color);
  padding: var(--btn-padding) !important;
  border-radius: var(--btn-border-radius);
  font-size: 1.14rem
}

.edd_checkout a:hover {
  text-decoration: none;
  background-color: color-mix(in srgb, var(--btn-bg), white 20%);
  color: var(--btn-color)
}

.edd-cart-added-alert {
  color: var(--success)
}

#edd_checkout_cart td,
#edd_checkout_cart th {
  border-color: rgba(65, 190, 243, .3)
}

#edd_checkout_cart .edd_cart_header_row th {
  background-color: rgba(65, 190, 243, .1)
}

.entry-content input {
  border-radius: 3px
}

#edd_checkout_form_wrap fieldset {
  border-color: rgba(65, 190, 243, .3)
}

#edd_checkout_form_wrap #edd-discount-code-wrap,
#edd_checkout_form_wrap #edd_final_total_wrap,
#edd_checkout_form_wrap #edd_show_discount {
  border-color: rgba(65, 190, 243, .3)
}

#edd_checkout_form_wrap #edd-login-account-wrap,
#edd_checkout_form_wrap #edd-new-account-wrap,
#edd_checkout_form_wrap #edd_final_total_wrap,
#edd_checkout_form_wrap #edd_show_discount,
#edd_checkout_form_wrap .edd-cart-adjustment {
  background-color: rgba(65, 190, 243, .1)
}

#edd-purchase-button,
.edd-submit,
input.edd-submit[type=submit] {
  border: 0;
  font-size: 1.2rem;
  padding: var(--btn-padding);
  border-radius: var(--btn-border-radius)
}

.edd_download_image a img {
  padding: 0 !important;
  max-width: 100%
}

.edd_download .edd_download_title {
  margin: 1em 0 !important
}

.edd_download_excerpt p {
  margin-bottom: .5em !important
}

.entry-content {
  position: relative !important
}


.entry-content p {
  margin-top: 0
}

.edd_download_inner .edd_download_excerpt p {
  margin-top: 0;
  color: #7d7d7d
}

.edd_download_purchase_form {
  position: absolute !important;
  top: 0
}

.edd_download_purchase_form a {
  min-width: 140px !important;
  font-size: 1.2rem !important
}

@media screen and (max-width:600px) {
  .edd_download_purchase_form a {
    font-size: 1.08rem !important
  }
}

.edd_download_buy_button .edd_download_purchase_form {
  position: static !important
}

.edd_download {
  float: none !important
}

.hrefwraper {
  display: block;
  border: none !important;
  padding: 1em;
  border-radius: 6px;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
  transition: all .3s ease-in-out
}

.hrefwraper:hover {
  box-shadow: 0 3px 8px rgba(0, 0, 0, .1)
}

.edd_download .edd_download_buy_button {
  display: none
}

@media screen and (min-width:960px) {
  .sidebar {
    float: left;
    margin-right: -100%;
    max-width: 413px;
    position: relative;
    width: 250px
  }

  .site {
    width: 100%;
    max-width: 100%
  }

  .site-content,
  .site-footer {
    margin-left: 250px;
    width: calc(100% - 250px)
  }

  .entry-content {
    padding: 0 3%
  }

  .entry-header,
  .post-thumbnail {
    padding: 0 3%
  }
}

.entry-content p .aligncenter {
  margin-left: 0 !important;
  margin-right: 0 !important
}

.post-thumbnail img {
  margin: 0 !important
}

.navigation .next,
navigation .prev {
  text-decoration: none !important;
  margin: 0 1em
}

.edd_download_image a img {
  width: 100% !important;
  height: auto !important
}

.edd_downloads_list>.navigation {
  margin: 10px 0;
  text-align: center
}

.fix {
  position: fixed !important;
  display: flex;
  align-items: center;
  gap: 2%;
  top: auto;
  bottom: 0;
  left: 0;
  margin-bottom: 0 !important;
  width: 100%;
  height: 75px;
  z-index: 10;
  background-color: rgba(239, 239, 239, .8);
  padding: 0 30px;
  box-shadow: 0 1px 8px rgba(0, 0, 0, .2);
  transition: all .3s ease-in-out;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(5px)
}

#buttonText {
  flex: 1;
  font-weight: 700;
  color: #5e5e5e
}

#buttonThumbnail {
  display: block;
  width: 80px;
  height: 50px;
  background-position: center;
  background-size: cover;
  border-radius: 6px;
  opacity: .8
}

@media screen and (max-width:500px) {
  .fix {
    justify-content: space-between;
    top: auto;
    bottom: 0;
    height: 65px;
    padding: 0 10px
  }

  #buttonText {
    display: none
  }
}

.line,
.secondary-toggle span,
.secondary-toggle span:after,
.secondary-toggle span:before {
  position: relative;
  display: block;
  width: 22px;
  height: 2px;
  background-color: #3e3e3e;
  content: "";
  transition: all 300ms ease
}

.secondary-toggle {
  border: 0
}

/* Three 22px lines centred in the 42px button: the middle one at 20px, the others 8px above
   and below it (12px and 28px) */
.secondary-toggle span {
  position: absolute;
  top: 20px;
  left: 10px
}

.secondary-toggle span:before {
  top: -8px
}

.secondary-toggle span:after {
  bottom: -6px
}

.secondary-toggle.toggled-on:before,
.secondary-toggle:before {
  content: ""
}

.secondary-toggle:focus,
.secondary-toggle:hover {
  border: 0
}

.secondary-toggle.toggled-on span {
  background: rgba(0, 0, 0, 0)
}

.secondary-toggle.toggled-on span:before {
  top: 0;
  transform: rotate(45deg)
}

.secondary-toggle.toggled-on span:after {
  top: -2px; /* back over the middle line, which it follows */
  transform: rotate(-45deg)
}

.edd-cart-item-quantity {
  display: none
}

.edd_checkout {
  margin-top: 20px
}

.edd_checkout a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 3px
}

.edd-cart-item {
  margin-bottom: 10px
}

#return-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: rgba(0, 0, 0, .05);
  width: 50px;
  height: 50px;
  display: block;
  border-radius: 35px;
  display: none;
  background-image: url("css/next_icon.svg");
  background-size: 30%;
  background-repeat: no-repeat;
  background-position: 60% center;
  transform: rotate(-90deg);
  transition: all .3s ease;
  cursor: pointer
}

#return-to-top:hover {
  background: rgba(0, 0, 0, .15);
  background-image: url("css/next_icon.svg");
  background-size: 30%;
  background-repeat: no-repeat;
  background-position: 80% center
}

.nav-links {
  display: block;
  width: 100%;
  clear: both;
  box-shadow: 0 0 0 0 !important
}

.edd_download_columns_2 .edd_download:nth-child(2n+1),
.edd_download_columns_3 .edd_download:nth-child(3n+1),
.edd_download_columns_4 .edd_download:nth-child(4n+1),
.edd_download_columns_5 .edd_download:nth-child(5n+1),
.edd_download_columns_6 .edd_download:nth-child(6n+1) {
  clear: none !important
}

.page-header {
  margin: 2.625rem !important;
  padding: 2.625rem !important;
  border: none !important;
  box-shadow: none !important
}

article {
  margin-top: 1.05rem !important;
  box-shadow: none !important;
  margin-right: 0 !important
}

article.download {
  float: left;
  width: 300px !important;
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .1) !important;
  margin: 0 1em;
  padding: 1em
}

article.download:hover {
  box-shadow: 0 3px 8px rgba(0, 0, 0, .1)
}

@media screen and (max-width:950px) {
  article.download {
    width: 90% !important;
    margin: 5%
  }
}

article.download .entry-title {
  display: inline-block;
  font-size: 1.44rem;
  padding: 0;
  margin: 0;
  border-bottom: solid 1px rgba(0, 0, 0, 0);
  margin-left: .525rem
}

article.download .entry-summary {
  display: none
}



.site-content {
  overflow: visible /* hovered product cards and their shadows may stick out */
}


.edd_downloads_list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px !important
}

.edd_downloads_list.edd_download_columns_2,
.edd_downloads_list:not(.edd_download_columns_1) {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 16px !important
}

.edd-terms p,
.post-32245 p,
.post-77 p {
  margin: 0 !important;
  max-width: 800px
}

.edd-terms h4,
.post-32245 h4,
.post-77 h4 {
  margin-top: 1.7em;
  margin-bottom: .5em
}

.cli-plugin-button {
  margin: 0 7px !important;
  padding: 5px 7px !important;
  border-radius: 4px !important
}

.wp-block-edd-checkout #edd_purchase_form .edd-blocks-form legend {
  width: auto;
  display: inline-block !important;
  max-width: 640px !important
}

.wp-block-edd-checkout #edd_purchase_form .edd-blocks-form div {
  margin-top: 2em;
  max-width: 640px !important
}

.edd_download_excerpt {
  display: none
}

.sodebar {
  background-color: #fafafa
}

.edd-checkout-block__personal-info .edd-description {
  font-size: .7143rem;
  color: #a1a1a1;
  margin-top: .5em;
  letter-spacing: .4px
}

/*#edd_checkout_form_wrap label{display:none !important} */
@media(prefers-color-scheme:dark) {

  .all-content,
  .hentry,
  .hfeed,
  .post-navigation,
  .site-header {
    background-color: var(--dark-background)
  }

  img {
    opacity: .7
  }

  .site-footer {
    background-color: #3a3a3a /* a step darker than the page, so the footer stands apart */
  }

  .hrefwraper {
    background-color: #575757
  }

  .site-info,
  .site-info a,
  .widget,
  a,
  body,
  button,
  select,
  textarea {
    color: #aaa
  }

  .site-info a:hover,
  a:hover {
    color: #c8c8c8
  }

  .edd_download_title a:hover {
    color: #c8c8c8
  }

  .edd-input,
  input {
    background-color: #333;
    color: #aaa
  }

  .edd-input:focus,
  input:focus {
    background-color: #4f4f4f;
    color: #aaa
  }

  ::-moz-placeholder {
    color: #aaa
  }

  ::placeholder {
    color: #aaa
  }

  ::-ms-input-placeholder {
    color: #aaa
  }

  .post-navigation .meta-nav {
    color: #ccc
  }







  .secondary {
    background-color: var(--dark-background)
  }

  .line,
  .secondary-toggle span,
  .secondary-toggle span:after,
  .secondary-toggle span:before {
    background-color: #aaa
  }

  .fix {
    background-color: rgba(54, 54, 54, .8)
  }

  #buttonText {
    color: #ebebeb
  }
}

#edd_checkout_form_wrap input[type=checkbox] {
  min-width: 24px;
  height: 24px;
  vertical-align: middle;
}
/* ==========================================================================
   Product page: header and image gallery (single-download.php,
   inc/product-gallery.php, js/product-gallery.js)
   ========================================================================== */

.pg-product {
  --pg-accent: rgb(0, 110, 255);
  --pg-control-bg: rgba(232, 232, 237, .7);
  --pg-control-ink: rgb(29, 29, 31);
  --pg-dot: rgba(29, 29, 31, .6);
  --pg-image-bg: #fff;
  --pg-page-bg: #fafafa;
  --pg-radius: 28px;
  --pg-gap: 70px;
  --pg-slide-width: min(80%, 1200px); /* of the content area right of the sidebar */
  padding-top: 0;
}

@media (prefers-color-scheme:dark) {
  .pg-product {
    --pg-accent: rgb(110, 170, 255);
    --pg-control-bg: rgba(255, 255, 255, .12);
    --pg-control-ink: #ddd;
    --pg-dot: rgba(255, 255, 255, .45);
    --pg-image-bg: #575757;
    --pg-page-bg: var(--dark-background);
  }
}

/* Header: category label, model name, buy button */
.pg-product__header {
  padding-top: 48px;
}

.pg-product__kicker {
  margin: 0 0 10px;
  color: var(--pg-accent);
  font-size: .8571rem;
  font-weight: 900;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.pg-product__title {
  margin: 0 0 32px;
  font-size: 2.7143rem;
  font-weight: 400;
  line-height: 1.1;
}

.pg-product__buy {
  margin-bottom: 48px;
}

/* The theme positions the buy form absolutely for the old layout; keep it in the header,
   but leave the sticky buy bar (.fix) alone. */
.pg-product__buy .edd_download_purchase_form:not(.fix) {
  position: static !important;
}

/* Gallery */
/* The gallery sits in a .post-thumbnail wrapper for the theme's side spacing; undo the
   rest of what that class does for single featured images. */
.pg-product .pg-gallery-wrap {
  margin-bottom: 0;
  padding-top: 0;
}

/* Wider screens: run to the right edge so the next image shows. Phones keep the theme's
   padding on both sides and show one image at a time. */
@media screen and (min-width:38.75em) {
  .pg-product .pg-gallery-wrap {
    padding-right: 0;
  }
}

.pg-product .pg-gallery-wrap img {
  max-width: none;
}

.pg-gallery {
  margin: 0;
  outline: none;
  /* Dragging an image would otherwise select the gallery like text. */
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.pg-gallery__viewport {
  overflow: hidden;
  touch-action: pan-y;
}

/* The grabbing hand shows only while an image is being dragged. */
.pg-gallery__viewport.is-dragging,
.pg-gallery__viewport.is-dragging * {
  cursor: grabbing !important;
}

.pg-gallery__track {
  display: flex;
  gap: var(--pg-gap);
  transition: transform 1.2s ease-in-out;
  will-change: transform;
}

.pg-gallery__track.is-fast {
  /* after letting go of a drag: a quick snap instead of the slow slide */
  transition-duration: .45s;
  transition-timing-function: cubic-bezier(.25, 1, .5, 1);
}

.pg-gallery__track.is-instant {
  transition: none;
}

.pg-gallery__slide {
  flex: 0 0 var(--pg-slide-width);
  margin: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--pg-radius);
  background-color: var(--pg-image-bg);
}

.pg-gallery__image {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  object-fit: cover;
  -webkit-user-drag: none;
}

/* Controls: dot pill and pause/play button */
.pg-gallery__controls {
  display: flex;
  justify-content: center;
  gap: 16px;
  width: var(--pg-slide-width); /* centered under the current image */
  margin-top: 24px;
}

.pg-gallery__dots,
.pg-gallery__play {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  min-height: 56px;
  border-radius: 32px;
  background-color: var(--pg-control-bg);
  box-shadow: rgba(0, 0, 0, .11) 0 0 1px 0 inset;
}

.pg-gallery__dots {
  padding: 0;
  background: none;
  box-shadow: none;
}

.pg-gallery__dot {
  /* 24px tall hit area around a 12px dot */
  --pg-dot-pad: 8px;
  --pg-dot-size: 12px;
  position: relative;
  display: flex;
  align-items: center;
  height: 24px;
  margin: 0;
  padding: 0 var(--pg-dot-pad);
  border: 0;
  background: none;
  cursor: pointer;
}

/* The theme gives every button a dark background on hover and focus. */
.pg-gallery__dot:hover,
.pg-gallery__dot:focus {
  background: none;
}

.pg-gallery__dot::before {
  content: "";
  display: block;
  width: var(--pg-dot-size);
  height: var(--pg-dot-size);
  border-radius: var(--pg-dot-size);
  background-color: var(--pg-dot);
  transition: width .5s ease-in-out, background-color .5s ease-in-out;
}

.pg-gallery__dot[aria-current="true"] {
  cursor: default;
}

.pg-gallery__dot[aria-current="true"]::before {
  background-color: var(--pg-control-ink);
}

/* Mouse only: on touch screens a tapped dot would stay dark */
@media (hover:hover) {
  .pg-gallery__dot:not([aria-current="true"]):hover::before {
    background-color: var(--pg-control-ink);
  }
}

.pg-gallery__dot[aria-current="true"]::before {
  width: 48px;
}

/* Timer: the current line is the track and fills up until the next image comes in. */
.pg-gallery.is-autoplay .pg-gallery__dot[aria-current="true"]::before {
  background-color: var(--pg-dot);
}

.pg-gallery.is-autoplay .pg-gallery__dot[aria-current="true"]::after {
  content: "";
  position: absolute;
  top: 50%;
  left: var(--pg-dot-pad);
  width: var(--pg-dot-size);
  height: var(--pg-dot-size);
  margin-top: calc(var(--pg-dot-size) / -2);
  border-radius: var(--pg-dot-size);
  background-color: var(--pg-control-ink);
  /* longhands: the shorthand would reset animation-play-state and undo the pauses below */
  animation-name: pg-gallery-timer;
  animation-duration: var(--pg-autoplay, 5s);
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

@keyframes pg-gallery-timer {
  to {
    width: calc(100% - 2 * var(--pg-dot-pad));
  }
}

/* Hold the timer while it's stopped with the pause button, the gallery is out of sight, an
   image is zoomed in full screen, or an image is being dragged. */
.pg-gallery.is-stopped .pg-gallery__dot::after,
.pg-gallery.is-paused .pg-gallery__dot::after,
.pg-gallery.is-zoomed .pg-gallery__dot::after,
.pg-gallery__viewport.is-dragging ~ .pg-gallery__controls .pg-gallery__dot::after {
  animation-play-state: paused;
}

.pg-gallery__play {
  padding: 0;
  border: 0;
  color: var(--pg-control-ink);
  cursor: pointer;
}

.pg-gallery__play:hover,
.pg-gallery__play:focus {
  background-color: var(--pg-control-bg);
}

.pg-gallery__play svg {
  display: block;
  width: 22px;
  height: 22px;
  fill: currentColor;
}

/* Pause icon while the timer runs, play icon while it's stopped */
.pg-gallery__icon-play,
.pg-gallery.is-stopped .pg-gallery__icon-pause {
  display: none !important;
}

.pg-gallery.is-stopped .pg-gallery__icon-play {
  display: block !important;
}

.pg-gallery:not(.is-autoplay) .pg-gallery__play {
  display: none;
}

.pg-gallery__dot:focus-visible,
.pg-gallery__play:focus-visible,
.pg-gallery__close:focus-visible {
  outline: 2px solid var(--pg-accent);
  outline-offset: 2px;
}

/* Full screen (clicking an image) */
.pg-gallery__image {
  cursor: zoom-in;
}

.pg-gallery__close {
  display: none;
}

.pg-gallery-open {
  overflow: hidden; /* the page behind doesn't scroll */
}

.pg-gallery.is-fullscreen {
  --pg-slide-width: 100%;
  --pg-gap: 48px;
  position: fixed;
  z-index: 100000; /* above the admin bar and the sticky buy bar */
  inset: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 24px;
  background-color: var(--pg-page-bg); /* not the image color, so the rounded corners show */
}

.pg-gallery.is-fullscreen .pg-gallery__viewport {
  flex: 1;
  min-height: 0;
  touch-action: none; /* pinch zoom and swipes are handled by the script */
}

.pg-gallery.is-fullscreen .pg-gallery__track {
  height: 100%;
}

.pg-gallery.is-fullscreen .pg-gallery__slide {
  container-type: size; /* for the image size below */
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: auto;
  height: 100%;
  overflow: visible;
  border-radius: 0;
  background: none;
}

/* The whole image, as large as fits, with the rounded corners on the image itself. Sized from
   the slide and the image's shape (--pg-ratio, set by the script), not from the file the
   browser loaded, which can be smaller than the screen. */
.pg-gallery.is-fullscreen .pg-gallery__image {
  width: min(100cqw, 100cqh * var(--pg-ratio, 16 / 9));
  height: auto;
  max-width: none;
  max-height: none;
  aspect-ratio: var(--pg-ratio, 16 / 9);
  border-radius: var(--pg-radius);
  background-color: var(--pg-image-bg);
  cursor: inherit;
  transform-origin: 0 0; /* pinch zoom (js/product-gallery.js) */
}

.pg-gallery.is-fullscreen .pg-gallery__controls {
  width: 100%;
  margin-top: 16px;
}

.pg-gallery.is-fullscreen .pg-gallery__close {
  position: absolute;
  top: 24px;
  right: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 0;
  border-radius: 32px;
  background-color: var(--pg-control-bg);
  box-shadow: rgba(0, 0, 0, .11) 0 0 1px 0 inset;
  color: var(--pg-control-ink);
  cursor: pointer;
}

.pg-gallery__close span {
  font-size: 1.7143rem; /* the theme sets spans to 14px */
  line-height: 1;
}



@media screen and (max-width:38.75em) {
  .pg-product {
    --pg-radius: 16px;
    --pg-gap: 16px;
    --pg-slide-width: 100%;
  }

  .pg-product__header {
    padding-top: 24px;
  }

  .pg-product__title {
    margin-bottom: 24px;
    font-size: 2rem;
  }

  .pg-product__buy {
    margin-bottom: 24px;
  }

  /* Phones: the gallery runs closer to the screen edges than the text, for bigger images. */
  .pg-product .pg-gallery-wrap {
    padding-right: 16px;
    padding-left: 16px;
  }

  .pg-gallery__dots,
  .pg-gallery__play {
    min-width: 48px;
    min-height: 48px;
  }

  .pg-gallery.is-fullscreen {
    padding: 16px;
  }

  .pg-gallery.is-fullscreen .pg-gallery__close {
    top: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
  }

  .pg-gallery__dot {
    --pg-dot-pad: 6px;
  }

  .pg-gallery__dot[aria-current="true"]::before {
    width: 32px;
  }

  /* 10+ images: tighter dots so the row still fits a phone screen */
  .pg-gallery--many .pg-gallery__dot {
    --pg-dot-pad: 3px;
  }

  .pg-gallery--many .pg-gallery__dot[aria-current="true"]::before {
    width: 28px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .pg-gallery__track,
  .pg-gallery__dot::before {
    transition: none;
  }
}

/* ==========================================================================
   Product cards: the [downloads] grids on the home and category pages and
   "You may also like" on product pages (edd_templates/shortcode-download.php,
   inc/product-cards.php, js/product-cards.js)
   ========================================================================== */

/* Equal cards, as many per row as fit */
.edd_downloads_list:has(> .pg-card),
.pg-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)) !important;
  gap: 32px 20px !important; /* rows: room for a hovered card growing up and down */
  padding: 0 !important;
}

.pg-related {
  margin-top: 64px;
}

@media screen and (max-width:38.75em) {
  .pg-related {
    margin-top: 40px;
  }
}

.pg-related__title {
  margin: 0 0 24px !important;
  font-size: 1.7143rem;
  font-weight: 400;
  line-height: 1.2;
}

.pg-card-grid {
  margin: 0 !important;
  list-style: none;
}

/* Search results: pages and posts (no images) as links above the product cards */
.pg-search-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 32px !important;
  padding: 0 !important;
  list-style: none;
}

.pg-search-links a {
  display: block;
  padding: 10px 20px;
  border: 0 !important;
  border-radius: 24px;
  background-color: var(--pg-card-bg);
  box-shadow: 2px 4px 18px 0 rgba(0, 0, 0, .05), 0 4px 12px 0 rgba(0, 0, 0, .05);
  color: var(--pg-card-ink);
  text-decoration: none;
  transition: box-shadow .3s ease-in-out;
}

.pg-search-links a:hover,
.pg-search-links a:focus-visible {
  box-shadow: 2px 8px 24px 0 rgba(0, 0, 0, .15), 0 4px 18px 0 rgba(0, 0, 0, .1);
  color: var(--pg-card-ink);
}

.pg-card,
.pg-search-links {
  --pg-card-bg: #fff;
  --pg-card-ink: rgb(29, 29, 31);
  --pg-card-tag-bg: rgba(232, 232, 237, .7); /* the price, grey like the product page's controls */
  --pg-card-tag-ink: rgb(29, 29, 31);
}

.pg-card {
  width: auto !important;
  margin: 0;
}

@media (prefers-color-scheme:dark) {
  .pg-card,
  .pg-search-links {
    --pg-card-bg: #575757;
    --pg-card-ink: #ddd;
    --pg-card-tag-bg: rgba(255, 255, 255, .12);
    --pg-card-tag-ink: #ddd;
  }
}

/* The card is the image in its own 16:9 shape. On hover with a mouse it grows a strip under
   the image with the model's name: the card's background (::before) reaches down by the
   strip's height and the card moves up by half of it, so it grows evenly up and down into
   the gaps and nothing on the page moves. Touch screens have no hover state and always show
   the name, so there the strip is part of the card. */
.pg-card {
  --pg-card-strip: 60px; /* the name and price, with room above and below */
}

.pg-card__link {
  position: relative;
  z-index: 0;
  display: block;
  border: 0 !important;
  border-radius: 12px;
  color: var(--pg-card-ink);
  text-decoration: none;
  transition: scale .3s ease-in-out, translate .3s ease-in-out, border-radius .3s ease-in-out;
}

.pg-card__link::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background-color: var(--pg-card-bg);
  box-shadow: 2px 4px 18px 0 rgba(0, 0, 0, .05), 0 4px 12px 0 rgba(0, 0, 0, .05);
  transition: bottom .3s ease-in-out, box-shadow .3s ease-in-out;
}

/* Hover with a mouse only (a tap on a touch screen would leave it stuck); keyboard focus too */
@media (hover:hover) {
  .pg-card__link:hover {
    z-index: 2;
    color: var(--pg-card-ink);
    translate: 0 calc(var(--pg-card-strip) / -2);
    scale: 1.04;
  }

  .pg-card__link:hover::before {
    bottom: calc(-1 * var(--pg-card-strip));
    box-shadow: 2px 8px 24px 0 rgba(0, 0, 0, .15), 0 4px 18px 0 rgba(0, 0, 0, .1);
  }

  .pg-card__link:hover .pg-card__text {
    opacity: 1;
    pointer-events: auto;
    transition: opacity .2s ease-in-out .1s; /* fades in as the strip finishes growing */
  }
}

.pg-card__link:focus-visible {
  z-index: 2;
  color: var(--pg-card-ink);
  translate: 0 calc(var(--pg-card-strip) / -2);
  scale: 1.04;
}

.pg-card__link:focus-visible::before {
  bottom: calc(-1 * var(--pg-card-strip));
  box-shadow: 2px 8px 24px 0 rgba(0, 0, 0, .15), 0 4px 18px 0 rgba(0, 0, 0, .1);
}

.pg-card__link:focus-visible {
  outline: 2px solid rgb(0, 110, 255);
  outline-offset: 2px;
}

.pg-card__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  margin: 0 !important;
  border-radius: inherit;
  object-fit: cover;
  transition: border-radius .3s ease-in-out;
}

/* An image plugin (WebP Express on the live site) wraps the image in <picture>: pass the
   card's corners through it to the image */
.pg-card__link picture {
  display: block;
  border-radius: inherit;
}


/* Name strip under the image; it ignores the mouse while hidden, so it doesn't take the hover
   from the card below */
.pg-card__text {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  height: var(--pg-card-strip);
  padding: 0 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease-in-out; /* fades out before the strip shrinks */
}

.pg-card__link:focus-visible .pg-card__text {
  opacity: 1;
  pointer-events: auto;
  transition: opacity .2s ease-in-out .1s;
}

@media (hover:none) {
  .pg-card__text {
    position: static;
    opacity: 1;
    pointer-events: auto;
  }

  .pg-card__image {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
}

.pg-card__title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  overflow: hidden;
  color: inherit;
  font-size: 1.1429rem;
  font-weight: 400;
  line-height: 1.3;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* The price as a tag in the buttons' colours (black, white in dark mode) */
.pg-card__price {
  flex: 0 0 auto;
  padding: 6px 12px;
  border-radius: var(--btn-border-radius);
  background-color: var(--pg-card-tag-bg);
  color: var(--pg-card-tag-ink);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
}

/* A model in the bag: EDD's "Added to cart" check in place of the price tag, larger and without
   the tag's background (inc/cart-link.php keeps .is-in-cart up to date) */
.pg-card__added {
  display: none;
  width: 1.5rem;
  height: 1.5rem;
  fill: var(--success);
}

.pg-card__link.is-in-cart .pg-card__price {
  padding: 0;
  background-color: transparent;
}

.pg-card__link:not(.is-in-cart) .pg-card__added-text,
.pg-card__link.is-in-cart .pg-card__amount {
  display: none;
}

.pg-card__link.is-in-cart .pg-card__added {
  display: block;
}

@media (prefers-reduced-motion:reduce) {
  .pg-card__link,
  .pg-card__link::before,
  .pg-card__image,
  .pg-card__text,
  .pg-card__link:hover .pg-card__text,
  .pg-card__link:focus-visible .pg-card__text {
    transition: none;
  }
}

/* ==========================================================================
   Footer: room above it on every page
   ========================================================================== */

.site-footer {
  margin-top: 64px;
}

@media screen and (max-width:38.75em) {
  .site-footer {
    margin-top: 40px;
  }
}

/* ==========================================================================
   Page content: the same padding on all four sides (percentages are of the
   width for top and bottom too), matching the theme's side padding at each width
   ========================================================================== */

.entry-content {
  padding: 7.6923%;
}

@media screen and (min-width:38.75em) {
  .entry-content {
    padding: 9.0909%;
  }
}

@media screen and (min-width:59.6875em) {
  .entry-content {
    padding: 10%;
  }
}

@media screen and (min-width:960px) {
  .entry-content {
    padding: 3%;
  }
}

/* The footer's text starts where the page's does; the right keeps the theme's padding. Below
   59.6875em the theme pads .site-footer with the same percentages as the content, so only
   .site-info's extra left padding goes; above it the footer has no padding of its own. */
.site-footer .site-info {
  padding-left: 0;
}

/* Tablets: the content's padding steps up to 9.0909% before the footer's does */
@media screen and (min-width:38.75em) and (max-width:59.6875em) {
  .site-footer {
    padding-left: 9.0909%;
  }
}

@media screen and (min-width:59.6875em) {
  .site-footer .site-info {
    padding-left: 10%;
  }
}

@media screen and (min-width:960px) {
  .site-footer .site-info {
    padding-left: 3%;
  }
}

/* Short pages: the content stretches so the footer sits at the bottom of the screen. 41.475rem is
   about what's above the content (title) and the footer below it on desktop; on phones the
   footer alone is taller than the screen. */
.entry-content {
  min-height: calc(100vh - 41.475rem);
  min-height: calc(100svh - 41.475rem);
}

/* ==========================================================================
   Checkout (EDD checkout block): rounded fields, the placeholder as the label
   (1rem is 8.4px in this theme: 5.5rem ≈ 46px, 3.8rem ≈ 32px, 1.9rem ≈ 16px)
   ========================================================================== */

/* Both IDs: EDD's block stylesheet sets the padding with #edd_purchase_form plus classes.
   The sidebar's search box gets the same shape. Text in both is the body text's 14px. */
#edd_checkout_form_wrap #edd_purchase_form .edd-blocks-form__group input.edd-input,
.widget_search input.search-field {
  height: 2.8875rem;
  padding: 0 .9975rem;
  border-radius: 1.995rem;
  font-size: 1rem;
}

.widget_search .search-form label {
  display: block;
}

.widget_search input.search-field {
  width: 100%;
}

/* The fields show their name as a placeholder; the label and the hint under the field stay
   for screen readers only */
#edd_checkout_form_wrap .edd-blocks-form__group > label.edd-label,
#edd_checkout_form_wrap .edd-blocks-form__group > .edd-description {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* The cart, and its product images (printed at 200px, see functions.php) */
#edd_checkout_cart {
  max-width: 600px; /* the same width as the form's fields */
}

#edd_checkout_cart .edd_cart_item_image img {
  width: 200px;
  height: auto;
  border-radius: 6px;
}

/* The image's link to the product page (functions.php) covers the product name too */
#edd_checkout_cart .edd_checkout_cart_item_title {
  position: relative;
}

#edd_checkout_cart .pg-checkout-item-link {
  border: 0 !important;
}

#edd_checkout_cart .pg-checkout-item-link::after {
  content: "";
  position: absolute;
  inset: 0;
}

/* Small screens: image, name and price on one row (EDD lets the row wrap, with the price on a
   line of its own) */
@media screen and (max-width:38.75em) {
  #edd_checkout_cart .edd-blocks-cart__row-item {
    flex-wrap: nowrap;
  }

  #edd_checkout_cart .edd-blocks-cart__row-item > .edd_cart_item_name {
    flex: 1 1 auto;
    min-width: 0;
  }

  #edd_checkout_cart .edd-blocks-cart__row-item > .edd_cart_item_price {
    flex: 0 0 auto;
  }

  #edd_checkout_cart .edd_cart_item_image {
    flex: none; /* a long name wraps instead of squeezing the image */
  }

  #edd_checkout_cart .edd_cart_item_image img {
    width: 72px;
  }
}

/* .9975rem ≈ 16px between the fields (EDD lays them out as a grid with a 1.25rem gap) */
#edd_checkout_form_wrap #edd_purchase_form fieldset.edd-blocks-form {
  gap: .9975rem;
}

/* No box around the cart and no column titles: just the products, a line between them and one
   above the total */
#edd_checkout_form_wrap #edd_checkout_cart {
  border: 0;
}

#edd_checkout_form_wrap #edd_checkout_cart .edd_cart_header_row {
  display: none;
}

#edd_checkout_form_wrap #edd_checkout_cart .edd-blocks-cart__row {
  padding-right: 0;
  padding-left: 0;
}

#edd_checkout_form_wrap #edd_checkout_cart .edd-blocks-cart__items {
  border-color: rgba(128, 128, 128, .3);
}

#edd_checkout_form_wrap #edd_checkout_cart .edd-blocks-cart__row-item + .edd-blocks-cart__row-item {
  border-top: 1px solid rgba(128, 128, 128, .3);
}

/* The remove button: EDD draws its bin as a background image, which can't take the text colour,
   so it's drawn as a mask filled with the price's colour, bigger, with a 32px tap area */
#edd_checkout_form_wrap #edd_checkout_cart .edd-blocks-cart__action-remove {
  width: 32px;
  height: 32px;
  margin-right: -6px; /* the bin lines up with the edge, not its tap area */
  border: 0;
  background: currentColor;
  color: inherit;
  opacity: .7;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3'/%3E%3C/svg%3E") center / 20px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3'/%3E%3C/svg%3E") center / 20px no-repeat;
}

#edd_checkout_form_wrap #edd_checkout_cart .edd-blocks-cart__action-remove:hover,
#edd_checkout_form_wrap #edd_checkout_cart .edd-blocks-cart__action-remove:focus-visible {
  opacity: 1;
}

/* The form as wide as the cart, without a box; its title reads as a heading */
#edd_checkout_form_wrap #edd_purchase_form {
  max-width: 600px;
}

#edd_checkout_form_wrap #edd_purchase_form fieldset {
  margin-right: 0;
  margin-left: 0;
  padding: 0;
  border: 0;
}

/* An older rule caps the fields at 640px */
.wp-block-edd-checkout #edd_purchase_form .edd-blocks-form div {
  max-width: none !important;
}

#edd_checkout_form_wrap #edd_purchase_form .edd-blocks-form legend,
#edd_checkout_form_wrap .pg-checkout-heading {
  /* Sizes: the theme's h3 (.entry-content h3 rules), a step below the page title */
  margin: 0 0 24px;
  padding: 0;
  font-weight: 400;
}

/* The fields stop at 600px; the form around them stays as wide as the cart */
#edd_checkout_form_wrap #edd_purchase_form .edd-blocks-form__group input.edd-input {
  max-width: 600px;
}

/* More room between the terms checkbox and the Purchase button (EDD puts the terms inside the
   button's fieldset): 2.8rem ≈ 24px on top of EDD's own spacing, about 48px in all */
#edd_checkout_form_wrap #edd_purchase_form #edd_terms_agreement {
  max-width: 600px; /* the terms, their link and the checkbox line up with the fields */
  margin-bottom: 1.47rem;
}

/* "I agree to the Terms and conditions…": regular text, like the terms above it (labels are bold) */
#edd_checkout_form_wrap #edd_purchase_form .edd-terms-agreement label {
  font-weight: 400;
}

/* ==========================================================================
   Cart link on small screens, next to the menu button (inc/cart-link.php)
   ========================================================================== */

.pg-cart-link {
  display: none;
}

@media screen and (max-width:59.6875em) {
  .pg-cart-link {
    position: absolute;
    top: 50%;
    right: 52px; /* the menu button (42px) and a 10px gap */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 0 !important;
    color: #3e3e3e; /* the menu button's lines */
    transform: translateY(-50%);
  }

  .pg-cart-link svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
  }

  .pg-cart-link__count {
    position: absolute;
    top: 2px;
    right: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background-color: rgb(0, 110, 255);
    color: #fff;
    font-size: .7857rem;
    font-weight: 600;
    line-height: 19px; /* a pixel over the badge's height: Onest's digits sit high, this centres them */
    text-align: center;
  }

  .pg-cart-link[data-count="0"] .pg-cart-link__count {
    display: none;
  }
}

@media (prefers-color-scheme:dark) {
  .pg-cart-link {
    color: #aaa;
  }
}

/* ==========================================================================
   Top bar on small screens (js/sticky-header.js): the sidebar (the bar and the menu under it)
   is sticky at the top of the screen; on scroll down the script slides it up out of sight
   (.is-hidden) and on scroll up it slides back, so the menu, the cart and the home link are one
   short swipe away on long pages. It never leaves its place in the page, so nothing jumps.
   The script sets its top (below a fixed admin bar).
   ========================================================================== */

@media screen and (max-width:59.6875em) {
  .sidebar {
    position: sticky;
    top: 0;
    z-index: 20;
    transition: transform .25s ease-out;
  }

  .sidebar.is-hidden {
    transform: translateY(-100%);
  }

  .sidebar.is-raised .site-header {
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sidebar {
    transition: none;
  }
}

/* ==========================================================================
   Sidebar cart (EDD cart widget): only the Checkout button, with the cart icon and the number
   of models (edd_templates/widget-cart-*.php), and nothing at all while the cart is empty. The
   count line, the items, the total and the "Your cart is empty." line stay in the markup for
   EDD's script, hidden; !important because the script shows them inline.
   ========================================================================== */

.widget_edd_cart_widget .edd-cart-number-of-items,
.widget_edd_cart_widget .edd-cart-item,
.widget_edd_cart_widget .edd-cart-meta,
.widget_edd_cart_widget .cart_item.empty {
  display: none !important;
}

/* The button fills the 150px sidebar column; less side padding than other buttons (theirs is
   set with !important) so the icon, the word and the badge fit */
.widget_edd_cart_widget .edd_checkout .pg-cart-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px; /* room for the badge on the icon */
  padding-right: 12px !important;
  padding-left: 12px !important;
}

/* The theme's older icon font glyph; the SVG replaces it */
.widget_edd_cart_widget .edd_checkout .pg-cart-button::before {
  content: none;
}

.pg-cart-button__icon {
  position: relative;
  flex: none;
  line-height: 0;
}

.pg-cart-button svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

/* The same blue badge as the cart link on small screens, on the icon's top right corner */
.pg-cart-button__count {
  position: absolute;
  top: -9px;
  right: -11px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background-color: rgb(0, 110, 255);
  color: #fff;
  font-size: .7857rem;
  font-weight: 600;
  line-height: 19px; /* a pixel over the badge's height: Onest's digits sit high, this centres them */
  text-align: center;
}

/* ==========================================================================
   Dark mode: the menu's chevrons and the underline under links in page text (the Terms and
   conditions link at checkout, for one) were fixed at #333; they take the text colour instead
   ========================================================================== */

@media (prefers-color-scheme:dark) {
  .dropdown-toggle:after {
    color: inherit;
  }

  .comment-content a,
  .entry-content a,
  .entry-summary a,
  .page-content a,
  .pingback .comment-body > a,
  .textwidget a,
  .author-description a {
    border-bottom-color: currentColor;
  }
}

/* ==========================================================================
   Contact form (Fluent Forms): the same fields as the checkout form, the placeholder as the
   label, and the theme's button. Fluent's own field rules are .ff-default .ff-el-form-control,
   its button colours an inline style with three classes, so these go one class higher.
   ========================================================================== */

/* The label stays for screen readers only */
.fluentform .ff-el-group > .ff-el-input--label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.fluentform .ff-el-group {
  margin-bottom: .9975rem; /* ≈ 16px, as at checkout */
}

.fluentform .ff-el-group .ff-el-form-control {
  max-width: 600px;
  height: 2.8875rem;
  padding: 0 .9975rem;
  border: 1px solid rgba(51, 51, 51, .1);
  border-radius: 1.995rem;
  background-color: #f7f7f7;
  box-shadow: none;
  color: rgba(51, 51, 51, .7);
  font-size: 1rem;
}

.fluentform .ff-el-group textarea.ff-el-form-control {
  height: auto;
  min-height: 7.35rem;
  padding: .84rem .9975rem;
  border-radius: 7px; /* Fluent's own corners; the pill shape doesn't suit a tall box */
}

.fluentform .ff-el-group .ff-el-form-control:focus {
  border-color: rgba(51, 51, 51, .3);
  background-color: #fff;
  outline: none;
}

@media (prefers-color-scheme:dark) {
  .fluentform .ff-el-group .ff-el-form-control {
    background-color: #333;
    color: #aaa;
  }

  .fluentform .ff-el-group .ff-el-form-control:focus {
    background-color: #4f4f4f;
  }
}

/* The theme's button (as Purchase and Add to bag) */
.fluentform form.frm-fluent-form .ff-btn-submit.ff-btn {
  padding: var(--btn-padding);
  border: 0;
  border-radius: var(--btn-border-radius);
  background: var(--btn-bg);
  color: var(--btn-color);
  font-size: var(--btn-font-size);
  font-weight: 400;
  line-height: var(--btn-line-height);
  text-transform: none;
}

.fluentform form.frm-fluent-form .ff-btn-submit.ff-btn:hover,
.fluentform form.frm-fluent-form .ff-btn-submit.ff-btn:focus {
  border: 0;
  background: color-mix(in srgb, var(--btn-bg), white 20%);
  color: var(--btn-color);
}

/* ==========================================================================
   Sticky buy bar (js/buy-bar.js): a rounded, frosted bar floating near the top of the
   screen, centred over the page content (the script sets its width, top and left edge): the
   button with its price label, the name centred, the image on the right. Near "You may also
   like" it rests above that section
   (.is-resting, absolutely placed by the script) and scrolls with the page.
   Overrides the theme's older full-width .fix bar.
   ========================================================================== */

.pg-product__buy .edd_download_purchase_form.fix {
  position: fixed !important;
  top: 20px;
  bottom: auto;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 16px;
  box-sizing: border-box;
  height: auto;
  margin: 0 !important;
  padding: 12px 14px 12px 12px;
  border-radius: 999px;
  background-color: rgba(236, 236, 240, .82);
  box-shadow: 0 6px 24px rgba(0, 0, 0, .12);
  transition: none; /* the theme's "all .3s" would animate the move between floating and resting */
  -webkit-backdrop-filter: saturate(1.6) blur(20px);
  backdrop-filter: saturate(1.6) blur(20px);
  animation: pg-buy-bar-in .25s ease-out;
}

.pg-product__buy .edd_download_purchase_form.fix.is-resting {
  position: absolute !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}

/* Small screens: while the top bar is in view (js/sticky-header.js), the floating bar slides
   below it, in step with the top bar (translate, so it doesn't fight the bar's fade-in transform) */
@media screen and (max-width:59.6875em) {
  .pg-product__buy .edd_download_purchase_form.fix {
    transition: translate .25s ease-out;
  }

  .pg-header-shown .pg-product__buy .edd_download_purchase_form.fix:not(.is-resting) {
    translate: 0 var(--pg-header-h, 0px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pg-product__buy .edd_download_purchase_form.fix {
    transition: none;
  }
}

@keyframes pg-buy-bar-in {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .pg-product__buy .edd_download_purchase_form.fix {
    animation: none;
  }
}

.pg-product__buy .edd_download_purchase_form.fix #buttonThumbnail {
  order: 2;
  flex: none;
  width: 80px;
  height: 45px;
  border-radius: 999px;
  opacity: 1;
}

.pg-product__buy .edd_download_purchase_form.fix #buttonText {
  order: 1;
  display: block; /* the theme's older bar hides it below 500px */
  flex: 1 1 auto;
  min-width: 0;
  color: #1d1d1f;
  line-height: 1.3;
  text-align: center;
}

.pg-product__buy .edd_download_purchase_form.fix .pg-buy-bar__name {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pg-product__buy .edd_download_purchase_form.fix .pg-buy-bar__name {
  font-size: 1.1429rem;
  font-weight: 600;
}

.pg-product__buy .edd_download_purchase_form.fix .edd_purchase_submit_wrapper {
  order: 0;
  flex: none;
}

@media (prefers-color-scheme:dark) {
  .pg-product__buy .edd_download_purchase_form.fix {
    background-color: rgba(44, 44, 46, .82);
    box-shadow: 0 6px 24px rgba(0, 0, 0, .35);
  }

  .pg-product__buy .edd_download_purchase_form.fix #buttonText {
    color: #f2f2f2;
  }
}

/* Phones: a smaller image and name, a compact button */
@media screen and (max-width:38.75em) {
  .pg-product__buy .edd_download_purchase_form.fix {
    gap: 10px;
    padding: 8px 10px 8px 8px;
  }

  .pg-product__buy .edd_download_purchase_form.fix #buttonThumbnail {
    width: 56px;
    height: 32px;
  }

  /* The button keeps its full price label, so the name may take two lines */
  .pg-product__buy .edd_download_purchase_form.fix .pg-buy-bar__name {
    display: -webkit-box;
    font-size: .9286rem;
    line-height: 1.25;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .pg-product__buy .edd_download_purchase_form.fix .edd-submit {
    padding: 10px 14px !important;
    font-size: .9286rem;
  }
}

/* Room above "You may also like" for the resting bar */
.pg-product .pg-related {
  margin-top: 140px;
}

@media screen and (max-width:38.75em) {
  .pg-product .pg-related {
    margin-top: 112px;
  }
}

/* With the previous / next links shown, the bar rests above them (js/buy-bar.js): the room moves
   there, and the links keep a clear distance from "You may also like" */
.pg-product .pg-product-nav:not([hidden]) {
  margin-top: 140px;
}

.pg-product .pg-product-nav:not([hidden]) + .pg-related {
  margin-top: 96px;
}

@media screen and (max-width:38.75em) {
  .pg-product .pg-product-nav:not([hidden]) {
    margin-top: 112px;
  }

  .pg-product .pg-product-nav:not([hidden]) + .pg-related {
    margin-top: 64px;
  }
}

/* "Recently viewed" (js/recently-viewed.js): under "You may also like", with the theme's usual
   section gap rather than the room left for the resting buy bar */
.pg-product .pg-recent {
  margin-top: 64px;
}

.pg-recent[hidden] {
  display: none;
}

@media screen and (max-width:38.75em) {
  .pg-product .pg-recent {
    margin-top: 40px;
  }
}

/* ==========================================================================
   Pagination (store grids: EDD .edd_pagination; search and archives: .pagination): plain
   numbers, the current page in a circle with the buttons' colours (black in light mode, white
   in dark mode), chevrons for previous / next (inc/pagination.php).
   ========================================================================== */

.edd_pagination,
.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 0;
  padding: 5.25rem 0;
  line-height: 1 !important;
}

.pagination {
  border: 0;
  background: none;
}

.edd_pagination .page-numbers,
.pagination .nav-links .page-numbers {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  background: none;
  color: #5c6378;
  font-size: var(--btn-font-size);
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  border: 0 !important; /* not the old boxed numbers or the content-link underline */
  box-shadow: none;
  cursor: pointer;
  transition: background-color .15s, color .15s;
}

.pagination .nav-links .page-numbers:before {
  content: none;
}

.edd_pagination a.page-numbers:hover,
.edd_pagination a.page-numbers:focus-visible,
.pagination .nav-links a.page-numbers:hover,
.pagination .nav-links a.page-numbers:focus-visible {
  background-color: rgba(0, 0, 0, .06);
  color: #000;
}

.edd_pagination .page-numbers.current,
.pagination .nav-links .page-numbers.current {
  background-color: var(--btn-bg);
  color: var(--btn-color);
}

.pagination .nav-links .current .screen-reader-text {
  position: absolute !important;
}

.edd_pagination .page-numbers.current,
.edd_pagination .page-numbers.dots,
.pagination .nav-links .page-numbers.current,
.pagination .nav-links .page-numbers.dots {
  cursor: default;
}

.edd_pagination .page-numbers.dots,
.pagination .nav-links .page-numbers.dots {
  width: auto;
  padding: 0 .25rem;
}

.pg-chevron {
  width: 1.5rem;
  height: 1.5rem;
}

@media (prefers-color-scheme:dark) {
  .edd_pagination .page-numbers,
  .pagination .nav-links .page-numbers {
    color: #a1a1a6;
  }

  .edd_pagination a.page-numbers:hover,
  .edd_pagination a.page-numbers:focus-visible,
  .pagination .nav-links a.page-numbers:hover,
  .pagination .nav-links a.page-numbers:focus-visible {
    background-color: rgba(255, 255, 255, .1);
    color: #fff;
  }
}

/* Phones: one row; the circles shrink evenly when there are many page links */
@media screen and (max-width:38.75em) {
  .edd_pagination,
  .pagination .nav-links {
    flex-wrap: nowrap;
    gap: .125rem;
    padding: 2.625rem 0;
  }

  .edd_pagination .page-numbers,
  .pagination .nav-links .page-numbers {
    flex: 0 1 2.5rem;
    width: auto;
    height: auto;
    min-width: 0;
    aspect-ratio: 1;
  }

  .edd_pagination .page-numbers.dots,
  .pagination .nav-links .page-numbers.dots {
    flex: none;
    aspect-ratio: auto;
  }
}

/* ==========================================================================
   "Load more models" under the store grids (js/load-more.js): the count, then a button in the
   buy button's style. Hidden until the script swaps it in for the page links.
   ========================================================================== */

.pg-load-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 4rem 0 5.25rem;
}

.pg-load-more[hidden],
.pg-load-more__button[hidden],
.edd_pagination[hidden] {
  display: none;
}

.pg-load-more__count {
  margin: 0;
  color: #6e6e73;
  font-size: .875rem;
}

.pg-load-more__button {
  min-width: 14rem;
  border: 0;
  border-radius: var(--btn-border-radius);
  padding: var(--btn-padding);
  background: var(--btn-bg);
  color: var(--btn-color);
  font-size: var(--btn-font-size);
  line-height: var(--btn-line-height);
}

.pg-load-more__button:hover,
.pg-load-more__button:focus-visible {
  background: color-mix(in srgb, var(--btn-bg), white 20%);
  color: var(--btn-color);
}

.pg-load-more__button:disabled {
  cursor: progress;
  opacity: .7;
}

@media (prefers-color-scheme:dark) {
  .pg-load-more__count {
    color: #a1a1a6;
  }
}

@media screen and (max-width:38.75em) {
  .pg-load-more {
    padding: 2.5rem 0 2.625rem;
  }

  .pg-load-more__button {
    width: 100%;
  }
}

/* ==========================================================================
   Phones: product cards 12px apart.
   ========================================================================== */

@media screen and (max-width:38.75em) {
  .edd_downloads_list:has(> .pg-card),
  .pg-card-grid {
    gap: .75rem !important;
  }
}

/* ==========================================================================
   "You may also like" and "Recently viewed": one row of cards that scrolls sideways, at every
   width (js/card-rows.js adds previous / next buttons for mouse users). On desktop and tablets
   the row shows whole cards only, the same size as the store grids (as many 280px-or-wider
   cards as fit, 20px apart), filling the content width; on phones the next card peeks in, a
   hint to swipe.

   A scroll box clips whatever sticks out of it, so the row gets room inside it for what a card
   does on hover (lift 22px, grow 4%, a 44px name strip below, a bigger shadow); negative
   margins of the same size keep the cards where they'd be without it.
   ========================================================================== */

.pg-related .pg-card-grid {
  --pg-row-side: 20px; /* within the content's side padding, so the page doesn't get wider */
  --pg-row-top: 44px;
  --pg-row-bottom: 56px;
  grid-template-columns: none !important;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: 20px !important;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  margin: calc(-1 * var(--pg-row-top)) calc(-1 * var(--pg-row-side)) calc(-1 * var(--pg-row-bottom)) !important;
  padding: var(--pg-row-top) var(--pg-row-side) var(--pg-row-bottom) !important;
  scroll-padding-inline: var(--pg-row-side);
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.pg-related .pg-card-grid::-webkit-scrollbar {
  display: none;
}

.pg-related .pg-card {
  scroll-snap-align: start;
}

.pg-related {
  container-type: inline-size;
}

/* The store grids' rule (repeat(auto-fill, minmax(280px, 1fr)), 20px apart) for a single row:
   n cards fit from n x 280px + (n - 1) x 20px of content width */
@container (min-width: 580px) {
  .pg-related .pg-card-grid { grid-auto-columns: calc((100% - 20px) / 2); }
}

@container (min-width: 880px) {
  .pg-related .pg-card-grid { grid-auto-columns: calc((100% - 2 * 20px) / 3); }
}

@container (min-width: 1180px) {
  .pg-related .pg-card-grid { grid-auto-columns: calc((100% - 3 * 20px) / 4); }
}

@container (min-width: 1480px) {
  .pg-related .pg-card-grid { grid-auto-columns: calc((100% - 4 * 20px) / 5); }
}

@container (min-width: 1780px) {
  .pg-related .pg-card-grid { grid-auto-columns: calc((100% - 5 * 20px) / 6); }
}

@container (min-width: 2080px) {
  .pg-related .pg-card-grid { grid-auto-columns: calc((100% - 6 * 20px) / 7); }
}

/* Touch screens: no hover, so only room for the shadow */
@media (hover:none) {
  .pg-related .pg-card-grid {
    --pg-row-top: 4px;
    --pg-row-bottom: 12px;
  }
}

/* Phones: cards 12px apart, most of a card plus the next one peeking in, and the row runs to
   the screen edges (the content's side padding is 7.6923% of the screen width at this size) */
@media screen and (max-width:38.75em) {
  .pg-related .pg-card-grid {
    --pg-row-side: 7.6923vw;
    grid-auto-columns: 78%;
    gap: .75rem !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .pg-related .pg-card-grid {
    scroll-behavior: auto;
  }
}

/* Heading with the previous / next buttons (added by js/card-rows.js for mouse users). It sits
   on its own layer above the row: the row's room for hovered cards reaches up behind the
   heading, and Safari puts a scrolling box above earlier content, which left only the top of
   the buttons clickable. */
.pg-related__head {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 24px;
}

.pg-related__head .pg-related__title {
  margin: 0 !important;
}

.pg-row-nav {
  display: flex;
  flex: none;
  gap: .25rem;
}

.pg-row-nav[hidden] {
  display: none;
}

.pg-row-nav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: #5c6378;
  transition: background-color .15s, color .15s;
}

.pg-row-nav button:hover:not(:disabled),
.pg-row-nav button:focus-visible {
  background-color: rgba(0, 0, 0, .06);
  color: #000;
}

.pg-row-nav button:disabled {
  cursor: default;
  opacity: .35;
}

@media (prefers-color-scheme:dark) {
  .pg-row-nav button {
    color: #a1a1a6;
  }

  .pg-row-nav button:hover:not(:disabled),
  .pg-row-nav button:focus-visible {
    background-color: rgba(255, 255, 255, .1);
    color: #fff;
  }
}

/* Full screen on phones, upright or sideways (a sideways phone is wide but short): a compact
   row of controls right under the image, and the same space under the controls as above the
   image, clear of the notch and the home bar. */
@media screen and (max-width:38.75em), screen and (max-height:30em) {
  .pg-gallery.is-fullscreen {
    --pg-full-pad: 12px;
    padding: max(var(--pg-full-pad), env(safe-area-inset-top)) max(var(--pg-full-pad), env(safe-area-inset-right)) max(var(--pg-full-pad), env(safe-area-inset-bottom)) max(var(--pg-full-pad), env(safe-area-inset-left));
  }

  .pg-gallery.is-fullscreen .pg-gallery__controls {
    margin-top: 0;
  }

  .pg-gallery.is-fullscreen .pg-gallery__dots,
  .pg-gallery.is-fullscreen .pg-gallery__play {
    min-width: 40px;
    min-height: 40px;
  }

  .pg-gallery.is-fullscreen .pg-gallery__close {
    top: max(var(--pg-full-pad), env(safe-area-inset-top));
    right: max(var(--pg-full-pad), env(safe-area-inset-right));
    width: 44px;
    height: 44px;
  }
}

/* ==========================================================================
   Block editor buttons (the About page's category links): the theme's button, as the buy
   button (black in light mode, white in dark mode), whichever style the block has.
   ========================================================================== */

.wp-block-button .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):not(.has-background) {
  border: 0 !important; /* not the outline style's border or the content-link underline */
  border-radius: var(--btn-border-radius);
  padding: var(--btn-padding);
  background: var(--btn-bg);
  color: var(--btn-color);
  font-size: var(--btn-font-size);
  font-weight: 400;
  line-height: var(--btn-line-height);
  text-decoration: none;
  text-transform: none;
}

.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus-visible,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):not(.has-background):hover {
  background: color-mix(in srgb, var(--btn-bg), white 20%);
  color: var(--btn-color);
}

/* ==========================================================================
   Embedded videos on product pages (block editor video embeds, under the "Video preview" title
   from inc/product-video.php): in the video's own shape (WordPress marks it on the block, e.g.
   wp-embed-aspect-4-3; 16:9 when it doesn't), up to 640px wide and never taller than 85% of
   the window, with the gallery's rounded corners and the product cards' shadow.
   ========================================================================== */

.wp-block-embed.is-type-video {
  --pg-embed-ratio: 1.7778; /* 16:9 */
  margin: 0 0 1.6em;
}

.wp-block-embed.wp-embed-aspect-21-9 { --pg-embed-ratio: 2.3333; }
.wp-block-embed.wp-embed-aspect-18-9 { --pg-embed-ratio: 2; }
.wp-block-embed.wp-embed-aspect-4-3 { --pg-embed-ratio: 1.3333; }
.wp-block-embed.wp-embed-aspect-1-1 { --pg-embed-ratio: 1; }
.wp-block-embed.wp-embed-aspect-9-16 { --pg-embed-ratio: .5625; }
.wp-block-embed.wp-embed-aspect-1-2 { --pg-embed-ratio: .5; }

.wp-block-embed.is-type-video iframe,
.pg-video__player {
  display: block;
  width: min(100%, 640px, 85vh * var(--pg-embed-ratio));
  width: min(100%, 640px, 85svh * var(--pg-embed-ratio));
  height: auto;
  margin: 0;
  aspect-ratio: var(--pg-embed-ratio);
  border: 0;
  border-radius: var(--pg-radius, 28px);
  background-color: #000;
  box-shadow: 2px 4px 18px 0 rgba(0, 0, 0, .05), 0 4px 12px 0 rgba(0, 0, 0, .05); /* as the product cards */
}

/* YouTube videos: the picture and a play button until pressed (inc/product-video.php), then
   the player in the same box */
.pg-video__player {
  position: relative;
  overflow: hidden;
}

.pg-video__player iframe,
.pg-video__play {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

.pg-video__play {
  display: block;
  padding: 0;
  border: 0;
  background: #000;
  cursor: pointer;
}

.pg-video__poster {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; /* the picture's shape can differ from the video's: fill the box */
}

/* Older videos are 4:3 with the 16:9 picture letterboxed in: until played, a 16:9 box with the
   stripes cut off the picture; playing, the video's own shape (js/product-video.js) */
[data-play-ratio] .pg-video__player {
  transition: aspect-ratio .3s;
}

.pg-video__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background-color: var(--pg-control-bg, rgba(232, 232, 237, .7));
  box-shadow: rgba(0, 0, 0, .11) 0 0 1px 0 inset;
  color: var(--pg-control-ink, #1d1d1f);
  translate: -50% -50%;
  transition: scale .2s ease-in-out;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.pg-video__icon svg {
  margin-left: 4px; /* the triangle looks centred */
}

.pg-video__play:hover .pg-video__icon,
.pg-video__play:focus-visible .pg-video__icon {
  scale: 1.08;
}

.pg-video__play:focus-visible {
  outline: 2px solid var(--pg-accent, #006eff);
  outline-offset: -4px;
}

@media screen and (max-width:38.75em) {
  .pg-video__icon {
    width: 56px;
    height: 56px;
  }
}

.pg-video {
  margin-top: 64px;
}

.pg-video__title {
  margin: 0 0 24px !important;
  font-size: 1.7143rem;
  font-weight: 400;
  line-height: 1.2;
}

@media screen and (max-width:38.75em) {
  .pg-video {
    margin-top: 40px;
  }
}

/* ==========================================================================
   Product details: description, details list, license and categories under the
   gallery, as wide as a gallery image (inc/product-details.php, img/specs)
   ========================================================================== */

.pg-product .pg-details-wrap {
  margin-bottom: 0;
  padding-top: 48px;
}

.pg-details {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  width: var(--pg-slide-width);
  font-size: 1rem;
  line-height: normal;
}

.pg-details p {
  margin: 0;
}

.pg-details__group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pg-details__title {
  margin: 0 !important;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: normal;
}

.pg-specs,
.pg-tags {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pg-specs {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pg-specs__item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pg-specs__icon,
.pg-specs__check {
  /* the SVG gives the shape, the text colour fills it (the check: --success), in light and dark mode */
  background-color: currentColor;
  -webkit-mask: var(--pg-icon) center / contain no-repeat;
  mask: var(--pg-icon) center / contain no-repeat;
}

.pg-specs__icon {
  flex: none;
  width: 32px;
  height: 32px;
}

.pg-specs__text {
  /* one line of text; a long value wraps under its label like a sentence */
  min-width: 0;
  overflow-wrap: anywhere;
}

.pg-specs__text strong {
  font-weight: 700;
}

/* the video link: underlined like links in page text */
.pg-specs__text a {
  border-bottom: 1px solid currentColor;
}

.pg-specs__text a:focus,
.pg-specs__text a:hover {
  border-bottom: 0;
}

.pg-specs__check {
  display: inline-block;
  background-color: var(--success);
  width: 16px;
  height: 16px;
  vertical-align: -3px;
}

.pg-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* The category pills in the blue of the category label above the product name, white text,
   lighter on hover like the buttons; smaller than a button. */
.pg-tags__link {
  display: block;
  padding: 12px 16px;
  border-radius: var(--btn-border-radius);
  background-color: var(--pg-accent);
  color: #fff;
  text-decoration: none;
  transition: background-color .2s;
}

.pg-tags__link:hover,
.pg-tags__link:focus-visible {
  background-color: color-mix(in srgb, var(--pg-accent), white 20%);
  color: #fff;
}

@media (prefers-color-scheme:dark) {
  /* the lighter dark-mode blue takes black text */
  .pg-tags__link,
  .pg-tags__link:hover,
  .pg-tags__link:focus-visible {
    color: #000;
  }
}

@media screen and (max-width:38.75em) {
  /* Phones: the text's side padding (as .entry-header), not the gallery's closer one */
  .pg-product .pg-details-wrap {
    padding-top: 32px;
    padding-right: 7.6923%;
    padding-left: 7.6923%;
  }

  .pg-details {
    gap: 2rem;
  }
}

/* ==========================================================================
   Previous / next model (inc/product-nav.php, js/product-nav.js): the theme's post navigation,
   above "You may also like", spaced like the sections around it
   ========================================================================== */

.pg-product-nav {
  margin-top: 64px;
}

/* the description's link underline doesn't belong on these */
.pg-product .pg-product-nav a,
.pg-product .pg-product-nav a:hover,
.pg-product .pg-product-nav a:focus {
  border-bottom: 0;
}

/* No outline (the theme's navigation shadow). Each side: arrow, text, image, all centred
   vertically; the image sits next to the text, on its inner side. */
.pg-product .pg-product-nav {
  box-shadow: none;
}

.pg-product-nav .nav-links {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

/* the theme's float clearfix would be an extra (empty) item in the row */
.pg-product-nav .nav-links::before,
.pg-product-nav .nav-links::after {
  content: none;
}

.pg-product-nav .nav-next,
.pg-product-nav .nav-previous {
  /* only as wide as arrow, text and image: the theme's link overlay (a::before) covers the
     whole box, so the box is what can be clicked */
  display: flex;
  flex: 0 1 auto;
  max-width: calc(50% - 12px);
  align-items: center;
  float: none;
  width: auto;
  height: auto;
  min-height: 100px;
}

.pg-product-nav .nav-previous {
  justify-content: flex-end;
  margin-left: auto; /* stays on the right when it's the only link (the first model of a list) */
}

.pg-product-nav .nav-next::before,
.pg-product-nav .nav-previous::before {
  flex: none;
  float: none;
}

.pg-product-nav .nav-previous::before {
  order: 2; /* the arrow on the outer side */
}

.pg-product-nav a {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 16px;
}

.pg-product-nav .nav-previous a {
  flex-direction: row-reverse;
}

.pg-product .pg-product-nav .pg-product-nav__image {
  flex: none;
  width: auto;
  max-width: 178px;
  height: 100px;
  margin: 0;
  object-fit: contain;
}

/* words wrap whole ("Earthmoving" doesn't break in the middle or get a hyphen) */
.pg-product-nav span {
  word-break: normal;
  overflow-wrap: normal;
  -webkit-hyphens: none;
  hyphens: none;
}

@media screen and (max-width:38.75em) {
  .pg-product-nav {
    margin-top: 40px;
  }

  /* half a phone screen per link: a smaller label, no image (as the theme's navigation) */
  .pg-product-nav .meta-nav {
    font-size: .75rem;
  }

  .pg-product-nav .nav-next,
  .pg-product-nav .nav-previous {
    min-height: 60px;
  }

  .pg-product-nav .nav-links {
    gap: 16px;
  }

  .pg-product-nav .nav-next,
  .pg-product-nav .nav-previous {
    max-width: calc(50% - 8px);
  }

  /* a slimmer arrow, so the text gets the room */
  .pg-product-nav .nav-next::before,
  .pg-product-nav .nav-previous::before {
    width: 20px;
  }

  .pg-product-nav a {
    margin: 0 8px;
  }

  .pg-product .pg-product-nav .pg-product-nav__image {
    display: none;
  }
}

/* ==========================================================================
   Polygonish v2, "Minimal" design (inc/minimal.php, header.php, front-page.php)
   A top header in place of the left sidebar on every page, and the home page's rows of models.
   Everything here is scoped to body.pg-v2.
   ========================================================================== */

:root {
  --pg-ink: #111;
  --pg-muted: #666;
  --pg-faint: #767676;  /* small numbers and counts: 4.5:1 on the page background */
  --pg-rule: rgba(0, 0, 0, .12);
  --pg-rule-soft: rgba(0, 0, 0, .08);
  --pg-wrap: 1360px;    /* the content's widest */
  --pg-side: 56px;      /* space either side of the content */
  --pg-bg: #fafafa;     /* the page */
  --pg-accent: rgb(0, 110, 255);  /* the same as the product page's (.pg-product), for every page */
  --pg-image-bg: #fff;            /* behind model images, as on the product page */
  --pg-band: #fff;                /* the one highlighted section (Rigged), a step lighter than the page */
  --pg-band-image: #f4f4f4;       /* model images inside that band */
  --pg-scrim: rgba(0, 0, 0, .32); /* over the page behind an open panel */
}

@media screen and (max-width:59.6875em) {
  :root {
    --pg-side: 32px;
  }
}

@media screen and (max-width:46.25em) {
  :root {
    --pg-side: 24px;
  }
}

@media (prefers-color-scheme:dark) {
  :root {
    --pg-ink: #eee;
    --pg-muted: #bbb;
    --pg-faint: #aaa;
    --pg-rule: rgba(255, 255, 255, .16);
    --pg-rule-soft: rgba(255, 255, 255, .1);
    --pg-bg: var(--dark-background);
    --pg-accent: rgb(110, 170, 255);
    --pg-image-bg: #575757;
    --pg-band: color-mix(in srgb, var(--pg-bg) 90%, #fff);
    --pg-band-image: #4a4a4a;
    --pg-scrim: rgba(0, 0, 0, .5);
  }
}

/* --- Layout: no sidebar column, the content centred under the header --------------------- */

body.pg-v2:before {
  display: none;
}

.pg-v2 .all-content {
  position: static;
  height: auto;
  min-height: 100%;
}

.pg-v2 .site {
  width: auto;
  max-width: none;
  margin: 0;
}

.pg-v2 .site-content,
.pg-v2 .site-footer {
  float: none;
  width: auto;
  max-width: calc(var(--pg-wrap) + 2 * var(--pg-side));
  margin: 0 auto;
  padding-right: var(--pg-side);
  padding-left: var(--pg-side);
  box-sizing: border-box;
}

/* --- Header --------------------------------------------------------------------------------- */

.pg-top {
  position: relative;
  z-index: 30;
  background-color: var(--pg-bg);
  color: var(--pg-ink);
}

.pg-top a {
  border: 0;
  color: inherit;
  text-decoration: none;
}

.pg-top a:hover,
.pg-top a:focus-visible {
  color: var(--pg-accent);
}

.pg-top__bar {
  max-width: calc(var(--pg-wrap) + 2 * var(--pg-side));
  margin: 0 auto;
  padding: 28px var(--pg-side);
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 40px;
}

.pg-top__brand {
  margin: 0;
  font-size: 1.0625rem; /* 17px */
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.01em;
}

.pg-top__brand a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
}

.pg-top__brand img {
  display: block;
  width: 32px;
  height: 32px;
}

.pg-top__nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pg-top__nav a {
  display: block;
  padding: 12px 0;
  font-size: .875rem; /* 14px */
  line-height: 1.4;
}

.pg-top__actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.pg-top__button,
.pg-v2 .pg-top .pg-cart-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--pg-ink);
  transform: none;
  cursor: pointer;
}

.pg-top__button:hover,
.pg-top__button:focus,
.pg-v2 .pg-top .pg-cart-link:hover {
  background: none;
  color: var(--pg-accent);
}

.pg-top__button .pg-icon {
  width: 20px;
  height: 20px;
}

.pg-v2 .pg-top .pg-cart-link {
  top: auto;
  right: auto;
}

.pg-v2 .pg-top .pg-cart-link svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.pg-v2 .pg-top .pg-cart-link__count {
  position: absolute;
  top: 4px;
  right: 2px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background-color: var(--pg-accent);
  color: #fff;
  font-size: .7857rem;
  font-weight: 600;
  line-height: 19px;
  text-align: center;
  box-sizing: border-box;
}

.pg-v2 .pg-top .pg-cart-link[data-count="0"] .pg-cart-link__count {
  display: none;
}

.pg-top__menu-toggle {
  display: none;
}

/* Menu button: two lines that turn into an X while the menu is open */
.pg-burger {
  position: relative;
  display: block;
  width: 18px;
  height: 12px;
}

.pg-burger > span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1.5px;
  border-radius: 1px;
  background: currentColor;
  transition: top .2s ease .15s, transform .2s ease;
}

.pg-burger > span:first-child { top: 2px; }
.pg-burger > span:last-child { top: 8.5px; }

[aria-expanded="true"] > .pg-burger > span {
  top: 5.25px;
  transition: top .2s ease, transform .2s ease .15s;
}

[aria-expanded="true"] > .pg-burger > span:first-child { transform: rotate(45deg); }
[aria-expanded="true"] > .pg-burger > span:last-child { transform: rotate(-45deg); }

@media (prefers-reduced-motion: reduce) {
  .pg-burger > span,
  .pg-top__nav,
  .pg-top__nav li {
    transition: none !important;
  }
}

.pg-top__more,
.pg-top__sub,
.pg-top__nav a > .pg-icon,
.pg-panel-close {
  display: none;
}

/* Wide screens: the header's category links only (the nav's list style would show About and
   Contact otherwise) */
@media screen and (min-width:53.75em) {
  .pg-top__nav .pg-top__more {
    display: none;
  }
}


/* Phones and tablets: the categories open under the bar from the menu button */
@media screen and (max-width:53.6875em) {
  .pg-top__bar {
    flex-wrap: nowrap;
    padding: 14px var(--pg-side);
  }

  .pg-top__menu-toggle {
    display: flex;
  }

  /* Full-screen menu under the bar: big links, a little stagger as it opens */
  .pg-top__nav {
    position: fixed;
    top: var(--pg-header-h, 60px);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 29;
    display: block;
    overflow-y: auto;
    padding: 16px var(--pg-side) 48px;
    background: var(--pg-bg);
    visibility: hidden;
    opacity: 0;
    transition: opacity .25s ease, visibility 0s linear .25s;
  }

  .pg-top__nav.is-open {
    visibility: visible;
    opacity: 1;
    transition: opacity .25s ease;
  }

  .pg-top__nav ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin: 0;
    padding: 0;
  }

  .pg-top__nav li {
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .3s ease, transform .3s ease;
  }

  .pg-top__nav.is-open li {
    opacity: 1;
    transform: none;
  }

  .pg-top__nav.is-open li:nth-child(2) { transition-delay: .03s; }
  .pg-top__nav.is-open li:nth-child(3) { transition-delay: .06s; }
  .pg-top__nav.is-open li:nth-child(4) { transition-delay: .09s; }
  .pg-top__nav.is-open li:nth-child(5) { transition-delay: .12s; }
  .pg-top__nav.is-open li:nth-child(6) { transition-delay: .15s; }

  .pg-top__nav a {
    display: block;
    padding: 8px 0;
    font-size: 1.5rem;    /* 24px */
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.015em;
  }

  .pg-top__more {
    display: flex;
    margin-top: 28px !important;
  }

  /* A category with subcategories: a chevron at the end of its row */
  .pg-top__nav li.has-sub {
    align-self: stretch;
  }

  .pg-top__nav li.has-sub > a {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .pg-top__nav li.has-sub > a > .pg-icon {
    display: block;
    width: 22px;
    height: 22px;
    margin-left: auto;
    color: var(--pg-ink);
    transition: opacity .2s ease;
  }

  /* With a mouse the chevron shows on the row under the pointer; on touch screens always */
  @media (hover: hover) {
    .pg-top__nav li.has-sub > a > .pg-icon {
      opacity: 0;
    }

    .pg-top__nav li.has-sub > a:hover > .pg-icon,
    .pg-top__nav li.has-sub > a:focus-visible > .pg-icon {
      opacity: 1;
    }
  }

  /* The main links move aside while a submenu is open (the links, not the list: a moved list
     would carry the submenu with it) */
  .pg-top__nav > ul > li > a {
    transition: transform .3s ease, opacity .3s ease;
  }

  .pg-top__nav.is-sub-open {
    overflow: hidden;
  }

  .pg-top__nav.is-sub-open > ul > li > a {
    opacity: 0;
    transform: translateX(-24px);
    pointer-events: none;
  }

  /* Submenu: slides in from the right over the whole menu, back button at the top */
  /* (slides with left, not transform: a transform would move the fixed back button with it) */
  .pg-top__sub {
    position: fixed;
    top: var(--pg-header-h, 60px);
    right: 0;
    bottom: 0;
    left: 32px;
    z-index: 1;
    display: block;
    overflow-y: auto;
    padding: 16px var(--pg-side) 48px;
    background: var(--pg-bg);
    visibility: hidden;
    opacity: 0;
    transition: left .3s ease, opacity .3s ease, visibility 0s linear .3s;
  }

  .pg-top__sub.is-open {
    left: 0;
    visibility: visible;
    opacity: 1;
    transition: left .3s ease, opacity .3s ease;
  }

  /* The back button sits in the bar, where the logo was */
  .pg-v2 .pg-top__back {
    position: fixed;
    top: calc((var(--pg-header-h, 60px) - 44px) / 2);
    left: calc(var(--pg-side) - 12px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 0;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: var(--pg-ink) !important;
    cursor: pointer;
  }

  @media (hover: hover) {
    .pg-v2 .pg-top__back:hover {
      color: var(--pg-accent) !important;
    }
  }

  /* While the menu or the search is open the bar keeps only its close button */
  .pg-top.is-menu-open .pg-top__brand,
  .pg-top.is-menu-open .pg-top__search-toggle,
  .pg-top.is-menu-open .pg-cart-link,
  .pg-top.is-search-open .pg-top__brand {
    visibility: hidden;
  }

  /* the search's close button moves to the right edge, where the menu's is */
  .pg-top.is-search-open .pg-cart-link,
  .pg-top.is-search-open .pg-top__menu-toggle {
    display: none;
  }

  .pg-top__back .pg-icon {
    width: 24px;
    height: 24px;
  }

  .pg-top__sub li {
    opacity: 1 !important;
    transform: none !important;
  }

  .pg-top__more a {
    font-size: 1.0625rem; /* 17px */
    font-weight: 400;
    color: var(--pg-muted);
  }

  html.pg-menu-open,
  html.pg-menu-open body {
    overflow: hidden;
  }

  .pg-top__brand img {
    width: 28px;
    height: 28px;
  }

  .pg-top__brand a {
    gap: 10px;
  }

  /* Phones and tablets: the logo alone; the name stays for screen readers */
  .pg-top__brand span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

/* --- Home page -------------------------------------------------------------------------------- */

/* The space between sections, on home and in page text (.pg-cat--page) */
.pg-v2 {
  --pg-cat-gap: 112px;
}
@media screen and (max-width:46.25em) {
  .pg-v2 {
    --pg-cat-gap: 72px;
  }
}

.pg-v2-home .site-main {
  display: flex;
  flex-direction: column;
  gap: var(--pg-cat-gap);
  padding: 0 0 120px;
  color: var(--pg-ink);
}

.pg-home a {
  border: 0;
  color: inherit;
  text-decoration: none;
}

.pg-home a:hover,
.pg-home a:focus-visible {
  color: var(--pg-accent);
}




.pg-home__row {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.pg-home__head {
  display: flex;
  flex-direction: column;   /* the number above the name, as in the model sections */
  align-items: flex-start;
  gap: 8px;
  padding-top: 20px;
  border-top: 1px solid var(--pg-ink); /* every section opens with the same dark line */
}

.pg-home__num {
  font-size: .8125rem; /* 13px */
  color: var(--pg-accent);
  font-variant-numeric: tabular-nums;
}

.pg-home__heading {
  flex: 1 1 auto;
  margin: 0;
  font-size: 1.375rem; /* 22px */
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: inherit;
}

.pg-home__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pg-mini-card__link {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pg-mini-card__image {
  display: block;
  aspect-ratio: var(--pg-thumb-ratio);
  overflow: hidden;
  border-radius: 6px;
  background-color: var(--pg-image-bg);
}

.pg-mini-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pg-mini-card__title {
  font-size: .875rem;
  line-height: 1.4;
}

/* The brand in a small faint line above the model name (inc/brands.php) */
.pg-mini-card__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pg-mini-card__brand {
  font-size: .8125rem; /* 13px */
  line-height: 1.4;
  color: var(--pg-faint);
}

/* Name on the left, the price on the right of the same line (the store cards' price style, below) */
.pg-mini-card__text {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.pg-mini-card__title {
  min-width: 0;
}

.pg-mini-card__price {
  flex: none;
}

.pg-home__all {
  gap: 8px;
}

.pg-home__all .pg-home__head {
  padding-bottom: 12px;
}

.pg-home__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pg-home__list li {
  border-bottom: 1px solid var(--pg-rule-soft);
}

.pg-home__list a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 0;
}

.pg-home__list-name {
  font-size: 2.25rem; /* 36px */
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.pg-home__list-count {
  font-size: .875rem;
  color: var(--pg-faint);
  font-variant-numeric: tabular-nums;
}

/* A category on the home page (design "Category sections B"): a dark rule, then a title column
   (big faint number, name, one line, View all) beside three models. Below 60em it stacks: number
   and name on one line, the line, the models, View all last. */
.pg-v2 .pg-cat {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 32px 56px;
  padding-top: 40px;
  border-top: 1px solid var(--pg-ink);
}

/* The same section everywhere (polygonish_section_head()): home rows, page text, product page.
   The number is a CSS counter, so a section a page doesn't have leaves no gap. */
.pg-v2 {
  counter-reset: pg-section;
}

.pg-v2 .pg-cat:has(> .pg-cat__head) {
  counter-increment: pg-section;
}

/* A section is never a size container: the old card rows (.pg-related, container-type for their
   @container card sizes) would wall off the section count, and their number showed 00 */
.pg-v2 .pg-cat {
  container-type: normal;
}

.pg-v2 .pg-cat__num::before {
  content: counter(pg-section, decimal-leading-zero);
}

/* Checkout (functions.php polygonish_checkout_sections()): the cart and the form are sections; the
   form's own "Personal Info" legend repeats the section title, so only screen readers get it */
.pg-v2 .pg-cat #edd_checkout_user_info > legend {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0 !important;
}

/* js/card-rows.js wraps the title with the row arrows; the wrapper doesn't change the layout */
.pg-v2 .pg-cat .pg-related__head {
  display: contents;
}

/* Product page sections: as far apart as the home sections (older product rules gave the video
   and card rows their own gaps) */
.pg-v2 .pg-product .pg-cat {
  margin-top: var(--pg-cat-gap) !important;
}

.pg-cat__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}

.pg-cat__num {
  font-size: .8125rem; /* 13px, the showcase's "3D" label */
  line-height: 1.3;
  color: var(--pg-accent);
  font-variant-numeric: tabular-nums;
}

.pg-v2 .pg-cat__title {
  margin: 0 !important;
}

.pg-v2 .pg-cat__title {
  font-size: 2.25rem !important; /* 36px */
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em;
  color: var(--pg-ink);
  text-transform: none;
}

/* (inside the description area too, where text is the page's ink) */
.pg-v2 .pg-cat__head .pg-cat__text {
  margin: 0;
  font-size: var(--pg-text-size);
  line-height: var(--pg-text-line);
  color: var(--pg-muted);
}

.pg-home__cards.pg-cat__cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* View all, on every screen: a light grey button (the shared button's size and corners, a soft
   grey fill, no line), the label with the arrow after it. On desktop it follows the text in the
   title column; below 60em it comes under the models. */
.pg-v2 .pg-soft-button {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  margin-top: 10px;   /* with the column's 14px gap: 24px under the text */
  padding: 0 18px 0 22px;
  border: 0;
  border-radius: var(--btn-border-radius);
  background: var(--pg-rule-soft);  /* light grey, no line */
  color: var(--pg-ink);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

.pg-v2 .pg-soft-button:hover,
.pg-v2 .pg-soft-button:focus-visible {
  background: var(--btn-bg);        /* fills dark, like the other buttons */
  color: var(--btn-color);
}


.pg-v2 .pg-soft-button .pg-icon {
  display: inline-block;
  flex: none;
  width: 20px;
  height: 20px;
  transition: transform .2s ease;
}

.pg-v2 .pg-soft-button:hover .pg-icon,
.pg-v2 .pg-soft-button:focus-visible .pg-icon {
  transform: translateX(4px);
}

.pg-cat__name {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

@media screen and (max-width:59.9375em) {
  .pg-v2 .pg-cat {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: 28px;
  }

  .pg-cat__head {
    display: contents;
  }

  .pg-v2 .pg-cat__title {
    font-size: 1.75rem !important; /* 28px */
  }

  .pg-v2 .pg-cat__head .pg-cat__text {
    margin-top: 10px;
  }


  /* View all: under the models */
  .pg-v2 .pg-cat .pg-soft-button {
    order: 1;
    margin-top: 32px;
  }
}

/* Tablets: two models a row */
@media screen and (max-width:59.6875em) {
  .pg-home__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

/* Phones: rows scroll sideways, edge to edge */
@media screen and (max-width:46.25em) {
  .pg-v2-home .site-main {
    padding-bottom: 88px;
  }





  .pg-home__row {
    gap: 20px;
  }

  .pg-home__head {
    gap: 8px;
    padding-top: 14px;
  }

  .pg-home__num {
    font-size: .75rem;
  }

  .pg-home__heading {
    font-size: 1.1875rem; /* 19px */
  }

  .pg-home__cards {
    display: flex;
    gap: 12px;
    margin: 0 calc(-1 * var(--pg-side));
    padding: 0 var(--pg-side);
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-padding: 0 var(--pg-side);
    scrollbar-width: none;
  }

  .pg-home__cards::-webkit-scrollbar {
    display: none;
  }

  .pg-mini-card {
    flex: 0 0 200px;
    scroll-snap-align: start;
  }

  .pg-mini-card__link {
    gap: 10px;
  }

  .pg-mini-card__title {
    font-size: .8125rem;
  }

  .pg-home__list a {
    gap: 16px;
    padding: 16px 0;
  }

  .pg-home__list-name {
    font-size: 1.5rem; /* 24px */
  }

  .pg-home__list-count {
    font-size: .8125rem;
  }
}

/* --- Home hero: laid out like the "Shop" design (headline and buttons beside the newest model,
       then what you get), drawn in the Minimal style: light type, thin rules, no shadows -------- */

.pg-hero {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: 48px 64px;
  padding-top: 72px;
}

.pg-hero__text {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.pg-hero__eyebrow {
  margin: 0;
  font-size: .8125rem; /* 13px */
  color: var(--pg-faint);
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}

.pg-hero__title {
  margin: 0;
  font-size: 4.5rem; /* 72px */
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -.03em;
  color: inherit;
}

.pg-hero__intro {
  max-width: 420px;
  margin: 0;
  font-size: .9375rem; /* 15px */
  line-height: 1.55;
  color: var(--pg-muted);
}

.pg-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 28px;
  margin: 0;
  padding-top: 8px;
}

.pg-home .pg-hero__button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 24px;
  border-radius: var(--btn-border-radius);
  background: var(--btn-bg);
  color: var(--btn-color);
  font-size: .875rem;
  font-weight: 500;
}


.pg-hero__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: .875rem;
}

/* Arrow links (Rigged models, Contact us): the same big arrow as View all, sliding right on hover */
.pg-hero__link .pg-icon {
  flex: none;
  width: 20px;
  height: 20px;
  transition: transform .2s ease;
}

.pg-hero__link:hover .pg-icon,
.pg-hero__link:focus-visible .pg-icon {
  transform: translateX(4px);
}

.pg-hero__feature {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pg-hero__image {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 6px;
  background-color: var(--pg-image-bg);
}

.pg-hero__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pg-hero__caption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 4px 16px;
  padding-top: 14px;
  border-top: 1px solid var(--pg-rule);
}

.pg-hero__label {
  font-size: .8125rem;
  color: var(--pg-accent);
}

.pg-hero__name {
  font-size: 1.125rem; /* 18px */
  line-height: 1.3;
}

.pg-hero__price {
  grid-row: span 2;
  align-self: center;
  font-size: 1.125rem;
  font-variant-numeric: tabular-nums;
}

.pg-hero__meta {
  grid-column: 2;
  font-size: .8125rem;
  color: var(--pg-faint);
}

/* Product card (the rigged section and the hero's image fallback): the label sits above the name,
   the price on the right of both */
.pg-hero__feature:not(.pg-hero__player) .pg-hero__caption {
  grid-template-columns: minmax(0, 1fr) auto;
  row-gap: 2px;
}

.pg-hero__feature:not(.pg-hero__player) .pg-hero__label {
  grid-column: 1;
  grid-row: 1;
}

.pg-hero__feature:not(.pg-hero__player) .pg-hero__name {
  grid-column: 1;
  grid-row: 2;
}

.pg-hero__feature:not(.pg-hero__player) .pg-hero__meta {
  grid-column: 1;
  grid-row: 3;
}

.pg-hero__feature:not(.pg-hero__player) .pg-hero__price {
  grid-column: 2;
  grid-row: 1 / span 3;
}

.pg-perks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: -48px 0 0; /* closer to the hero than the rows are to each other */
  padding: 0;
  list-style: none;
}

.pg-perks li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 16px;
  border-top: 1px solid var(--pg-rule-soft);
}

.pg-perks__title {
  font-size: .875rem;
}

.pg-perks__text {
  font-size: .8125rem;
  color: var(--pg-faint);
}

/* Tablets: the model under the text */
@media screen and (max-width:59.6875em) {
  .pg-hero {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 48px;
  }

  .pg-hero__title {
    font-size: 3.5rem;
  }

  .pg-hero__intro {
    max-width: 520px;
  }

  .pg-perks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Phones */
@media screen and (max-width:46.25em) {
  .pg-hero {
    gap: 32px;
    padding-top: 32px;
  }

  .pg-hero__text {
    gap: 18px;
  }

  .pg-hero__eyebrow {
    font-size: .75rem;
  }

  .pg-hero__title {
    font-size: 2.75rem; /* 44px */
    line-height: 1.04;
  }

  .pg-hero__title br {
    display: none;
  }

  .pg-hero__actions {
    gap: 8px 20px;
  }

  .pg-hero__name,
  .pg-hero__price {
    font-size: 1rem;
  }

  .pg-perks {
    gap: 16px 12px;
    margin-top: -32px;
  }
}

/* --- Home: "Rigged and ready to animate" after the New row (the "Shop" design's black band, drawn
       Minimal: the section rule above, text beside a model image on the image background, the
       hero's eyebrow, intro and button) --------------------------------------------------------- */

.pg-rigged {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: 32px 64px;
  padding: 72px 0;
  /* the highlighted band, edge to edge of the window: no line, the colour marks the section */
  background: var(--pg-band);
  box-shadow: 0 0 0 100vmax var(--pg-band);
  clip-path: inset(0 -100vmax);
}

.pg-rigged__text {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* A call to action: the hero's display type one step down, so it stands out from the section titles */
.pg-rigged__title {
  margin: 0;
  color: var(--pg-ink);
  font-size: 3.5rem;  /* 56px */
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.pg-rigged .pg-hero__intro {
  max-width: 460px;
  font-size: 1.0625rem; /* 17px */
}

@media screen and (max-width:59.9375em) {
  .pg-rigged__title {
    font-size: 3rem;  /* 48px */
  }
}

@media screen and (max-width:46.25em) {
  .pg-rigged__title {
    font-size: 2.5rem;  /* 40px */
    line-height: 1.06;
  }
}

.pg-rigged .pg-hero__image {
  background-color: var(--pg-band-image);
}

/* The renders carry their own white background: fill the box so it reads as one image, no bars */
.pg-rigged .pg-hero__image img {
  object-fit: cover;
}

@media screen and (max-width:59.9375em) {
  .pg-rigged {
    padding: 48px 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }

  /* Phones and tablets: the text, then the product card, then the button */
  .pg-rigged__text {
    display: contents;
  }

  .pg-rigged__card {
    margin: 14px 0;
  }

  .pg-rigged .pg-hero__actions {
    order: 1;
  }
}

/* --- Home: "Can't find your machine?" before the footer (the "Shop" design's last block, drawn
       Minimal: no card, the section rule above, centred, the hero's button and arrow link) ------ */

.pg-ask {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 56px 0 24px;
  border-top: 1px solid var(--pg-ink); /* every section opens with the same dark line */
  text-align: center;
}

.pg-ask__title {
  margin: 0;
  color: var(--pg-ink);
  font-size: var(--pg-section-size);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -.01em;
}

.pg-ask__text {
  max-width: 480px;
  margin: 0;
  font-size: var(--pg-text-size);
  line-height: var(--pg-text-line);
  color: var(--pg-muted);
}

.pg-ask__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 28px;
  margin: 0;
  padding-top: 8px;
}

/* Phones: the button, then the link under it, with room between */
@media screen and (max-width:46.25em) {
  .pg-ask__actions {
    flex-direction: column;
    gap: 16px;
  }
}

/* --- Home hero, 3D showcase player (<model-viewer>, inc/minimal.php) ------------------------- */

.pg-hero__player {
  margin: 0;
}

.pg-hero__viewer {
  width: 100%;
  height: auto;
  border-radius: 0;
  background-color: transparent; /* the model stands on the page itself, not on a card */
  --poster-color: transparent;
  --progress-bar-color: var(--pg-accent);
  cursor: grab;
}

.pg-hero__viewer:active {
  cursor: grabbing;
}

.pg-hero__viewer:focus-visible {
  outline: 2px solid var(--pg-accent);
  outline-offset: 2px;
}

/* A thin line along the bottom while the model loads */
.pg-hero__progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--pg-accent);
  transform-origin: left;
  animation: pg-hero-loading 1.2s ease-in-out infinite alternate;
}

.pg-hero__viewer.is-loaded .pg-hero__progress {
  opacity: 0;
  transition: opacity .3s ease;
}

@keyframes pg-hero-loading {
  from { transform: scaleX(.1); }
  to { transform: scaleX(.9); }
}

.pg-hero__player .pg-hero__caption {
  grid-template-columns: auto minmax(0, 1fr);
}

/* Desktop: the 3D view fills the whole hero, from the left edge of the window to the right, behind
   the text; the model stands in the right part. The viewer runs past the right edge (clipped by
   #page) so its centre, where model-viewer puts the model, falls at 68% of the hero's width. */
@media screen and (min-width:60em) {
  .pg-v2-home #page {
    overflow-x: clip;
  }

  .pg-hero:has(.pg-hero__player) {
    position: relative;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    min-height: min(78vh, 760px);
    padding-bottom: 72px;
  }

  .pg-hero:has(.pg-hero__player) .pg-hero__text {
    position: relative;
    z-index: 1;
    pointer-events: none; /* drags on the empty space go to the model */
  }

  .pg-hero:has(.pg-hero__player) .pg-hero__text a {
    pointer-events: auto;
  }

  .pg-hero__player {
    position: absolute;
    inset: 0;
  }

  .pg-hero__player .pg-hero__viewer {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(50% - 50vw);
    width: calc(100vw + 36%);
    height: auto;
    aspect-ratio: auto;
    /* the floor fades out at the bottom instead of ending on a line */
    -webkit-mask-image: linear-gradient(to bottom, #000 86%, transparent);
    mask-image: linear-gradient(to bottom, #000 86%, transparent);
  }

  .pg-hero__player .pg-hero__caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: calc(5 / 12 * 100% + 64px);
    z-index: 1;
    pointer-events: none;
  }
}

/* Tablets and phones: the hero fills the screen under the header and the 3D view fills the hero,
   edge to edge of the window, behind the text: the eyebrow and headline over its top, the intro and
   buttons over its bottom, the model in between. The text box steps aside (display: contents) so
   its parts can sit at the top and the bottom. Drags on the empty space turn the model; vertical
   swipes still scroll the page (touch-action pan-y). */
@media screen and (max-width:59.9375em) {
  .pg-hero:has(.pg-hero__player) {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    min-height: calc(100vh - var(--pg-header-h, 64px));
    min-height: calc(100svh - var(--pg-header-h, 64px));
    padding-top: 24px;
    padding-bottom: 32px;
  }

  .pg-hero:has(.pg-hero__player) .pg-hero__text {
    display: contents;
  }

  .pg-hero:has(.pg-hero__player) :is(.pg-hero__eyebrow, .pg-hero__title, .pg-hero__intro, .pg-hero__actions) {
    position: relative;
    z-index: 1;
    pointer-events: none;
  }

  .pg-hero:has(.pg-hero__player) .pg-hero__actions a {
    pointer-events: auto;
  }

  /* everything after the headline goes to the bottom */
  .pg-hero:has(.pg-hero__player) .pg-hero__intro {
    margin-top: auto;
  }

  .pg-hero:has(.pg-hero__player) .pg-hero__player {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(50% - 50vw);
    width: 100vw;
  }

  .pg-hero__player .pg-hero__viewer {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    -webkit-mask-image: linear-gradient(to bottom, #000 86%, transparent);
    mask-image: linear-gradient(to bottom, #000 86%, transparent);
  }

  /* the caption would sit on the intro: the hero says enough here */
  .pg-hero__player .pg-hero__caption {
    display: none;
  }
}

/* Smaller desktops: the text column is narrow, so the model moves further right (centre at 76%) */
@media screen and (min-width:60em) and (max-width:79.9375em) {
  .pg-hero__player .pg-hero__viewer {
    width: calc(100vw + 52%);
  }
}

@media (prefers-reduced-motion:reduce) {
  .pg-hero__progress {
    animation: none;
  }
}

/* --- Search panel (header.php, js/minimal-header.js): the search button opens it under the bar,
       a large field and quick links, with the page dimmed and blurred behind it ---------------- */

.pg-search-panel {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  background-color: var(--pg-bg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .25s ease, visibility 0s linear .25s;
}

.pg-top.is-search-open .pg-search-panel {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity .2s ease, transform .25s ease;
}

.pg-search-panel__inner {
  max-width: calc(var(--pg-wrap) + 2 * var(--pg-side));
  margin: 0 auto;
  padding: 8px var(--pg-side) 56px;
  box-sizing: border-box;
}

.pg-search-panel__form {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
}

.pg-search-panel__form .pg-icon {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  color: var(--pg-faint);
}

.pg-v2 .pg-search-panel__field {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--pg-ink);
  font: inherit;
  font-size: 1.75rem; /* 28px */
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.01em;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.pg-v2 .pg-search-panel__field::placeholder {
  color: var(--pg-faint);
  opacity: 1;
}

.pg-v2 .pg-search-panel__field::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.pg-search-panel__form:focus-within .pg-icon {
  color: var(--pg-ink);
}

.pg-search-panel__label {
  margin: 32px 0 8px;
  font-size: .8125rem;
  color: var(--pg-faint);
}

.pg-search-panel__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pg-search-panel__links a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 40px;
  border: 0;
  color: var(--pg-ink);
  font-size: .9375rem;
  font-weight: 500;
  text-decoration: none;
}

.pg-search-panel__links a:hover,
.pg-search-panel__links a:focus-visible {
  color: var(--pg-accent);
}

.pg-search-panel__links .pg-icon {
  width: 14px;
  height: 14px;
  color: var(--pg-faint);
}

.pg-search-panel__links a:hover .pg-icon,
.pg-search-panel__links a:focus-visible .pg-icon {
  color: currentColor;
}

/* The page behind the open panel */
.pg-search-backdrop {
  position: fixed;
  inset: 0;
  z-index: 25;
  background-color: var(--pg-scrim);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility 0s linear .25s;
}

.pg-search-backdrop.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity .25s ease;
}

/* Phones and tablets: the search fills the screen under the bar, like the menu */
@media screen and (max-width:53.6875em) {
  .pg-search-panel {
    position: fixed;
    top: var(--pg-header-h, 60px);
    bottom: 0;
    overflow-y: auto;
  }

  .pg-search-backdrop {
    display: none;
  }

  .pg-search-panel__links a {
    font-size: 1.0625rem;
    font-weight: 500;
  }
}

@media screen and (max-width:46.25em) {
  .pg-search-panel__inner {
    padding-bottom: 32px;
  }

  .pg-v2 .pg-search-panel__field {
    font-size: 1.5rem; /* 24px, as the menu's links */
  }

  .pg-search-panel__label {
    margin-top: 24px;
  }

  .pg-search-panel__links a {
    min-height: 44px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .pg-search-panel,
  .pg-top.is-search-open .pg-search-panel,
  .pg-search-backdrop,
  .pg-search-backdrop.is-open {
    transform: none;
    transition: none;
  }
}

/* --- Product cards everywhere (store grids, search, "You may also like", "Recently viewed"):
       the Minimal card — a square image on white and the name under it, always shown; the price
       as small grey text, or the green check when the model is in the bag. No shadow, no lift. -- */

.pg-v2 .edd_downloads_list:has(> .pg-card),
.pg-v2 .pg-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 40px 20px !important;
}

.pg-v2 .pg-card__link {
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-radius: 0;
  color: var(--pg-ink);
  transition: none;
}

.pg-v2 .pg-card__link::before {
  display: none;
}

.pg-v2 .pg-card__link:hover,
.pg-v2 .pg-card__link:focus-visible {
  z-index: auto;
  color: var(--pg-ink);
  translate: none;
  scale: none;
}

.pg-v2 .pg-card__link:focus-visible {
  outline: 2px solid var(--pg-accent);
  outline-offset: 4px;
}

.pg-v2 .pg-card__image {
  aspect-ratio: var(--pg-thumb-ratio);
  border-radius: 6px !important;
  background-color: var(--pg-image-bg);
  object-fit: contain;
  transition: none;
}

.pg-v2 .pg-card__link picture {
  border-radius: 6px;
}

.pg-v2 .pg-card__text {
  position: static;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  height: auto;
  padding: 0;
  opacity: 1;
  pointer-events: auto;
  transition: none;
}

.pg-v2 .pg-card__title {
  font-size: .875rem; /* 14px */
  font-weight: 400;
  line-height: 1.4;
  white-space: normal;
}

/* One card hover everywhere: store cards (.pg-card) and home / section cards (.pg-mini-card, e.g.
   the product page's rows) keep their colours; only the model name turns blue */
.pg-v2 .pg-mini-card__link,
.pg-v2 .pg-mini-card__link:hover,
.pg-v2 .pg-mini-card__link:focus-visible {
  color: var(--pg-ink);
  opacity: 1;
}

.pg-v2 .pg-card__link:hover .pg-card__title,
.pg-v2 .pg-card__link:focus-visible .pg-card__title,
.pg-v2 .pg-mini-card__link:hover .pg-mini-card__title,
.pg-v2 .pg-mini-card__link:focus-visible .pg-mini-card__title {
  color: var(--pg-accent);
}

.pg-v2 .pg-card__price,
.pg-v2 .pg-mini-card__price {
  padding: 0;
  border-radius: 0;
  background: none;
  color: var(--pg-faint);
  font-size: .8125rem; /* 13px */
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}


/* The rows of cards: no room needed any more for a card growing on hover */
.pg-v2 .pg-related .pg-card-grid {
  --pg-row-side: 0px;
  --pg-row-top: 4px;
  --pg-row-bottom: 8px;
  grid-template-columns: none !important; /* a row, not the grid's columns */
  gap: 20px !important;
}


@media screen and (max-width:77.5em) {
  .pg-v2 .edd_downloads_list:has(> .pg-card),
  .pg-v2 .pg-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width:59.6875em) {
  .pg-v2 .edd_downloads_list:has(> .pg-card),
  .pg-v2 .pg-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px 16px !important;
  }
}

@media screen and (max-width:46.25em) {
  .pg-v2 .edd_downloads_list:has(> .pg-card),
  .pg-v2 .pg-card-grid {
    gap: 28px 12px !important;
  }

  .pg-v2 .pg-card__link {
    gap: 10px;
  }

  .pg-v2 .pg-card__text {
    flex-direction: column;
    gap: 2px;
  }

  .pg-v2 .pg-card__title {
    font-size: .8125rem;
  }

  .pg-v2 .pg-card__price,
  .pg-v2 .pg-mini-card__price,
  .pg-v2 .pg-mini-card__brand {
    font-size: .75rem;
  }
}

/* Rows of cards as many across as the home page's rows: two with the next peeking in on phones,
   three on tablets, four on desktop, five on very wide screens */
.pg-v2 .pg-related .pg-card-grid {
  grid-auto-columns: calc((100% - 12px) / 2.25);
}

@container (min-width: 580px) {
  .pg-v2 .pg-related .pg-card-grid { grid-auto-columns: calc((100% - 2 * 20px) / 3); }
}

@container (min-width: 880px) {
  .pg-v2 .pg-related .pg-card-grid { grid-auto-columns: calc((100% - 3 * 20px) / 4); }
}

@container (min-width: 1480px) {
  .pg-v2 .pg-related .pg-card-grid { grid-auto-columns: calc((100% - 4 * 20px) / 5); }
}

/* Search results: the pages and categories found, above the models, as thin outlined links */
.pg-v2 .pg-search-links {
  gap: 8px;
}

.pg-v2 .pg-search-links a {
  padding: 8px 16px;
  border-radius: var(--btn-border-radius);
  border: 1px solid var(--pg-rule) !important;
  background: none;
  box-shadow: none;
  color: var(--pg-ink);
  font-size: .875rem;
  transition: none;
}

.pg-v2 .pg-search-links a:hover,
.pg-v2 .pg-search-links a:focus-visible {
  border-color: var(--pg-accent) !important;
  box-shadow: none;
  color: var(--pg-accent);
}

/* The price inside the card takes the card's size, not the store-wide price size */
.pg-v2 .pg-card__amount,
.pg-v2 .pg-card__price .edd_price,
.pg-v2 .pg-mini-card__price .edd_price {
  font-size: inherit !important;
  font-weight: inherit;
}

/* ==========================================================================
   Polygonish v2, product page in the Minimal style (single-download.php): lined up with the
   header, a light title with the price and button beside it, the gallery with small corners and
   no shadows, the details as thin-ruled sections, the categories as plain links.
   ========================================================================== */

.pg-v2 .pg-product {
  --pg-radius: 6px;
  --pg-gap: 20px;
  color: var(--pg-ink);
}

/* Everything starts where the header's logo starts */
.pg-v2 .pg-product .entry-header,
.pg-v2 .pg-product .entry-content,
.pg-v2 .pg-product .pg-gallery-wrap,
.pg-v2 .pg-product .pg-details-wrap,
.pg-v2 .pg-product .entry-footer {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
}

/* --- Header: category, title, and the price button on the right ------------------------------ */

.pg-v2 .pg-product__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px 40px;
  padding: 64px 0 40px;
}

.pg-v2 .pg-product__kicker {
  grid-column: 1;
  margin: 0;
  color: var(--pg-faint);
  font-size: .8125rem; /* 13px */
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: none;
}

.pg-v2 .pg-product__title {
  grid-column: 1;
  margin: 0;
  color: var(--pg-ink);
  font-size: 3.5rem; /* 56px */
  font-weight: 300;
  line-height: 1.04;
  letter-spacing: -.03em;
}

.pg-v2 .pg-product__buy {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  margin: 0;
}


/* --- Gallery: small corners, images close together, quiet controls --------------------------- */

.pg-v2 .pg-gallery__slide {
  border-radius: var(--pg-radius);
}

.pg-v2 .pg-gallery__dots,
.pg-v2 .pg-gallery__play {
  box-shadow: none;
}

.pg-v2 .pg-gallery__controls {
  margin-top: 20px;
}

/* --- Details: thin-ruled sections like the home page's rows ---------------------------------- */

.pg-v2 .pg-product .pg-details-wrap {
  padding-top: 72px;
}

.pg-v2 .pg-details {
  gap: 56px;
  width: auto;
  color: var(--pg-ink);
  font-size: .9375rem; /* 15px */
  line-height: 1.55;
}

.pg-v2 .pg-details__group,
.pg-v2 .pg-specs {
  gap: 12px;
  padding-top: 20px;
  border-top: 1px solid var(--pg-rule);
}


.pg-v2 .pg-details__notes {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--pg-muted);
}

.pg-v2 .pg-specs {
  gap: 0;
  padding-top: 0;
}

.pg-v2 .pg-specs__item {
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--pg-rule-soft);
}

.pg-v2 .pg-specs__icon {
  width: 20px;
  height: 20px;
  color: var(--pg-faint);
}

.pg-v2 .pg-specs__text strong {
  margin-right: 4px;
  color: var(--pg-muted);
  font-weight: 400;
}

.pg-v2 .pg-specs__text a {
  border-bottom: 1px solid var(--pg-rule);
  color: inherit;
}

.pg-v2 .pg-specs__text a:hover,
.pg-v2 .pg-specs__text a:focus {
  border-bottom-color: currentColor;
  color: var(--pg-accent);
}

/* The categories: plain links in a row */
.pg-v2 .pg-tags {
  gap: 4px 24px;
}

.pg-v2 .pg-tags__link,
.pg-v2 .pg-tags__link:hover,
.pg-v2 .pg-tags__link:focus-visible {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border-radius: 0;
  background: none;
  color: var(--pg-ink);
  transition: none;
}

.pg-v2 .pg-tags__link:hover,
.pg-v2 .pg-tags__link:focus-visible {
  color: var(--pg-accent);
}

/* --- Video: the player with small corners and no shadow (the section is a .pg-cat) ---------- */

.pg-v2 .pg-video__player {
  border-radius: var(--pg-radius);
  box-shadow: none;
}

/* --- Previous / next, You may also like, Recently viewed ------------------------------------ */

.pg-v2 .pg-product .pg-product-nav:not([hidden]) {
  padding-top: 20px;
  border-top: 1px solid var(--pg-rule);
}

.pg-v2 .pg-product .pg-product-nav .pg-product-nav__image {
  border-radius: var(--pg-radius);
  background-color: var(--pg-image-bg);
}

.pg-v2 .pg-product-nav a {
  color: var(--pg-ink);
  font-size: .875rem;
}


/* --- Tablets and phones ---------------------------------------------------------------------- */

@media screen and (max-width:59.6875em) {
  .pg-v2 .pg-product__title {
    font-size: 2.75rem;
  }
}

@media screen and (max-width:46.25em) {
  .pg-v2 .pg-product__header {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 40px 0 28px;
  }

  .pg-v2 .pg-product__title {
    font-size: 2.25rem; /* 36px */
    line-height: 1.06;
  }

  .pg-v2 .pg-product__buy {
    grid-column: 1;
    grid-row: auto;
    padding-top: 10px;
  }

  .pg-v2 .pg-product .pg-details-wrap {
    padding: 0;   /* the overview's own 32px is the gap under the gallery */
  }

  .pg-v2 .pg-details {
    gap: 40px;
  }


  .pg-v2 .pg-video {
    margin-top: 48px;
  }
}


/* ==========================================================================
   Polygonish v2, every other page in the Minimal style: pages and category pages (page.php,
   taxonomy-download_category.php), search results, 404, the legal pages, Contact, About,
   Checkout and the order pages, and the footer. CSS only; the pages' own content (in the
   database, shared with the live site) is left as it is and overridden from here.
   ========================================================================== */

/* --- Page header: lined up with the logo, a light large title --------------------------------- */

.pg-v2 .hentry:not(.pg-product),
.pg-v2 .page-header {
  margin: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}

.pg-v2 .hentry:not(.pg-product) .entry-header,
.pg-v2 .hentry:not(.pg-product) .entry-content,
.pg-v2 .hentry:not(.pg-product) .entry-footer,
.pg-v2 .page-header,
.pg-v2 .page-content {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
}

.pg-v2 .hentry:not(.pg-product) .entry-header,
.pg-v2 .page-header {
  padding-top: 64px;
  padding-bottom: 40px;
  border: 0;
}

.pg-v2 .hentry:not(.pg-product) .entry-title,
.pg-v2 .page-title {
  margin: 0;
  color: var(--pg-ink);
  font-size: 3.5rem; /* 56px, as the product page */
  font-weight: 300;
  line-height: 1.04;
  letter-spacing: -.03em;
}

/* --- Page text: a readable column, light headings, thin-underlined links ---------------------- */






.pg-v2 .entry-content h3,
.pg-v2 .page-content h3 {
  margin: 32px 0 12px;
  color: var(--pg-ink);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
}

.pg-v2 .entry-content p,
.pg-v2 .entry-content li {
  color: inherit;
}

.pg-v2 .hentry:not(.pg-product) .entry-content a:not(.wp-block-button__link):not(.pg-card__link):not(.pg-tags__link):not([class*="edd"]),
.pg-v2 .page-content a {
  border-bottom: 1px solid var(--pg-rule);
  color: inherit;
  text-decoration: none;
}

.pg-v2 .hentry:not(.pg-product) .entry-content a:not(.wp-block-button__link):not(.pg-card__link):not(.pg-tags__link):not([class*="edd"]):hover,
.pg-v2 .page-content a:hover {
  border-bottom-color: currentColor;
  color: var(--pg-accent);
}

.pg-v2 .entry-content img {
  border-radius: 6px;
}



/* --- Terms and Privacy (.pg-legal in the page content) -------------------------------------- */

.pg-v2 .pg-legal {
  line-height: 1.65;
}


.pg-v2 .pg-legal h2 span {
  color: var(--pg-faint);
}

.pg-v2 .pg-legal .pg-box,
.pg-v2 .pg-legal .pg-summary {
  margin: 32px 0;
  padding: 20px 0 8px;
  border-top: 1px solid var(--pg-rule);
  border-bottom: 1px solid var(--pg-rule);
  background: none;
  box-shadow: none;
}

/* --- Contact: the common questions as ruled rows that open --------------------------------- */

.pg-v2 .pg-contact details {
  margin: 0;
  border-bottom: 1px solid var(--pg-rule-soft);
  background: none;
  box-shadow: none;
}

.pg-v2 .pg-contact details:first-of-type {
  border-top: 1px solid var(--pg-rule);
}

.pg-v2 .pg-contact summary {
  min-height: 44px;
  padding: 16px 32px 16px 0;
  font-size: 1.0625rem;
  font-weight: 400;
}

.pg-v2 .pg-contact summary::after {
  right: 0;
  color: var(--pg-faint);
}

.pg-v2 .pg-contact details div {
  padding: 0 0 16px;
  color: var(--pg-muted);
}

/* --- Forms: the contact form (Fluent Forms) and checkout, simple outlined fields ------------- */





/* --- Checkout ------------------------------------------------------------------------------- */


.pg-v2 #edd_checkout_form_wrap img,
.pg-v2 .edd-blocks-cart__row img {
  border-radius: 6px;
  background-color: var(--pg-image-bg);
}


/* --- Tablets and phones ---------------------------------------------------------------------- */

@media screen and (max-width:59.6875em) {
  .pg-v2 .hentry:not(.pg-product) .entry-title,
  .pg-v2 .page-title {
    font-size: 2.75rem;
  }
}

@media screen and (max-width:46.25em) {
  .pg-v2 .hentry:not(.pg-product) .entry-header,
  .pg-v2 .page-header {
    padding-top: 40px;
    padding-bottom: 28px;
  }

  .pg-v2 .hentry:not(.pg-product) .entry-title,
  .pg-v2 .page-title {
    font-size: 2.25rem;
    line-height: 1.06;
  }


}

.pg-v2 .edd-blocks-form legend {
  display: block;
  float: left; /* a floated legend takes the fieldset's full width and its own padding */
  width: 100%;
  margin-bottom: 16px;
  padding-top: 20px !important;
}

.pg-v2 .edd-blocks-form legend + * {
  clear: both;
}

/* 404 and other .page-header pages: an older rule gives .page-header margin and padding with
   !important (2.625rem); lined up with the logo instead */
.pg-v2 .page-header,
.pg-v2 .error-404 .page-content {
  margin: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.pg-v2 .page-header {
  padding-top: 64px !important;
  padding-bottom: 40px !important;
}

@media screen and (max-width:46.25em) {
  .pg-v2 .page-header {
    padding-top: 40px !important;
    padding-bottom: 28px !important;
  }
}

.pg-v2 .error-404 {
  margin: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}

.pg-v2 .error-404 .page-content {
  padding-bottom: 32px;
}

/* 404 and empty search results: no white box behind the text; the search field like the others */
.pg-v2 .page-content,
.pg-v2 .no-results {
  background: none !important;
  box-shadow: none !important;
}

/* ==========================================================================
   Polygonish v2, shared styles: every page uses the same few styles, with no per-page sizes.
   This block comes last and is the one place they're set.
     Page title   .entry-title / .page-title / product and home titles (set above, one size)
     Section      every section heading: home rows, product details, video, the card rows,
                  headings in page text (About, Terms, Privacy) and checkout's headings
     Text         every body text: page text, legal text, product details, checkout
     List         every list in page text (About, Terms, Privacy): a thin dash, one indent
     Button       every button: hero, add to bag, purchase, contact submit, page buttons
     Field        every form field: contact, checkout, search on pages and the 404
     Column       text keeps to one width (760px); grids use the full width
   ========================================================================== */

:root {
  --pg-section-size: 1.375rem;  /* 22px */
  --pg-text-size: .9375rem;     /* 15px */
  --pg-text-line: 1.6;
  --pg-column: none;            /* text uses the full content width on every page (user's choice) */
  --pg-image-max: 760px;        /* images in page text stay this wide at most */
  --pg-form-max: 600px;         /* form fields: the contact form and the checkout's fields */
  --btn-border-radius: 6px;     /* every button and pill: the same small corners as images and fields */
  --pg-btn-hover: var(--pg-accent);    /* buttons on hover: the accent blue, white text */
  --pg-thumb-ratio: 4 / 3;      /* every model thumbnail (home rows and store cards) */
  --pg-section-gap: 72px;       /* between sections */
}

@media screen and (max-width:46.25em) {
  :root {
    --pg-section-size: 1.1875rem; /* 19px */
    --pg-section-gap: 48px;
  }
}

/* --- Section headings ------------------------------------------------------------------------ */

.pg-v2 .pg-home__heading,
.pg-v2 .pg-details__title,
.pg-v2 .entry-content h2:not(.pg-cat__title),
.pg-v2 .page-content h2,
.pg-v2 .pg-legal h2,
.pg-v2 #edd_checkout_form_wrap legend {
  color: var(--pg-ink);
  font-size: var(--pg-section-size) !important;
  font-weight: 400 !important;
  line-height: 1.3;
  letter-spacing: -.01em;
  text-transform: none;
}

/* (Section titles, .pg-cat__title, have their own style: style.css "Sections".)
   Headings that stand on their own in the text get the same thin rule above them that sections
   built from blocks (home rows, product details, video, card rows) have on their box */
.pg-v2 .entry-content h2:not(.pg-cat__title),
.pg-v2 .page-content h2,
.pg-v2 .pg-legal h2 {
  display: block;
  float: none;
  width: 100%;
  margin: 56px 0 16px !important;
  padding: 20px 0 0 !important;
  border: 0;
  border-top: 1px solid var(--pg-rule);
}

.pg-v2 .entry-content > h2:first-child,
.pg-v2 .entry-content > .wp-block-group:first-child h2:first-child,
.pg-v2 .pg-legal > h2:first-child {
  margin-top: 0 !important;
}

.pg-v2 .pg-details__title {
  margin: 0 0 16px !important;
}

.pg-v2 .pg-home__heading {
  margin: 0 !important;
}

/* --- Text ------------------------------------------------------------------------------------- */

.pg-v2 .hentry .entry-content,
.pg-v2 .page-content,
.pg-v2 .pg-details,
.pg-v2 .pg-legal,
.pg-v2 #edd_checkout_form_wrap {
  color: var(--pg-ink);
  font-size: var(--pg-text-size);
  line-height: var(--pg-text-line);
}

/* Every paragraph, list item, label and table cell in page content, whatever earlier rule or
   the page's own styles set */
.pg-v2 #content :is(.entry-content, .page-content, .pg-details, .pg-legal, #edd_checkout_form_wrap) :is(p, li, label, td, th, dd, dt, summary, .edd-blocks-cart__row, .edd_cart_item_name, .edd_cart_item_price) {
  font-size: var(--pg-text-size) !important;
  line-height: var(--pg-text-line);
}

/* --- List: every list written in page text (About's download contents, the Terms and Privacy
       lists), whatever the page's own styles set. Lists the theme builds (cards, specs, tags,
       category list) have pg- classes and keep their own look. ---------------------------------- */

.pg-v2 #content :is(.entry-content, .page-content, .pg-legal) :is(ul, ol):not([class*="pg-"]) {
  margin: 0 0 1.6em !important;
  padding: 0 !important;
  list-style: none !important;
}

.pg-v2 #content :is(.entry-content, .page-content, .pg-legal) :is(ul, ol):not([class*="pg-"]) > li {
  position: relative;
  margin: 0 0 6px !important;
  padding: 0 0 0 22px !important;
}

.pg-v2 #content :is(.entry-content, .page-content, .pg-legal) :is(ul, ol):not([class*="pg-"]) > li:last-child {
  margin-bottom: 0 !important;
}

.pg-v2 #content :is(.entry-content, .page-content, .pg-legal) ul:not([class*="pg-"]) > li::before {
  content: "";
  position: absolute;
  top: calc(var(--pg-text-line) * .5em);
  left: 0;
  width: 10px;
  border-top: 1px solid var(--pg-faint);
}

.pg-v2 #content :is(.entry-content, .page-content, .pg-legal) ol:not([class*="pg-"]) {
  counter-reset: pg-list;
}

.pg-v2 #content :is(.entry-content, .page-content, .pg-legal) ol:not([class*="pg-"]) > li::before {
  counter-increment: pg-list;
  content: counter(pg-list);
  position: absolute;
  left: 0;
  color: var(--pg-faint);
  font-variant-numeric: tabular-nums;
}

/* --- Column ------------------------------------------------------------------------------------ */

.pg-v2 .hentry:not(.pg-product) .entry-content:not(:has(.edd_downloads_list, .pg-card-grid)),
.pg-v2 .page-content,
.pg-v2 .pg-legal {
  max-width: var(--pg-column);
}

/* The product page's details use the full content width, like its gallery */
.pg-v2 .pg-details {
  width: auto;
  max-width: none;
}

.pg-v2 #edd_checkout_cart,
.pg-v2 .edd-blocks-cart,
.pg-v2 .edd-blocks__checkout,
.pg-v2 #edd_checkout_form_wrap #edd_purchase_form,
.pg-v2 #edd_checkout_form_wrap #edd_purchase_form .edd-blocks-form__group input.edd-input,
.pg-v2 #edd_checkout_form_wrap #edd_purchase_form fieldset,
.pg-v2 #edd_checkout_form_wrap #edd_purchase_form legend {
  max-width: none !important;
}

/* --- Buttons ----------------------------------------------------------------------------------- */

.pg-v2 .pg-home .pg-hero__button,
.pg-v2 .pg-product__buy .edd-submit,
.pg-v2 #edd_purchase_submit .edd-submit,
.pg-v2 #edd-purchase-button,
.pg-v2 .frm-fluent-form .ff-btn-submit,
.pg-v2 .entry-content .wp-block-button__link,
.pg-v2 .entry-content .edd-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: 0 24px !important;
  border: 0;
  border-radius: var(--btn-border-radius) !important;
  background: var(--btn-bg) !important;
  color: var(--btn-color) !important;
  font-size: .875rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease; /* the same smooth hover as View all */
}

.pg-v2 .pg-home .pg-hero__button:hover,
.pg-v2 .pg-product__buy .edd-submit:hover,
.pg-v2 #edd_purchase_submit .edd-submit:hover,
.pg-v2 #edd-purchase-button:hover,
.pg-v2 .frm-fluent-form .ff-btn-submit:hover,
.pg-v2 .entry-content .wp-block-button__link:hover,
.pg-v2 .entry-content .edd-submit:hover {
  background: var(--pg-btn-hover) !important;  /* the accent blue */
  color: var(--btn-color) !important;
}

/* EDD prints a second, no-JavaScript button next to each one; the shared display above must not
   bring it back while JavaScript runs (EDD marks the body .edd-js) */
.pg-v2.edd-js .edd-no-js {
  display: none !important;
}

/* The one secondary button: outlined (page "outline" buttons) */
.pg-v2 .entry-content .is-style-outline .wp-block-button__link {
  border: 1px solid var(--pg-rule);
  background: none !important;
  color: var(--pg-ink) !important;
}

/* --- Fields ------------------------------------------------------------------------------------ */

.pg-v2 #content :is(input[type="text"], input[type="email"], input[type="search"], input[type="password"], input[type="tel"], input[type="number"], input[type="url"], textarea, select) {
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 14px !important;
  border: 1px solid var(--pg-rule) !important;
  border-radius: 6px !important;
  background-color: var(--pg-image-bg) !important;
  box-shadow: none !important;
  color: var(--pg-ink) !important;
  font-family: inherit;
  font-size: var(--pg-text-size) !important;
  line-height: 1.4;
}

.pg-v2 #content :is(input, textarea, select):focus {
  border-color: var(--pg-accent) !important;
  outline: none;
}

.pg-v2 #content :is(input, textarea)::placeholder {
  color: var(--pg-faint);
  opacity: 1;
}

/* A form legend only takes the full width (and so the full-width rule) when floated */
.pg-v2 .edd-blocks-form legend,
.pg-v2 #edd_checkout_form_wrap legend {
  float: left;
}

/* ==========================================================================
   Polygonish v2, gallery controls in the Minimal style (inc/product-gallery.php,
   js/product-gallery.js): on the left under the image, "2 / 6", a thin line of short segments
   (one per image; the current one fills up while the slideshow runs), then plain previous / next
   arrows and a small pause / play icon. No grey circles.
   ========================================================================== */

.pg-v2 .pg-gallery__controls {
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
}

.pg-v2 .pg-gallery__count {
  flex: none;
  min-width: 3.2em;
  color: var(--pg-faint);
  font-size: .8125rem; /* 13px */
  font-variant-numeric: tabular-nums;
}

/* The segments: as wide as they need up to 24px each, narrower when space runs out */
.pg-v2 .pg-gallery__dots {
  flex: 0 1 calc(var(--pg-count, 6) * 24px);
  min-width: 0;
  min-height: 44px;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

.pg-v2 .pg-gallery__dot {
  --pg-dot-pad: 2px;
  --pg-dot-size: 2px;
  flex: 1 1 0;
  min-width: 0;
  height: 44px;
}

.pg-v2 .pg-gallery__dot::before,
.pg-v2 .pg-gallery__dot[aria-current="true"]::before {
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background-color: var(--pg-rule);
  transition: background-color .2s ease;
}

.pg-v2 .pg-gallery__dot[aria-current="true"]::before {
  background-color: var(--pg-ink);
}

@media (hover:hover) {
  .pg-v2 .pg-gallery__dot:not([aria-current="true"]):hover::before {
    background-color: var(--pg-faint);
  }
}

/* While the slideshow runs, the current segment fills up from the left */
.pg-v2 .pg-gallery.is-autoplay .pg-gallery__dot[aria-current="true"]::before {
  background-color: var(--pg-rule);
}

.pg-v2 .pg-gallery.is-autoplay .pg-gallery__dot[aria-current="true"]::after {
  height: 2px;
  margin-top: -1px;
  border-radius: 1px;
  background-color: var(--pg-ink);
}

/* Stopped (the pause button, or an image picked by hand): the current segment is simply full,
   as when there's no slideshow; play starts its timer again from the beginning */
.pg-v2 .pg-gallery.is-autoplay.is-stopped .pg-gallery__dot[aria-current="true"]::before {
  background-color: var(--pg-ink);
}

.pg-v2 .pg-gallery.is-autoplay.is-stopped .pg-gallery__dot[aria-current="true"]::after {
  content: none;
}

/* Previous, next, pause / play: plain icons */
.pg-v2 .pg-gallery__arrow,
.pg-v2 .pg-gallery__play {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: none;
  box-shadow: none;
  color: var(--pg-ink);
  cursor: pointer;
}

.pg-v2 .pg-gallery__prev {
  margin-left: auto; /* the arrows and pause sit at the right end of the row */
}

.pg-v2 .pg-gallery__arrow:hover,
.pg-v2 .pg-gallery__arrow:focus,
.pg-v2 .pg-gallery__play:hover,
.pg-v2 .pg-gallery__play:focus {
  background: none;
  color: var(--pg-accent);
}

.pg-v2 .pg-gallery__arrow svg {
  display: block;
  width: 18px;
  height: 18px;
}

.pg-v2 .pg-gallery__play svg {
  width: 13px;
  height: 13px;
}

.pg-v2 .pg-gallery__arrow:focus-visible {
  outline: 2px solid var(--pg-accent);
  outline-offset: 2px;
}

@media screen and (max-width:46.25em) {
  .pg-v2 .pg-gallery__controls {
    gap: 8px;
  }
}

/* Full screen close: the same plain icon as the other gallery controls */
.pg-v2 .pg-gallery.is-fullscreen .pg-gallery__close {
  width: 44px;
  height: 44px;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--pg-ink);
}

.pg-v2 .pg-gallery.is-fullscreen .pg-gallery__close:hover,
.pg-v2 .pg-gallery.is-fullscreen .pg-gallery__close:focus {
  background: none;
  color: var(--pg-accent);
}

/* ==========================================================================
   Polygonish v2, the buy bar (js/buy-bar.js): once the page scrolls past the buy button, a slim
   strip across the top of the screen in the page colour with a thin line under it; its contents
   line up with the page: the model's image and name on the left, the shared button on the right.
   ========================================================================== */

.pg-v2 .pg-product__buy .edd_download_purchase_form.fix {
  right: 0;
  z-index: 40; /* over the page, under an open search panel's backdrop (header z 30 is not sticky) */
  display: flex;
  align-items: center;
  gap: 16px;
  width: auto !important;
  height: 64px;
  margin: 0 !important;
  /* the page's side space, or more on wide screens, so the contents line up with the page */
  padding: 0 max(var(--pg-side), calc((100% - var(--pg-wrap)) / 2)) !important;
  border: 0;
  border-bottom: 1px solid var(--pg-rule);
  border-radius: 0;
  background-color: color-mix(in srgb, var(--pg-bg) 90%, transparent);
  box-shadow: none;
  -webkit-backdrop-filter: saturate(1.4) blur(16px);
  backdrop-filter: saturate(1.4) blur(16px);
}

.pg-v2 .pg-product__buy .edd_download_purchase_form.fix #buttonThumbnail {
  order: 0;
  width: 56px;
  height: 36px;
  border-radius: 6px;
  background-color: var(--pg-image-bg);
  background-position: center;
  background-size: cover;
}

.pg-v2 .pg-product__buy .edd_download_purchase_form.fix #buttonText {
  order: 1;
  flex: 1 1 auto;
  color: var(--pg-ink);
  text-align: left;
}

.pg-v2 .pg-product__buy .edd_download_purchase_form.fix .pg-buy-bar__name {
  display: block;
  overflow: hidden;
  color: var(--pg-ink);
  font-size: var(--pg-text-size);
  font-weight: 400;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-line-clamp: unset;
}

.pg-v2 .pg-product__buy .edd_download_purchase_form.fix .edd_purchase_submit_wrapper {
  order: 2;
  flex: none;
}

@media screen and (max-width:46.25em) {
  .pg-v2 .pg-product__buy .edd_download_purchase_form.fix {
    gap: 12px;
    height: 60px;
  }

  .pg-v2 .pg-product__buy .edd_download_purchase_form.fix #buttonThumbnail {
    width: 44px;
    height: 30px;
  }
}

/* --- Section gap: one space between every section of the product page ------------------------ */

.pg-v2 .pg-product .pg-details-wrap {
  padding-top: var(--pg-section-gap) !important;
}

.pg-v2 .pg-product .pg-product-nav:not([hidden]) {
  margin-top: var(--pg-section-gap) !important;
}

.pg-v2 .pg-product .pg-product__description {
  padding-top: 0;
  padding-bottom: 0;
}

/* Previous / next stays out of the layout until js/product-nav.js has links for it */
.pg-v2 .pg-product .pg-product-nav[hidden] {
  display: none !important;
}

/* The first section after the details keeps the gap; nothing before it adds more */
.pg-v2 .pg-product .pg-product__description > :first-child:not(.pg-video):not(.pg-related):not(.pg-product-nav) {
  margin-top: 0;
}

/* ==========================================================================
   Polygonish v2, sticky header (js/minimal-header.js): it scrolls away going down and slides back,
   fixed at the top, going up; over the page it gets the thin line under it. The product page's
   buy strip sits just below it while it's shown.
   ========================================================================== */

.pg-v2 .pg-top {
  position: sticky;
  top: 0;
  transition: transform .25s ease-out, box-shadow .25s ease-out;
}

.pg-v2 .pg-top.is-hidden {
  transform: translateY(-100%);
}

.pg-v2 .pg-top.is-raised {
  box-shadow: 0 1px 0 var(--pg-rule);
}

.pg-v2 .pg-product__buy .edd_download_purchase_form.fix {
  transition: translate .25s ease-out;
}

.pg-header-shown .pg-v2 .pg-product__buy .edd_download_purchase_form.fix {
  translate: 0 var(--pg-header-h, 0px);
}

@media (prefers-reduced-motion:reduce) {
  .pg-v2 .pg-top,
  .pg-v2 .pg-product__buy .edd_download_purchase_form.fix {
    transition: none;
  }
}

/* --- Checks (a model in the bag on its card, "Rigged: yes", EDD's "Added to cart"): one thin
       check in the text colour, no green ------------------------------------------------------ */

.pg-v2 .pg-card__added {
  fill: none;
  color: var(--pg-ink);
}

/* One check size everywhere */
:root {
  --pg-check-size: 24px;
}

.pg-v2 .pg-card__link.is-in-cart .pg-card__added,
.pg-v2 .pg-card__link .pg-card__added {
  width: var(--pg-check-size);
  height: var(--pg-check-size);
  margin: -4px 0; /* the same line height as the price it replaces */
}

.pg-v2 .pg-specs__check {
  width: var(--pg-check-size);
  height: var(--pg-check-size);
  background-color: currentColor;
  vertical-align: -7px;
}

.pg-v2 .edd-cart-added-alert {
  color: var(--pg-ink);
}

/* ==========================================================================
   Polygonish v2, footer (footer.php): two quiet rows under a thin line, one section gap below the
   page. Row 1: "Polygonish", the links in one line, the social icons; row 2: the legal line.
   ========================================================================== */

.pg-v2 .site-footer.pg-foot {
  float: none;
  width: auto;
  max-width: calc(var(--pg-wrap) + 2 * var(--pg-side));
  margin: var(--pg-section-gap) auto 0;
  padding: 24px var(--pg-side) 32px;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--pg-ink);
  text-align: left;
}

.pg-v2 .pg-foot::before {
  content: "";
  display: block;
  margin-bottom: 20px;
  border-top: 1px solid var(--pg-rule);
}

.pg-v2-home .site-main {
  padding-bottom: 0;
}

.pg-foot__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 32px;
}

.pg-v2 .pg-foot a {
  border: 0;
  color: inherit;
  text-decoration: none;
}

.pg-v2 .pg-foot a:hover,
.pg-v2 .pg-foot a:focus-visible {
  color: var(--pg-accent);
}

.pg-foot__brand {
  font-size: .875rem;
  font-weight: 500;
}

.pg-foot__links {
  flex: 1 1 auto;
}

.pg-foot__links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pg-foot__links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: .875rem;
}

.pg-foot__social {
  display: flex;
  gap: 4px;
}

.pg-v2 .pg-foot__social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--pg-faint);
}

.pg-foot__social svg {
  width: 18px;
  height: 18px;
}

.pg-foot__legal {
  margin: 8px 0 0;
  color: var(--pg-faint);
  font-size: .8125rem;
  line-height: 1.5;
}

/* Phones: "Polygonish" and the icons on one line, the links under them */
@media screen and (max-width:46.25em) {
  .pg-foot__row {
    gap: 0 16px;
  }

  .pg-foot__brand {
    flex: 1 1 auto;
  }

  .pg-foot__social {
    order: 2;
    margin-right: -12px; /* the icon sits in a 44px tap area; line its edge up with the text */
  }

  .pg-foot__links {
    order: 3;
    flex: 1 0 100%;
  }

  .pg-foot__links ul {
    gap: 0 16px;
  }

  .pg-foot__links a {
    min-height: 40px;
  }
}

/* Gallery: a short slide between images (was 1.2s) */
.pg-v2 .pg-gallery__track {
  transition-duration: .5s;
  transition-timing-function: cubic-bezier(.25, .8, .25, 1);
}

/* --- Feature icons in page content (About, "Who it's for"): the page's own coloured 100px PNGs
       are drawn as thin line icons in the text colour, the same weight as the header's icons
       (img/about/*.svg); the page content itself is shared with the live site and not edited --- */

.pg-v2 .entry-content figure:has(> img[src$="/game.png"])      { --pg-feature-icon: url(img/about/game.svg); }
.pg-v2 .entry-content figure:has(> img[src$="/media.png"])     { --pg-feature-icon: url(img/about/film.svg); }
.pg-v2 .entry-content figure:has(> img[src$="/learn.png"])     { --pg-feature-icon: url(img/about/training.svg); }
.pg-v2 .entry-content figure:has(> img[src$="/marketing.png"]) { --pg-feature-icon: url(img/about/presentation.svg); }

.pg-v2 .entry-content figure:has(> img[src$="/game.png"], > img[src$="/media.png"], > img[src$="/learn.png"], > img[src$="/marketing.png"]) {
  width: 32px;
  height: 32px;
  margin: 0 0 12px;
  background-color: var(--pg-ink);
  -webkit-mask: var(--pg-feature-icon) center / contain no-repeat;
  mask: var(--pg-feature-icon) center / contain no-repeat;
}

.pg-v2 .entry-content figure:has(> img[src$="/game.png"], > img[src$="/media.png"], > img[src$="/learn.png"], > img[src$="/marketing.png"]) > img {
  width: 32px;
  height: 32px;
  opacity: 0; /* still there for the layout and for anyone without CSS masks */
}

/* Pages that set their own width in their content (.pg-legal 780px, .pg-contact 860px) use the
   full width too */
.pg-v2 .pg-legal,
.pg-v2 .pg-contact {
  max-width: none !important;
}

/* Images in page text (About and any other page): at most --pg-image-max wide, on the left like
   the text; the feature icons keep their own 32px */
.pg-v2 .hentry:not(.pg-product) .entry-content .wp-block-image,
.pg-v2 .hentry:not(.pg-product) .entry-content .wp-block-image img,
.pg-v2 .hentry:not(.pg-product) .entry-content > p img {
  max-width: var(--pg-image-max);
}

.pg-v2 .hentry:not(.pg-product) .entry-content .wp-block-image img {
  width: 100%;
  height: auto;
}

/* Page text in two columns (inc/minimal.php polygonish_minimal_split_sections): a section with
   one image is text left, image right from 60em; stacked, image after the text, below */
.pg-v2 .entry-content .pg-split {
  display: grid;
  gap: 24px;
}
.pg-v2 .entry-content .pg-split__text > :first-child {
  margin-top: 0;
}
.pg-v2 .entry-content .pg-split__text > :last-child {
  margin-bottom: 0;
}
.pg-v2 .hentry:not(.pg-product) .entry-content .pg-split .wp-block-image,
.pg-v2 .hentry:not(.pg-product) .entry-content .pg-split .wp-block-image img {
  max-width: none;
  margin: 0;
}
@media (min-width: 60em) {
  .pg-v2 .entry-content .pg-split {
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
    margin-top: 56px;            /* the heading's rule and space, across both columns */
    padding-top: 20px;
    border-top: 1px solid var(--pg-rule);
  }
  .pg-v2 .entry-content .pg-split__text > h2:first-child {
    padding-top: 0;
    border-top: 0;
  }
}

/* Numbered page sections are as far apart as the home sections; the page's own spacer
   between two of them is left out */
.pg-v2 .entry-content .pg-cat--page + .pg-cat--page,
.pg-v2 .entry-content .pg-cat--page + .wp-block-spacer + .pg-cat--page {
  margin-top: var(--pg-cat-gap) !important;
}
.pg-v2 .entry-content .pg-cat--page + .wp-block-spacer:has(+ .pg-cat--page) {
  display: none;
}

/* Section content in page text starts and ends flush with the section (no block margins) */
.pg-v2 .entry-content .pg-cat__head .pg-cat__text > :first-child {
  margin-top: 0 !important;
}
.pg-v2 .entry-content .pg-cat__head .pg-cat__text > :last-child {
  margin-bottom: 0 !important;
}
.pg-v2 .entry-content .pg-cat__body > :first-child {
  margin-top: 0 !important;
}
.pg-v2 .entry-content .pg-cat__body > :last-child {
  margin-bottom: 0 !important;
}

/* Tables on phones (page text, e.g. Privacy): columns get too narrow to read, so each row shows
   as a block, every value under its column's name (inc/minimal.php polygonish_minimal_table_labels()
   adds the names). Each cell keeps the table's own padding and lines, as on wider screens. The
   heading row stays for screen readers only. */
@media screen and (max-width:46.25em) {
  .pg-v2 .entry-content table:has(td[data-label]),
  .pg-v2 .entry-content table:has(td[data-label]) :is(tbody, tr, td) {
    display: block;
    width: 100%;
  }

  .pg-v2 .entry-content table:has(td[data-label]) thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }


  .pg-v2 .entry-content table:has(td[data-label]) td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 2px;
    color: var(--pg-faint);
    font-size: .8125rem;
    line-height: 1.4;
  }
}

/* Checkout: the cart's remove icon inside the column (EDD gives it a negative margin) */
.pg-v2 .edd-blocks-cart__action-remove {
  margin-right: 0 !important;
}

/* Inside page text nothing keeps its own narrower width (an older rule caps paragraphs at 800px,
   Contact's blocks at 860px and the form fields at 600px); images keep --pg-image-max */
.pg-v2 .hentry:not(.pg-product) .entry-content :is(p, ul, ol, h2, h3, details, form, .fluentform, .wp-block-group, .wp-block-columns, .ff-el-group, .ff-el-form-control),
.pg-v2 .page-content :is(p, form) {
  max-width: none !important;
}

/* Lines break only between whole words: no automatic hyphenation (the old theme splits words
   like "simu-lation" across lines) */
.pg-v2,
.pg-v2 * {
  -webkit-hyphens: manual !important;
  hyphens: manual !important;
  word-break: normal;
  overflow-wrap: break-word; /* only a word longer than the line (a long link) may break */
}

/* Form fields keep one width (the contact form, the checkout's fields) while the text, headings
   and lines around them run full width */
.pg-v2 .hentry:not(.pg-product) .entry-content .fluentform,
.pg-v2 .wp-block-edd-checkout #edd_purchase_form .edd-blocks-form .edd-blocks-form__group { /* past an older rule that uncaps every form div */
  max-width: var(--pg-form-max) !important;
}

.pg-v2 .hentry:not(.pg-product) .entry-content .edd-blocks__purchase-form {
  max-width: none !important;
}

/* ==========================================================================
   Polygonish v2, previous / next model (inc/product-nav.php): a thin rule above (the section
   style), then on each side a small 4:3 thumbnail, a small grey label with a thin arrow and the
   model's name; no chevrons, capitals or extra rules.
   ========================================================================== */

.pg-v2 .pg-product .pg-product-nav {
  border-bottom: 0;
}

/* the theme's large chevrons */
.pg-v2 .pg-product-nav .nav-next::before,
.pg-v2 .pg-product-nav .nav-previous::before {
  display: none;
}

.pg-v2 .pg-product-nav .nav-links {
  align-items: center;
  gap: 24px;
}

.pg-v2 .pg-product-nav .nav-next,
.pg-v2 .pg-product-nav .nav-previous {
  min-height: 0;
}

.pg-v2 .pg-product-nav a {
  gap: 16px;
  margin: 0;
  padding: 8px 0;
  color: var(--pg-ink);
}

.pg-v2 .pg-product-nav .pg-product-nav__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pg-v2 .pg-product-nav .nav-previous .pg-product-nav__text {
  align-items: flex-end;
  text-align: right;
}

.pg-v2 .pg-product-nav .meta-nav {
  color: var(--pg-faint);
  font-size: .8125rem; /* 13px */
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
}

.pg-v2 .pg-product-nav .nav-next .meta-nav::before {
  content: "\2190\00a0"; /* ← */
}

.pg-v2 .pg-product-nav .nav-previous .meta-nav::after {
  content: "\00a0\2192"; /* → */
}

.pg-v2 .pg-product-nav .post-title {
  color: var(--pg-ink);
  font-size: var(--pg-text-size);
  font-weight: 400;
  line-height: 1.35;
  text-transform: none;
}

.pg-v2 .pg-product-nav a:hover .post-title,
.pg-v2 .pg-product-nav a:focus-visible .post-title {
  color: var(--pg-accent);
}

.pg-v2 .pg-product .pg-product-nav .pg-product-nav__image {
  width: 96px;
  max-width: none;
  height: auto;
  aspect-ratio: var(--pg-thumb-ratio);
  border-radius: 6px;
  background-color: var(--pg-image-bg);
  object-fit: contain;
}

/* Phones: no thumbnails (as before), the labels and names in two columns */
@media screen and (max-width:46.25em) {
  .pg-v2 .pg-product .pg-product-nav .pg-product-nav__image {
    display: none;
  }

  .pg-v2 .pg-product-nav .post-title {
    font-size: .875rem;
  }
}

/* Section headings whose section already has the thin rule (card rows, video) sit inside page
   text on product pages; the standalone-heading rule must not give them a second one */
.pg-v2 .entry-content .pg-related__title,
.pg-v2 .entry-content .pg-video__title {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* Card titles are h3s and often sit inside page text (category pages, You may also like); the
   page text's heading size must not reach them: one card title size everywhere */
.pg-v2 .pg-card .pg-card__title,
.pg-v2 .pg-mini-card .pg-mini-card__title {
  margin: 0 !important;
  font-size: .875rem !important; /* 14px */
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: normal;
}

@media screen and (max-width:46.25em) {
  .pg-v2 .pg-card .pg-card__title,
  .pg-v2 .pg-mini-card .pg-mini-card__title {
    font-size: .8125rem !important; /* 13px */
  }
}

/* ==========================================================================
   Polygonish v2, checkout in one column on every screen: the cart, then the form under it, each
   with its section heading, full width; the fields keep the form width (--pg-form-max).
   ========================================================================== */

/* EDD's grid: the cart and the form as far apart as any two sections; the cart's own space under
   it left out */
.pg-v2 .edd-blocks__checkout {
  gap: var(--pg-cat-gap);
}

.pg-v2 .edd-blocks__cart .edd-blocks-cart {
  margin-bottom: 0;
}

/* The category list inside page text (About): full width, no text-link underline, and the
   page's flex group around it doesn't squeeze it */
.pg-v2 .entry-content .wp-block-group:has(> .pg-home__list) {
  display: block;
}

.pg-v2 .entry-content .pg-home__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pg-v2 .entry-content .pg-home__list a {
  border-bottom: 0 !important;
  color: var(--pg-ink);
  text-decoration: none;
}

.pg-v2 .entry-content .pg-home__list a:hover .pg-home__list-name,
.pg-v2 .pg-home .pg-home__list a:hover .pg-home__list-name {
  color: var(--pg-accent);
}

.pg-v2 .entry-content .pg-home__list li {
  margin: 0;
  font-size: inherit !important;
}

.pg-v2 .entry-content .pg-home__list .pg-home__list-name {
  font-size: 2.25rem;
}

@media screen and (max-width:46.25em) {
  .pg-v2 .entry-content .pg-home__list .pg-home__list-name {
    font-size: 1.25rem;   /* 20px: under the section title's 28px */
  }

  .pg-v2 .entry-content .pg-home__list a {
    padding: 12px 0;
  }
}

/* Checkout: the Purchase button on the left, under the form like any form's button */
.pg-v2 #edd_checkout_form_wrap #edd-purchase-button,
.pg-v2 #edd-purchase-button {
  display: flex;
  width: fit-content;
  margin-left: 0 !important;
}


/* ==========================================================================
   Polygonish v2, product page in the home page's style (design "Product page"): the brand as a
   small blue label above the model name; under the gallery the intro (and Watch the preview) on
   the left, the details list with icons on the right; then numbered sections like the home
   page's (a dark line, a small blue number, a large title and a line on the left, the content on
   the right): Preview, License and delivery, More <category>, Recently viewed. The numbers are a
   CSS counter, so a section a product doesn't have (no video) leaves no gap.
   ========================================================================== */


.pg-v2 .pg-product__brand {
  display: block;
  margin-bottom: 8px;
  color: var(--pg-accent);
  font-size: .8125rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
}

/* Under the gallery: intro left, details right */
.pg-v2 .pg-product .pg-overview {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 32px 56px;
  max-width: none;
  margin: 32px 0 0;
  padding: 0;
  border: 0;
}

.pg-v2 .pg-overview__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.pg-v2 .pg-overview__text p {
  margin: 0;
  color: var(--pg-muted);
  font-size: var(--pg-text-size);
  line-height: var(--pg-text-line);
}

.pg-v2 .pg-overview .pg-specs {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
}

.pg-v2 .pg-overview .pg-specs__item {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 12px 0;
  border: 0;
  border-top: 1px solid var(--pg-rule-soft);
  font-size: .875rem;
  line-height: 1.4;
}

.pg-v2 .pg-overview .pg-specs__item:last-child {
  border-bottom: 1px solid var(--pg-rule-soft);
}

.pg-v2 .pg-overview .pg-specs__icon {
  flex: none;
  width: 24px;
  height: 24px;
  margin: 0;
}

.pg-v2 .pg-overview .pg-specs__label {
  color: var(--pg-muted);
}

.pg-v2 .pg-overview .pg-specs__value {
  margin-left: auto;
  text-align: right;
  color: var(--pg-ink);
  overflow-wrap: anywhere;
}

.pg-v2 .pg-overview .pg-tags {
  margin: 20px 0 0;
}

/* Preview: a smaller video; a second video sits under the first, in the same column */
.pg-v2 .pg-product .pg-video .wp-block-embed {
  grid-column: 2;
  width: 100%;
  max-width: 560px;
  margin: 0 !important;
}

/* on phones the first video keeps the sections' 24px under the heading */
@media screen and (max-width:59.9375em) {
  .pg-v2 .pg-product .pg-video .pg-cat__head + .wp-block-embed {
    margin-top: 24px !important;
  }
}

.pg-v2 .pg-product .pg-video.pg-cat:not(#pg-video) {
  margin-top: 24px !important;
  padding-top: 0 !important;
  border-top: 0;
}

/* License and delivery: the paragraphs side by side */
.pg-v2 .pg-license__notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

.pg-v2 .pg-license__notes p {
  margin: 0;
  color: var(--pg-muted);
  font-size: var(--pg-text-size);
  line-height: var(--pg-text-line);
}

@media screen and (max-width:59.9375em) {
  .pg-v2 .pg-product .pg-overview {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .pg-v2 .pg-license__notes {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}

/* Home page cards inside the product description area: no text-link underline */
.pg-v2 .entry-content .pg-mini-card__link,
.pg-v2 .entry-content .pg-mini-card__link:hover {
  border: 0;
  box-shadow: none;
  text-decoration: none;
}

.pg-v2 .entry-content .pg-home__cards {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pg-v2 .entry-content .pg-home__cards > li {
  margin: 0;
  padding: 0;
}

.pg-v2 .entry-content .pg-home__cards > li::before {
  content: none;
}

/* The search button shows an X while the search is open (it closes it) */
.pg-top__search-toggle .pg-icon--close {
  display: none;
}

.pg-top__search-toggle[aria-expanded="true"] .pg-icon--search {
  display: none;
}

.pg-top__search-toggle[aria-expanded="true"] .pg-icon--close {
  display: block;
}

@media screen and (max-width:59.6875em) {
  html.pg-search-open,
  html.pg-search-open body {
    overflow: hidden;
  }
}

/* Phones and tablets: the menu and the search fill the whole screen, over the bar, each with its
   own close button at the top right (the submenu's back arrow at the top left), so nothing of the
   page shows above them wherever the page is scrolled */
@media screen and (max-width:53.6875em) {
  .pg-v2 .pg-top.is-menu-open,
  .pg-v2 .pg-top.is-search-open {
    z-index: 1000;               /* over the product page's buy strip (40) */
    transform: none !important;  /* a moved header would carry the fixed panels with it */
  }

  .pg-v2 .pg-top__nav,
  .pg-v2 .pg-search-panel,
  .pg-v2 .pg-top__sub {
    top: 0 !important;
    z-index: 40;
  }

  .pg-v2 .pg-top__nav,
  .pg-v2 .pg-top__sub {
    padding-top: 72px;
  }

  .pg-v2 .pg-search-panel__inner {
    position: relative;
    padding-top: 72px;
  }

  .pg-v2 .pg-panel-close {
    position: absolute;
    top: 10px;
    z-index: 3;   /* stays over an open submenu */
    right: calc(var(--pg-side) - 12px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 0;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: var(--pg-ink) !important;
    cursor: pointer;
  }

  .pg-v2 .pg-panel-close .pg-icon {
    width: 22px;
    height: 22px;
  }

  @media (hover: hover) {
    .pg-v2 .pg-panel-close:hover {
      color: var(--pg-accent) !important;
    }
  }

  .pg-v2 .pg-top__sub .pg-top__back {
    position: absolute;
    top: 10px;
  }

  .pg-v2 .pg-top__sub {
    z-index: 2;
  }
}

/* "Recently viewed" page (/?view=recent): a category page; only its empty note is its own */
.pg-v2 .pg-recent-page__empty:not([hidden]) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  color: var(--pg-muted);
}


/* Previous / next: first in the description area, before License and delivery, each link taking
   half the width */
.pg-v2 .pg-product .pg-product-nav .nav-next,
.pg-v2 .pg-product .pg-product-nav .nav-previous {
  flex: 1 1 0;
  max-width: none;
}

/* ==========================================================================
   Product page, side layout (TEST, body.pg-product-side, inc/product-details.php
   POLYGONISH_PRODUCT_SIDE): from 60em the gallery on the left, the brand, title, price button,
   intro and details on the right; the numbered sections below, full width. Phones unchanged.
   ========================================================================== */
@media screen and (min-width:60em) {
  .pg-product-side .pg-product {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); /* the text a third */
    grid-template-rows: auto 1fr;
    column-gap: 56px;
    padding-top: 48px;
  }

  .pg-product-side .pg-product > * {
    grid-column: 1 / -1;
    min-width: 0;
  }

  .pg-product-side .pg-product > .pg-gallery-wrap:not(.pg-details-wrap) {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
    overflow: hidden;   /* the next image doesn't peek in beside the text */
    margin-top: 0;
  }

  .pg-product-side .pg-product > .pg-product__header {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;  /* the title, the price button on its right */
    align-items: start;
    gap: 12px 20px;
    padding: 0;
  }

  .pg-product-side .pg-product__header > :not(.pg-product__buy) {
    grid-column: 1;
  }

  /* beside the button the title has a third of the page: a step smaller, whole words only */
  .pg-v2.pg-product-side .pg-product__title {
    font-size: 2.5rem !important; /* 40px */
    line-height: 1.05 !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .pg-product-side .pg-product__header > .pg-product__buy {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: start;
    margin-top: 24px !important;  /* level with the model name, under the brand label */
  }

  .pg-product-side .pg-product > .pg-details-wrap {
    grid-column: 2;
    grid-row: 2;
    margin-top: 32px;
    padding-top: 0 !important;  /* not the section gap it has under the gallery */
  }

  .pg-product-side .pg-product .pg-overview {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 0;
  }

  .pg-product-side .pg-product > .entry-content {
    grid-row: 3;
  }

  .pg-product-side .pg-product > .entry-footer {
    grid-row: 4;
  }

  /* one image across the whole gallery column: the slides and the toolbar under them share this
     width (the older layout showed 80% with the next image peeking in) */
  .pg-product-side .pg-gallery {
    --pg-slide-width: 100%;
  }
}

/* Carousels: the home page's sections and the product page's (More <category>, Recently viewed):
   six cards, three at the home page's size plus a bit of the fourth in view; the arrows at the top
   right move them (js/card-rows.js, mouse users only); phones keep the home page's sideways row */
@media screen and (min-width:46.3125em) {
  .pg-v2 .pg-cat__cards {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 3 * 20px) / 3.25);
    gap: 20px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }

  .pg-v2 .pg-cat__cards::-webkit-scrollbar {
    display: none;
  }

  .pg-v2 .pg-cat__cards > li {
    scroll-snap-align: start;
  }

  .pg-v2 .pg-cat {
    position: relative;
  }

  .pg-v2 .pg-cat .pg-row-nav {
    position: absolute;
    top: 28px;
    right: 0;
    margin: 0;
  }
}

/* Previous / next: the list's name and the model's place in it in the middle */
.pg-v2 .pg-product-nav .nav-links {
  align-items: center;
}

.pg-v2 .pg-product-nav__spacer {
  flex: 1 1 0;
}

.pg-v2 .pg-product .pg-product-nav__where {
  display: flex;
  flex: none;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin: 0;
  text-align: center;
}

.pg-v2 .pg-product-nav__list {
  color: var(--pg-faint);
  font-size: .8125rem;
  text-decoration: none;
}

.pg-v2 a.pg-product-nav__list:hover,
.pg-v2 a.pg-product-nav__list:focus-visible {
  color: var(--pg-accent); /* the links' hover: blue, no underline */
  text-decoration: none;
}

.pg-v2 .pg-product-nav__count {
  color: var(--pg-ink);
  font-size: .875rem;
  font-variant-numeric: tabular-nums;
}

/* Product title: the machine type as a subtitle under the model name (inside the heading, so the
   page title reads "Kobelco SK140SRLC Excavator") */
.pg-v2 .pg-product__type {
  display: block;
  margin-top: 8px;
  color: var(--pg-muted);
  font-size: 1.25rem;  /* 20px */
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: normal;
}

@media screen and (max-width:46.25em) {
  .pg-v2 .pg-product__type {
    font-size: 1.0625rem; /* 17px */
  }
}

/* Every screen: an open search or menu panel (and the dimmed page behind it) sits over the
   product page's buy strip (z-index 40) */
.pg-v2 .pg-top.is-search-open,
.pg-v2 .pg-top.is-menu-open,
.pg-v2 .pg-top.is-flyout {
  z-index: 1000;
}

.pg-v2 .pg-search-backdrop.is-open {
  z-index: 999;
}

/* Sections on phones: whatever comes under the heading (models, list, text, video) keeps the models' distance from
   the line above (24px) */
@media screen and (max-width:59.9375em) {
  .pg-v2 .pg-cat__head + * {
    margin-top: 24px !important;
  }
}

/* Card names, the same on every card (inc/brands.php polygonish_product_names()): a small
   brand · type line over the model name. Home and section cards (.pg-mini-card), store cards
   (.pg-card: category pages, search, Recently viewed page) and the large card (.pg-hero__feature:
   the rigged section and the hero's image) only differ in size and layout. */
.pg-v2 .pg-card-meta {
  display: block;
  color: var(--pg-faint);
  font-size: .8125rem; /* 13px */
  font-weight: 400;
  line-height: 1.4;
}

.pg-v2 .pg-card__name {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

/* store cards: the price on the model name's line */
.pg-v2 .pg-card__text {
  align-items: last baseline;
}

/* phones stack the price under the name (a column): keep both on the left edge */
@media screen and (max-width:46.25em) {
  .pg-v2 .pg-card__text {
    align-items: flex-start;
  }
}

/* large card: label, brand · type, model, the price on the right */
.pg-v2 .pg-hero__feature:not(.pg-hero__player) .pg-hero__meta {
  grid-column: 1;
  grid-row: 2;
}

.pg-v2 .pg-hero__feature:not(.pg-hero__player) .pg-hero__name {
  grid-column: 1;
  grid-row: 3;
}

@media screen and (max-width:46.25em) {
  .pg-v2 .pg-card-meta {
    font-size: .75rem;
  }
}

/* Hero switcher under the home hero: a test tool, printed on local sites only
   (inc/minimal.php polygonish_minimal_hero_debug()); the buttons are the shared soft button */
.pg-v2 .pg-debug {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 16px 0 0;
  padding: 12px 0;
  border-top: 1px dashed var(--pg-rule);
  border-bottom: 1px dashed var(--pg-rule);
}

.pg-v2 .pg-debug__label {
  margin-right: 8px;
  color: var(--pg-faint);
  font-size: .8125rem;
}

.pg-v2 .pg-debug .pg-debug__hero {
  margin-top: 0;
  gap: 8px;
}

.pg-v2 .pg-debug__meta {
  color: var(--pg-faint);
  font-size: .75rem;
  font-variant-numeric: tabular-nums;
}

.pg-v2 .pg-debug .pg-debug__hero[aria-pressed="true"] {
  background: var(--btn-bg);
  color: var(--btn-color);
}

.pg-v2 .pg-debug .pg-debug__hero[aria-pressed="true"] .pg-debug__meta {
  color: inherit;
  opacity: .7;
}

/* Previous / next model: only the link itself (image and name) is clickable. The parent theme
   stretches an empty ::before overlay over the whole half of the bar, which made the empty space
   beside the link clickable too. */
.pg-v2 .pg-product-nav .nav-links a::before {
  content: none;
}

/* Product page on phones: Description, Preview and License in one tab block (js/product-tabs.js
   moves them in below 46.25em). Text tabs on one line with a rule under the row; the chosen one
   is ink with an ink underline. The tab names stand for the section titles, so the panels hide their
   own heads, and the block takes one place in the section numbering (none). */
@media screen and (max-width:46.25em) {
  .pg-v2 .pg-product .pg-tabs {
    display: block;
    padding-top: 0;
    border-top: 0;
    margin-top: 32px !important;
  }

  .pg-v2 .pg-tabs__list {
    display: flex;
    gap: 24px;
    margin: 0 0 32px;
    border-bottom: 1px solid var(--pg-rule);
  }

  .pg-v2 .pg-tabs .pg-tabs__tab {
    position: relative;
    min-height: 48px;
    margin: 0 0 -1px;          /* the underline sits on the row's line */
    padding: 0;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: none;
    color: var(--pg-muted);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: none;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease;
  }

  .pg-v2 .pg-tabs .pg-tabs__tab:hover,
  .pg-v2 .pg-tabs .pg-tabs__tab:focus-visible {
    background: none;
    color: var(--pg-ink);
  }

  .pg-v2 .pg-tabs .pg-tabs__tab:focus-visible {
    outline: 2px solid var(--pg-ink);
    outline-offset: 2px;
  }

  .pg-v2 .pg-tabs .pg-tabs__tab[aria-selected="true"] {
    color: var(--pg-ink);
    border-bottom-color: var(--pg-ink);
  }

  .pg-v2 .pg-tabs .pg-tabs__panel,
  .pg-v2 .pg-tabs .pg-tabs__panel > .pg-overview {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0;
  }

  .pg-v2 .pg-tabs .pg-tabs__panel[hidden] {
    display: none !important;
  }

  .pg-v2 .pg-tabs .pg-tabs__panel > .pg-cat__head {
    display: none;
  }

  .pg-v2 .pg-product .pg-tabs .pg-tabs__panel.pg-cat > .pg-cat__head + * {
    margin-top: 0 !important;  /* the head is hidden, so no gap under it */
  }

  .pg-v2 .pg-tabs .pg-cat:has(> .pg-cat__head) {
    counter-increment: none;
  }
}

/* Phones: every section shows only its number and title (no line of text under it). Page sections
   (.pg-cat--page, About / Contact) keep their text: it is the page's own content. The card rows
   show no previous / next arrows: the next card peeks in, so people swipe. */
@media screen and (max-width:46.25em) {
  .pg-v2 .pg-cat:not(.pg-cat--page) > .pg-cat__head .pg-cat__text {
    display: none;
  }

  .pg-v2 .pg-cat .pg-row-nav {
    display: none !important;
  }
}




/* "Back to search" above a category's title, when it was opened from the search results
   (js/search-back.js): the small muted label of the previous / next model links */
.pg-v2 .pg-back {
  display: inline-flex;
  align-items: center;
  margin: 0 0 16px;
  color: var(--pg-muted);
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  transition: color .2s ease;
}

.pg-v2 .pg-back::before {
  content: "\2190\00a0"; /* ← */
}

.pg-v2 .pg-back:hover,
.pg-v2 .pg-back:focus-visible {
  color: var(--pg-ink);
}



/* Wide screens, like apple.com: a menu item with sub-items opens them on hover (or keyboard focus)
   in a full-width panel under the bar (js/minimal-header.js, .is-drop): the item's name small and
   grey, then big links, "Explore all" first; the page dims and blurs behind (.pg-search-backdrop).
   No arrows on the items. */
@media screen and (min-width:53.75em) {
  .pg-v2 .pg-top__nav li.has-sub {
    position: static;
  }

  .pg-v2 .pg-top__nav li.has-sub > a > .pg-icon {
    display: none;
  }

  .pg-v2 .pg-top__sub {
    position: absolute;
    top: calc(100% - 1px);   /* overlaps the bar by a pixel: no seam between them */
    right: 0;
    left: 0;
    z-index: 31;
    display: block;
    padding: 0;
    background: var(--pg-bg);
    box-shadow: 0 1px 0 var(--pg-rule);
    clip-path: inset(0 0 -1px 0);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition: opacity .2s ease, transform .3s ease, visibility 0s linear .3s;
  }

  .pg-v2 .pg-top__sub.is-drop {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity .2s ease, transform .3s ease;
  }

  .pg-v2 .pg-top.is-flyout-switch .pg-top__sub {
    transition: none;
  }

  .pg-v2 .pg-top__sub .pg-top__back {
    display: none;
  }

  /* columns, lined up with the logo, like apple.com: the item's own links, then smaller lists */
  .pg-v2 .pg-top__sub-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 32px 56px;
    max-width: calc(var(--pg-wrap) + 2 * var(--pg-side));
    margin: 0 auto;
    padding: 40px var(--pg-side) 64px;
    box-sizing: border-box;
  }

  .pg-v2 .pg-top__nav .pg-top__sub ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    margin: 0;
    padding: 0;
  }

  .pg-v2 .pg-top__nav .pg-top__sub .pg-top__sub-main {
    min-width: 240px;
    margin-right: 48px;
  }

  /* each column's name, small and grey */
  .pg-v2 .pg-top__nav .pg-top__sub ul::before {
    content: attr(data-label);
    margin-bottom: 14px;
    color: var(--pg-muted);
    font-size: .8125rem;
    line-height: 1.4;
  }

  .pg-v2 .pg-top__nav .pg-top__sub a {
    padding: 4px 0;
    color: var(--pg-ink);
    font-size: .875rem;   /* 14px */
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
    transition: color .15s ease;
  }

  .pg-v2 .pg-top__nav .pg-top__sub .pg-top__sub-main a {
    padding: 5px 0;
    font-size: 1.75rem;   /* 28px */
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.015em;
  }

  .pg-v2 .pg-top__nav .pg-top__sub a:hover,
  .pg-v2 .pg-top__nav .pg-top__sub a:focus-visible {
    color: var(--pg-accent);
  }
}

/* Wide screens: the subcategories' own come in their columns, not under the big links */
@media screen and (min-width:53.75em) {
  .pg-v2 .pg-top__nav .pg-top__sub ul.pg-top__kids {
    display: none;
  }
}

/* Phones and tablets: only the item's own links in the slide-in submenu, each subcategory's own
   subcategories as smaller links under it */
@media screen and (max-width:53.6875em) {
  .pg-top__sub-more {
    display: none !important;
  }

  /* As many columns as fit (one on phones, two or three on tablets); a group never splits,
     "Explore all" runs across the top */
  .pg-v2 .pg-top__nav .pg-top__sub .pg-top__sub-main {
    display: block;
    column-width: 200px;
    column-gap: 40px;
  }

  .pg-v2 .pg-top__nav .pg-top__sub .pg-top__sub-main > li {
    break-inside: avoid;
  }

  .pg-v2 .pg-top__nav .pg-top__sub .pg-top__sub-main > li:first-child {
    column-span: all;
  }

  .pg-v2 .pg-top__nav .pg-top__kids {
    display: block;
    margin: 0 0 10px;
    padding: 0 0 0 2px;
    list-style: none;
  }

  .pg-v2 .pg-top__nav .pg-top__kids li {
    margin: 0;
    opacity: 1;
    transform: none;
  }

  .pg-v2 .pg-top__nav .pg-top__kids a {
    padding: 5px 0;
    color: var(--pg-muted);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pg-v2 .pg-top__sub {
    transition: none !important;
  }
}

/* Wide screens down to 860px: the full menu bar. The space between items shrinks with the window;
   if the bar still doesn't fit on one line, js/minimal-header.js adds .is-compact and the logo
   keeps only its mark (the "Polygonish" word hides) */
@media screen and (min-width:53.75em) {
  .pg-v2 .pg-top__bar {
    column-gap: clamp(12px, 2vw, 40px);
  }

  .pg-v2 .pg-top__nav ul {
    column-gap: clamp(10px, 1.6vw, 28px);
  }

  .pg-v2 .pg-top.is-compact .pg-top__brand span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;   /* hidden from view, still the link's name */
  }
}


/* Page section images (About): one 16:9 frame for all, the whole picture inside it (never
   cropped), the spare room in the colour of the picture's own edges (js/frame.js), so its
   background reaches the frame's edges (inc/minimal.php polygonish_minimal_framed_image()) */
.pg-v2 .pg-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
  border-radius: 6px;
  background-color: var(--pg-frame-color, transparent);
}

.pg-v2 .pg-frame img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  object-fit: contain;
  border-radius: 0;
}

/* Columns in page sections that open with a small icon and a title (About "Who it's for"): on
   phones the icon sits beside the title instead of above it */
@media screen and (max-width:46.25em) {
  .pg-v2 .entry-content .pg-cat__body .wp-block-column:has(> .wp-block-image:first-child + .wp-block-heading) {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 14px;
  }
  .pg-v2 .entry-content .pg-cat__body .wp-block-column:has(> .wp-block-image:first-child + .wp-block-heading) > .wp-block-image:first-child {
    margin: 0 !important;
  }
  .pg-v2 .entry-content .pg-cat__body .wp-block-column:has(> .wp-block-image:first-child + .wp-block-heading) > .wp-block-heading {
    margin: 0 !important;
  }
  .pg-v2 .entry-content .pg-cat__body .wp-block-column:has(> .wp-block-image:first-child + .wp-block-heading) > :nth-child(n+3) {
    grid-column: 1 / -1;
    margin: 8px 0 0;
  }
}

/* The brand over a product's name links to all its models (taxonomy-download_brand.php) */
.pg-v2 a.pg-product__brand,
.pg-v2 a.pg-product__brand:hover,
.pg-v2 a.pg-product__brand:focus-visible {
  border: 0;
  color: var(--pg-accent);
  text-decoration: none;
}
