@charset "UTF-8";
*, *::before, *::after {
  box-sizing: inherit;
  -webkit-font-smoothing: antialiased;
  word-break: break-word;
  word-wrap: break-word;
}

* {
  margin: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: none;
  background: #fff;
  font-size: 18px;
}
@media screen and (min-width: 1080px) {
  html {
    font-size: 20px;
  }
}

html {
  height: 100%;
}

body {
  background: #fff;
  color: currentColor;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 400;
  text-align: left;
  box-sizing: border-box;
}

p:empty {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.25;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 1rem;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: currentcolor;
  display: inline-block;
  text-decoration: none;
}
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
  text-decoration: underline;
}

.center {
  text-align: center;
}

h1 {
  font-size: 5em;
  line-height: 1;
}

h2 {
  font-size: 3.5em;
  line-height: 1;
}

h3 {
  font-size: 2em;
  line-height: 1.2;
}

h4 {
  font-size: 1.5em;
}

h5 {
  font-size: 1.2em;
  line-height: 1.5;
}

h6 {
  font-weight: 600;
  font-size: 0.8em;
  line-height: 1.6;
  text-transform: uppercase;
  letter-spacing: 1px;
}

h5,
h6 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}

h1.alignwide,
h1.alignfull,
h2.alignwide,
h2.alignfull,
h3.alignwide,
h3.alignfull,
h4.alignwide,
h4.alignfull,
h5.alignwide,
h5.alignfull,
h6.alignwide,
h6.alignfull {
  margin-top: 0;
  margin-bottom: 1rem;
}

blockquote,
ol,
p,
pre,
ul {
  line-height: 1.6;
  margin-top: 0;
  margin-bottom: 2rem;
}

b,
strong {
  font-weight: 700;
}

i,
em {
  font-style: italic;
}

ul,
ol {
  margin-top: 0;
  padding-left: 1em;
}

li {
  line-height: 1.5;
  margin: 0.5rem 0 0;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

hr {
  margin: 4rem auto;
  border: none;
  border-top: 1px solid;
  box-sizing: border-box;
  opacity: 0.2;
}

.clear {
  clear: both;
}

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

p.wp-caption-text {
  padding-bottom: 0;
}

figcaption,
p.wp-caption-text {
  font-size: 0.8em;
  font-weight: normal;
  line-height: 1.6;
  text-align: center;
  margin: 0.5rem auto !important;
  opacity: 0.5;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

cite {
  display: inline-block;
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.6;
  opacity: 0.4;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
cite:before {
  content: "- ";
}

.wp-block-gallery figcaption {
  margin-top: 0 !important;
}

.wp-caption.alignleft,
img.alignleft {
  float: left;
  max-width: 60% !important;
  margin: 10px 60px 40px 0;
  box-sizing: border-box;
}

.wp-caption.alignright,
img.alignright {
  float: right;
  width: 60% !important;
  max-width: 60%;
  margin: 10px 0 40px 60px;
  box-sizing: border-box;
}

a {
  color: currentColor;
  text-decoration: underline;
  position: relative;
  transition: all 0.2s ease;
}
a:hover {
  text-decoration: none;
}

th,
td {
  padding: 1rem;
  font-size: 0.7em;
  line-height: 1.2;
  color: currentColor;
}

th {
  font-weight: 600;
}

td {
  vertical-align: middle;
}
td small {
  font-weight: normal;
}

tbody:first-child tr:first-child th,
tbody:first-child tr:first-child td {
  border-top: none;
}

tr:first-child td {
  border-top: none;
}

tbody th {
  border-top: 1px solid rgba(17, 17, 17, 0.15);
}

tfoot {
  padding-top: 1rem;
}
tfoot th,
tfoot td {
  border: none;
}
tfoot th {
  padding: 0.5rem 0;
}
tfoot td {
  padding: 0.5rem 1.2rem;
}

label {
  font-size: 15px;
  font-weight: 600;
  width: 100%;
  margin-bottom: 0;
  display: block;
  line-height: 1.5;
  color: currentColor;
}

input,
textarea {
  width: 100%;
  border: 1px solid;
  border-radius: 0px;
  background: transparent;
  color: currentColor;
  padding: 15px 20px;
  font-family: inherit;
  font-size: 1em;
  line-height: 1;
  font-weight: normal;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: border-color 0.15s;
}

input[type=radio] {
  padding: 0;
  width: auto;
  height: auto;
  line-height: normal;
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

input[type=checkbox] {
  padding: 0;
  width: auto;
  height: auto;
  line-height: normal;
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

select {
  border: 1px solid;
  border-radius: 0px;
  background: transparent;
  padding: 15px 20px;
  font-family: inherit;
  font-size: 1em;
  color: currentColor;
  width: 100%;
  font-weight: normal;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  position: relative;
  text-overflow: "";
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Targetting Webkit browsers only. FF will show the dropdown arrow with so much padding. */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  select {
    padding-right: 14px;
  }
}
textarea {
  resize: none;
  width: 100%;
  height: 180px;
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 1.6;
}

button,
.button,
ul.page-numbers li span,
ul.page-numbers li a,
ul.page-numbers li span.onsale,
ul.page-numbers li a.onsale,
.wc-block-grid__product-onsale,
.onsale,
.button.onsale,
.pagination a.onsale,
.pagination a,
.wp-block-button__link,
input[type=submit] {
  background: #111;
  border: 2px solid transparent;
  color: #fff;
  outline: none;
  display: inline-block;
  border-radius: 5px;
  width: auto;
  font-family: inherit;
  font-size: 17px;
  line-height: 1;
  font-weight: 500;
  padding: 22px 34px;
  text-align: center;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  transition: all 0.2s ease;
}
button:hover,
.button:hover,
ul.page-numbers li span:hover,
ul.page-numbers li a:hover,
.wc-block-grid__product-onsale:hover,
.onsale:hover,
.pagination a:hover,
.wp-block-button__link:hover,
input[type=submit]:hover {
  opacity: 0.8;
  cursor: pointer;
}

.is-style-outline > .wp-block-button__link,
.wp-block-button__link.is-style-outline {
  padding: 22px 34px;
  border-color: currentcolor;
}

.is-style-outline > .wp-block-button__link:not(.has-text-color),
.wp-block-button__link.is-style-outline:not(.has-text-color) {
  color: currentcolor;
}

input::placeholder,
textarea::placeholder {
  color: currentColor;
  opacity: 0.5;
  font-weight: 400;
  font-size: 1em;
  text-align: left;
}

input:focus::placeholder {
  transition: opacity 0.1s 0.1s ease;
  opacity: 0;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

a.icon {
  background-image: none;
  box-shadow: none;
}

.svg-icon path,
.svg-icon circle {
  fill: currentColor;
}

.alignwide,
.alignfull {
  margin: 6rem auto;
}

.alignfull {
  max-width: calc(100vw - 120px);
  width: 100%;
  position: relative;
}

body.woocommerce-account .woocommerce {
  max-width: 100% !important;
  width: calc(100% - 6rem) !important;
}

.entry-header,
.alignwide {
  width: calc(100% - 12rem);
  margin-left: auto;
  margin-right: auto;
}

#page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
  max-width: 32rem;
  width: calc(100% - 4rem);
  margin-left: auto;
  margin-right: auto;
}

.entry-header {
  text-align: center;
  margin-top: 6rem;
  margin-bottom: 6rem;
}

.editorskit-title-hidden .entry-header,
.editorskit-title-hidden .woocommerce-products-header,
.caeditorkit-title-hidden .entry-header,
.caeditorkit-title-hidden .woocommerce-products-header {
  display: none;
}

.entry-media {
  margin-bottom: 6rem;
}

.featured-image {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.featured-image img {
  display: block;
  width: 100%;
  max-width: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  transition: opacity 0.2s;
}
.featured-image a:hover img {
  opacity: 0.98;
}

/*--- 

	HEADER

---*/
header a:not(.header-cta):not(.logo):not(.button):not(.wc-block-grid__product-onsale):not(.onsale):not(.button.onsale),
footer a:not(.header-cta):not(.logo):not(.button):not(.wc-block-grid__product-onsale):not(.onsale):not(.button.onsale) {
  color: currentColor;
}
header a:not(.header-cta):not(.logo):not(.button):not(.wc-block-grid__product-onsale):not(.onsale):not(.button.onsale):hover,
footer a:not(.header-cta):not(.logo):not(.button):not(.wc-block-grid__product-onsale):not(.onsale):not(.button.onsale):hover {
  opacity: 0.5;
}

header#site-header {
  position: relative;
  z-index: 99;
  width: 100%;
  padding: 0;
  text-align: center;
  display: flex;
  flex-flow: wrap;
  align-items: center;
}

.menu-is--open header#site-header {
  color: currentcolor !important;
}

.logo,
a.icon {
  font-weight: 700;
  color: currentColor;
}

.site-description {
  margin-left: 10px;
  opacity: 0.5;
}

a.logo {
  text-decoration: none;
  font-size: 1.25em;
}
a.logo img {
  display: block;
  max-width: 220px;
  max-height: 90px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

ul.menu {
  font-size: 1em;
  font-weight: 400;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
ul.menu li {
  list-style: none;
  position: relative;
  margin: 0 0.9rem;
}
ul.menu li a {
  display: flex;
  align-items: center;
  position: relative;
  text-decoration: none;
}
ul.menu li.menu-item-has-children .svg-icon {
  font-size: 0.8em;
}

header li.button, header li.wc-block-grid__product-onsale,
header li.onsale,
header li.button.onsale {
  line-height: 1;
  font-size: inherit;
  padding: 0;
  border: none;
  margin-left: 20px;
}
header li.button a, header li.wc-block-grid__product-onsale a,
header li.onsale a,
header li.button.onsale a {
  padding: 15px 25px;
}
header li.button a:hover, header li.wc-block-grid__product-onsale a:hover,
header li.onsale a:hover {
  opacity: 1 !important;
}

footer {
  font-weight: 500;
}
footer li.button, footer li.wc-block-grid__product-onsale,
footer li.onsale,
footer li.button.onsale {
  display: none;
}

header ul.sub-menu {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  margin: 0;
  left: calc(50% - 8px);
  top: 40px;
  border-radius: 8px;
  transform: translate(-50%, -5px);
  white-space: nowrap;
  z-index: 999;
  text-align: center;
  padding: 8px 0;
  min-width: 180px;
  border: none;
  background: #fff;
  box-shadow: 0 2px 30px 1px rgba(17, 17, 17, 0.1);
  -webkit-transition: all 0.4s cubic-bezier(0.7, 0, 0.175, 1) 0s;
  -ms-transition: all 0.4s cubic-bezier(0.7, 0, 0.175, 1) 0s;
  transition: all 0.4s cubic-bezier(0.7, 0, 0.175, 1) 0s;
}
header ul.sub-menu li {
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: left;
}
header ul.sub-menu li a {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 8px 15px;
  line-height: 1.2;
}
header ul.sub-menu li a:after {
  display: none;
}
header li:hover ul.sub-menu {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
  transition-delay: 0s;
}

.header-inner {
  padding: 2rem 40px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  position: relative;
}

.header-inner.alignfull {
  max-width: 100%;
}

.social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4em;
}
.social-links a.icon {
  padding: 0 0.1em;
  display: flex;
  align-items: center;
}
.social-links a.icon:first-of-type {
  padding-left: 0;
}
.social-links a.icon:last-of-type {
  padding-right: 0;
}

.cart-icon {
  display: none;
  align-items: center;
}

a + .cart-icon:before {
  content: "";
  border-left: 2px solid;
  opacity: 0.2;
  height: 12px;
  width: 1px;
  padding-left: 14px;
  margin-left: 14px;
}

body.cart-has-items .cart-icon {
  display: flex;
}

.cart-count {
  font-size: 0.4em;
  position: absolute;
  top: -7px;
  right: 2px;
}

.header-col {
  display: flex;
  align-items: center;
  width: 100%;
}

.header-col-logo,
.header-col-social {
  width: 20%;
}

.header-col-menu {
  width: 60%;
  justify-content: center;
}

.header-col-logo .logo-wrap {
  justify-content: flex-start;
  flex-flow: column;
}

.header-col-social {
  justify-content: flex-end;
}

.header-cta {
  font-size: 15px;
  font-weight: 500;
  background: #111;
  color: #fff;
  width: 100%;
  height: 45px;
  text-align: center;
  align-items: center;
  justify-content: center;
  letter-spacing: normal;
  display: none;
  text-transform: none;
  text-decoration: none;
}

body.has-header-cta:not(.page-template-page-landing) .header-cta {
  display: flex;
}

/*--- 

	FOOTER

---*/
footer#site-footer {
  margin-top: auto;
  background: transparent;
  padding: 0;
}
footer#site-footer .footer-content {
  margin-top: 0;
  margin-bottom: 0;
}
footer#site-footer .social-links {
  justify-content: center;
}
footer#site-footer .social-links > a {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
footer#site-footer .cart-icon,
footer#site-footer li.menu-item-has-children .svg-icon,
footer#site-footer ul.sub-menu {
  display: none;
}
footer#site-footer ul.menu {
  margin: 1rem auto;
}

.footer-cta {
  display: none;
  width: 100% !important;
  max-width: none !important;
  background: #F5F5F5;
  color: #111;
  padding: 6rem 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.show-footer-cta .footer-cta {
  display: block;
}

.footer-cta-content {
  margin: 0 auto;
}

.footer-bottom {
  display: flex;
  flex-flow: column;
  margin: 0 auto;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.footer-super-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.footer-super-bottom span + span {
  margin-top: 12px;
}

.nrdly-love {
  margin: 0;
}
.nrdly-love a {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-weight: normal;
}
.nrdly-love svg {
  margin-left: 5px;
}

form.newsletter {
  margin: 1.5rem auto;
  max-width: 460px;
  display: flex;
  justify-content: center;
}
form.newsletter input {
  margin: 0 2px;
}

p.optin-description + p.newsletter-button {
  margin-top: -0.5rem;
}

p.nrdly-gdpr {
  margin: 1rem 0;
  font-size: 0.8em;
  opacity: 0.5;
}

pre {
  font-family: monospace;
  font-size: 0.8em;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 1em;
  margin-top: 1em;
  margin-bottom: 2em;
  width: 100%;
}

code {
  padding: 4px 6px;
}

del {
  opacity: 0.5;
}

ins {
  text-decoration: none;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-small {
  margin-bottom: 0.5rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.has-inline-background {
  line-height: 1.5;
}

.grid {
  display: grid;
  grid-gap: 60px;
  grid-template-columns: repeat(auto-fill, minmax(460px, 1fr));
}

.grid-3 {
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
}

.grid-4 {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.wp-block-cover.alignfull {
  max-width: 100vw;
}

.wp-block-cover {
  padding: 0;
  min-height: 460px;
}
.wp-block-cover .wp-block-columns {
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.wp-block-cover .wp-block-embed {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {
  max-width: none;
  width: calc(100% - 12rem);
}

.wp-block-cover__inner-container {
  padding: 6rem 0;
}
.wp-block-cover__inner-container .alignfull {
  width: 100%;
}
.wp-block-cover__inner-container .wp-block-media-text {
  margin-top: 0;
  margin-bottom: 0;
}

.wp-block-media-text .wp-block-media-text__content {
  padding-left: 80px;
  padding-right: 80px;
}

.wp-block-cover.alignfull {
  max-width: 100vw;
  width: 100%;
}

.wp-block-quote,
.wp-block-quote.is-style-large {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.wp-block-quote {
  font-weight: 700;
  position: relative;
}
.wp-block-quote p:last-of-type {
  margin-bottom: 0.3rem;
}
.wp-block-quote:before {
  border-left: 2px solid;
  content: "";
  margin-left: -20px;
  position: absolute;
  height: 100%;
}

.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
  padding: 0;
}
.wp-block-quote.is-large:before,
.wp-block-quote.is-style-large:before {
  display: none;
}
.wp-block-quote.is-large p,
.wp-block-quote.is-style-large p {
  font-style: normal;
  font-size: 2em;
  line-height: 1.3;
}

.wp-block-pullquote {
  border-top: 2px solid;
  border-bottom: 2px solid;
  margin-top: 3rem;
  margin-bottom: 3rem;
  text-align: left;
}
.wp-block-pullquote blockquote {
  margin: 0;
}
.wp-block-pullquote p {
  font-size: 2em;
  line-height: 1.4;
}
.wp-block-pullquote p:last-of-type {
  margin-bottom: 0;
}

.wp-block-pullquote.is-style-solid-color {
  margin-top: 3rem;
  margin-bottom: 3rem;
  padding: 0;
}
.wp-block-pullquote.is-style-solid-color blockquote {
  max-width: none;
}

.wp-block-column .wp-block-columns {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}
.wp-block-column h1:first-of-type,
.wp-block-column h2:first-of-type,
.wp-block-column h3:first-of-type,
.wp-block-column h4:first-of-type,
.wp-block-column h5:first-of-type,
.wp-block-column h6:first-of-type,
.wp-block-column p:first-of-type {
  margin-top: 0;
}
.wp-block-column:not(:first-child) {
  margin-left: 100px !important;
}

.wp-block-buttons > .wp-block-button {
  margin-top: 0;
  margin-bottom: 1rem;
}

h1 + .wp-block-buttons > .wp-block-button,
h2 + .wp-block-buttons > .wp-block-button,
h3.wp-block-buttons > .wp-block-button,
h4.wp-block-buttons > .wp-block-button {
  margin-top: 0.5rem;
}

p + .wp-block-buttons > .wp-block-button {
  margin-top: -0.5rem;
}

.wp-block-gallery:not(.is-cropped) .blocks-gallery-grid {
  align-items: center;
}
.wp-block-gallery:not(.is-cropped) .blocks-gallery-grid .blocks-gallery-item {
  align-self: center;
}

.entry-content > .wp-block-image.alignnone,
.entry-content > .wp-block-image.aligncenter {
  max-width: 60rem !important;
  width: calc(100% - 8rem) !important;
}

.wp-block-image a img {
  display: block;
}

.wp-block-image.alignfull {
  max-width: 100vw;
}

/*
	PATTERN STYLES
*/
.wp-block-cover.hero {
  min-height: 100vh;
}

.nrdly-pattern-three-col .wp-buttons-block {
  margin-top: 0;
}
.nrdly-pattern-three-col .wp-block-column .wp-block-image {
  margin-top: 0 !important;
  margin-bottom: 1.5rem !important;
}

.nrdly-book-pattern .wp-block-image {
  text-align: center;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.nrdly-book-pattern .wp-block-image img {
  max-height: 80vh;
  width: auto;
  box-shadow: 0 20px 50px -30px rgba(1, 1, 1, 0.6);
}
.nrdly-book-pattern .wp-block-columns.alignwide,
.nrdly-book-pattern .wp-block-columns.alignfull {
  margin-top: 0;
  margin-bottom: 0;
}
.nrdly-book-pattern .wp-block-columns {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.nrdly-book-pattern .wp-block-column,
.nrdly-book-pattern .wp-block-column:not(:first-child) {
  margin: 0;
}
.nrdly-book-pattern .nrdly-book-content {
  padding: 0 120px 0 60px;
}

.nrdly-pattern-testimonial .wp-block-image {
  margin: 0 !important;
}
.nrdly-pattern-testimonial .wp-block-quote {
  margin: 0;
  text-align: left;
}
.nrdly-pattern-testimonial .wp-block-quote:before {
  display: none;
}
.nrdly-pattern-testimonial .wp-block-column.single-testimonial {
  padding: 0 2rem !important;
  margin: 0 !important;
}
.nrdly-pattern-testimonial .wp-block-column.single-testimonial p {
  margin: 1rem 0;
}
.nrdly-pattern-testimonial .wp-block-column.single-testimonial p:first-of-type {
  margin-top: 0;
}
.nrdly-pattern-testimonial .wp-block-column:not(:first-child) {
  margin-left: 2rem !important;
}
.nrdly-pattern-testimonial .single-testimonial-photo-col {
  max-width: 160px;
}
.nrdly-pattern-testimonial .single-testimonial.wp-block-column:not(:first-child) {
  margin-left: 5rem;
}
.nrdly-pattern-testimonial .single-testimonial {
  margin: 0;
  flex-grow: 0;
  flex-basis: 50%;
}
.nrdly-pattern-testimonial .single-testimonial .wp-block-columns .wp-block-column p:last-of-type {
  margin-bottom: 0;
}

.nrdly-pattern-testimonial + .nrdly-pattern-testimonial {
  margin-top: 3rem;
}

.nrdly-price-options .wp-block-cover__inner-container {
  margin-bottom: 0;
}
.nrdly-price-options .wp-block-column .wp-block-group {
  border-radius: 16px;
  padding: 50px 40px;
  box-shadow: 0 30px 80px -20px rgba(17, 17, 17, 0.15);
}
.nrdly-price-options .wp-block-column:not(:first-child) {
  margin-left: 60px !important;
}
.nrdly-price-options h1, .nrdly-price-options h2, .nrdly-price-options h3, .nrdly-price-options h4 {
  margin-bottom: 0.5rem;
}
.nrdly-price-options ul,
.nrdly-price-options ol,
.nrdly-price-options p {
  font-size: 0.8em;
}
.nrdly-price-options h5 {
  margin-bottom: 1.4rem;
}
.nrdly-price-options ul li {
  margin: 0.4rem 0;
}
.nrdly-price-options ul li:before {
  top: 1.1em;
}
.nrdly-price-options p {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.nrdly-price-options .wp-block-buttons {
  margin-bottom: 0;
}
.nrdly-price-options .wp-block-buttons .wp-block-button,
.nrdly-price-options .wp-block-buttons .wp-block-button a {
  width: 100%;
}

.nrdly-pattern-video-text .wp-block-column:not(:first-child) {
  margin-left: 0;
}

.nrdly-gallery-content-col {
  padding: 40px;
}

.nrdly-pattern-heading-p-columns .wp-block-column:not(:first-child) {
  margin-left: 3rem;
}

.nrdly-bookquotes-pattern .wp-block-columns {
  margin-bottom: 2rem;
  width: 100%;
}
.nrdly-bookquotes-pattern .is-book-cover .wp-block-image {
  padding-left: 50px;
  padding-right: 50px;
}
.nrdly-bookquotes-pattern .is-book-cover .wp-block-image img {
  box-shadow: 0 20px 50px -30px rgba(1, 1, 1, 0.6);
}
.nrdly-bookquotes-pattern .wp-block-quote:before {
  display: none;
}
.nrdly-bookquotes-pattern .wp-block-quote cite {
  margin-top: 0;
}
.nrdly-bookquotes-pattern p.book-quotes-buy {
  margin-top: 0;
}

@media screen and (max-width: 781px) {
  body.page-template-page-landing .wp-block-cover.hero {
    height: calc(100vh - (100vh - 100%));
  }

  .nrdly-book-pattern .nrdly-book-content {
    padding: 30px 0 0;
  }
  .nrdly-book-pattern .wp-block-columns {
    max-width: none;
    width: 100%;
  }

  .nrdly-pattern-testimonial {
    flex-flow: column;
  }
  .nrdly-pattern-testimonial .wp-block-column.single-testimonial {
    flex-grow: 1;
    flex-basis: 100%;
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
    padding: 0 !important;
  }
  .nrdly-pattern-testimonial .wp-block-column.single-testimonial .single-testimonial-photo-col {
    max-width: 100px;
    margin-bottom: 2rem;
  }
  .nrdly-pattern-testimonial .wp-block-column.single-testimonial .wp-block-column {
    margin-left: 0 !important;
    flex-basis: 100%;
  }

  .nrdly-gallery-content-col {
    padding: 20px 0;
  }

  .nrdly-pattern-heading-p-columns .wp-block-column:first-child {
    margin-bottom: 1rem;
  }
  .nrdly-pattern-heading-p-columns .wp-block-column:not(:first-child) {
    margin-left: 0;
  }

  .nrdly-bookquotes-pattern .wp-block-column {
    order: 2;
    margin-bottom: 0;
  }
  .nrdly-bookquotes-pattern .wp-block-column.is-book-cover {
    order: 1;
    margin-bottom: 0 !important;
  }
  .nrdly-bookquotes-pattern .wp-block-quote {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .nrdly-book-pattern .wp-block-cover__inner-container {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .nrdly-pattern-three-col .wp-block-column {
    margin-bottom: 3rem;
  }
  .nrdly-pattern-three-col .wp-block-column:last-of-type {
    margin-bottom: 0;
  }
}
/*---

	INDEX.PHP

---*/
.tax-button-links {
  margin-top: 0.6rem;
}
.tax-button-links a {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 8px;
  padding: 10px 15px;
  font-size: 0.75em;
  text-decoration: none;
  display: inline-block;
  margin: 2px 1px 4px 0;
  transition: all 0.15s ease;
}
.tax-button-links a:hover {
  background: rgba(0, 0, 0, 0.1);
}

h2.article-title {
  font-size: 1.2em;
  line-height: 1.5;
  margin: 0.5rem 0;
}

.entry-meta {
  display: flex;
  align-items: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
  text-align: center;
  font-weight: 600;
}
.entry-meta div + div:before {
  content: "/";
  margin: 0 0.8rem;
}
.entry-meta a {
  text-decoration: none;
}
.entry-meta a:hover {
  text-decoration: underline;
}

.featured-thumb {
  display: block;
}

.excerpt,
.sub-title {
  font-size: 1.2em;
  opacity: 0.6;
}
.excerpt p,
.sub-title p {
  margin: 0;
}

.index-card {
  margin-bottom: 2rem;
}
.index-card .featured-thumb {
  margin-bottom: 0.7rem;
}
.index-card .excerpt,
.index-card .sub-title {
  font-size: 1em;
}
.index-card .cats a {
  text-decoration: none;
  font-size: 0.8em;
  opacity: 0.7;
}
.index-card .cats a:hover {
  text-decoration: underline;
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination a {
  margin: 0 4px;
}

/*---

	SINGLE.PHP

---*/
body.single .entry-header .excerpt,
body.blog .entry-header .excerpt,
body.category .entry-header .excerpt,
body.tag .entry-header .excerpt {
  max-width: 60%;
  margin-left: auto;
  margin-right: auto;
}

body.single .entry-meta {
  justify-content: center;
}

.entry-media.alignfull {
  width: 100%;
  text-align: center;
}
.entry-media.alignfull img {
  width: 100%;
}

p.comment-form-cookies-consent {
  display: none;
}

.entry-comments {
  margin-bottom: 3rem;
}

#comments h6 {
  margin-bottom: 0.5rem;
}
#comments p {
  margin-top: 0;
  margin-bottom: 10px;
  padding: 0;
}

ol.comment-list,
ol.commentlist {
  padding: 0;
  margin: 0 0 1rem;
}
ol.comment-list li,
ol.commentlist li {
  list-style: none;
}
ol.comment-list li.comment,
ol.comment-list li.pingback,
ol.commentlist li.comment,
ol.commentlist li.pingback {
  list-style: none;
  word-wrap: break-word;
  padding: 0;
}
ol.comment-list ol,
ol.commentlist ol {
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 10px;
}
ol.comment-list .comment-body,
ol.commentlist .comment-body {
  margin-bottom: 10px;
}

.comment-respond + ol.children {
  margin-top: 40px;
}

.comment-body,
.comment_container {
  margin: 1rem auto;
  width: 100%;
  clear: both;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.comment-body p,
.comment_container p {
  margin-bottom: 20px;
}

#respond {
  width: 100%;
  display: inline-block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.comment-body + #respond {
  padding-top: 40px;
}

a.comment-reply-link {
  font-size: 0.8rem;
  opacity: 0.5;
}

.comment-author {
  margin-bottom: 0.3rem;
  display: flex;
  align-items: center;
}
.comment-author .fn {
  margin-left: 0.5rem;
}

.comment-awaiting-moderation {
  line-height: 1.6;
  display: inline-block;
  margin-bottom: 20px;
}

img.avatar {
  margin-right: 10px;
  max-width: 40px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%;
}

.fn,
p.meta {
  font-style: normal;
  font-weight: 500;
  font-size: 0.9em;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.fn strong,
p.meta strong {
  font-weight: 500;
}

p.meta {
  margin-bottom: 5px;
}

p.comment-notes,
p.comment-form-url,
p.logged-in-as,
.says,
.comment-edit-link,
.commentmetadata {
  display: none;
}

a#cancel-comment-reply-link {
  margin-left: 5px;
  opacity: 0.4;
}

p.comment-form-author,
p.comment-form-email {
  width: 49%;
}

p.comment-form-comment {
  margin-bottom: 0;
}
p.comment-form-comment label {
  display: none;
}

p.comment-form-author,
p.comment-form-email {
  margin-bottom: 20px;
}

p.comment-form-author {
  float: left;
}

p.comment-form-email {
  float: right;
}

#comments p.form-submit,
p.form-submit {
  text-align: right;
  float: right;
  clear: both;
  margin-top: 0;
  margin-bottom: 0;
}

p.comment-form-cookies-consent {
  clear: both;
}
p.comment-form-cookies-consent input {
  display: inline-block;
  vertical-align: top;
  margin-top: 4px;
}
p.comment-form-cookies-consent label {
  font-weight: normal;
  text-transform: none;
  letter-spacing: normal;
  font-size: 16px;
  margin: 0 0 0 10px;
  max-width: 90%;
  display: inline-block;
  vertical-align: top;
}

.post-bottom-meta {
  display: flex;
  flex-flow: column;
  margin-top: 0;
  margin-bottom: 0;
}

.share-post-container {
  margin: 3rem auto;
  text-align: center;
}
.share-post-container h5 {
  font-size: 1em;
  line-height: 1.6;
  margin-top: 0;
  margin-bottom: 5px;
}
.share-post-container a {
  font-size: 1.5em;
  margin: 0 0.3rem;
}
.share-post-container a:hover {
  opacity: 0.5;
}

.navigation {
  margin: 3rem auto 8rem;
}

.nav-links {
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
}

.nav-previous a,
.nav-next a {
  margin: 0.2rem auto;
  display: inline-block;
  text-decoration: none;
  color: currentcolor;
  line-height: 1.6;
}
.nav-previous a:hover,
.nav-next a:hover {
  text-decoration: underline;
}

/***

	404

***/
body.error404 {
  text-align: center;
}
body.error404 footer {
  display: none;
}

/***

	LANDING

***/
.blocker {
  z-index: 999;
}

body.page-template-page-landing header#site-header,
body.page-template-page-landing footer#site-footer {
  display: none;
}

.modal {
  color: #111;
  text-align: center;
  max-width: 800px;
  padding: 50px;
  border-radius: 2px;
  box-shadow: 0 20px 30px rgba(1, 1, 1, 0.3);
}
.modal h4 {
  margin-top: 1rem;
}
.modal p {
  margin-top: 0;
  margin-bottom: 1rem;
}

.close-modal {
  display: none !important;
}

.nrdly-close-modal {
  font-size: 0.8em;
  margin: 1rem auto;
  text-align: center;
}

/***

	FREE TRIAL BANNER 

***/
#nrdly-freetrial-banner {
  display: none;
  box-shadow: 0 0 3px 2px rgba(1, 1, 1, 0.1);
  z-index: 999;
  left: 0;
  top: 0;
  bottom: 0;
  height: 80px;
  width: 100%;
  padding: 0 40px;
  box-sizing: border-box;
  position: fixed;
  background: #000;
  color: #fff !important;
  text-align: left;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, sans-serif !important;
}
#nrdly-freetrial-banner .freetrial-item-back-wrap,
#nrdly-freetrial-banner .freetrial-item-buttons-wrap {
  width: 25%;
}
#nrdly-freetrial-banner .dropdown-item-wrap {
  width: 50%;
}
#nrdly-freetrial-banner a.back-to-nrdly {
  text-decoration: none;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  display: flex;
  align-items: center;
  margin-right: auto;
}
#nrdly-freetrial-banner a.back-to-nrdly img {
  max-width: 40px;
  margin-right: 10px;
}
#nrdly-freetrial-banner a.back-to-nrdly:hover {
  opacity: 1;
}
#nrdly-freetrial-banner .control {
  text-align: center;
}
#nrdly-freetrial-banner .dropdown {
  background: #fff;
  display: none;
  position: absolute;
  left: calc(50% - 8px);
  top: 48px;
  border-radius: 4px;
  transform: translate(-50%, 0);
  padding: 16px 40px 16px 30px;
  z-index: 9999;
  box-shadow: 0 5px 20px -5px rgba(0, 0, 0, 0.15);
}
#nrdly-freetrial-banner .dropdown ul {
  margin: 0;
  padding: 0;
  text-align: left;
  font-weight: 400;
  font-size: 1em;
}
#nrdly-freetrial-banner .dropdown ul li {
  list-style: none;
  margin: 10px 0;
}
#nrdly-freetrial-banner .dropdown ul li a {
  text-decoration: none;
  color: #000;
}
#nrdly-freetrial-banner .dropdown ul li a:hover {
  text-decoration: underline;
}
#nrdly-freetrial-banner .dropdown.is-open {
  display: block;
}
#nrdly-freetrial-banner .freetrial-item:last-of-type {
  text-align: right;
}
#nrdly-freetrial-banner .button, #nrdly-freetrial-banner ul.page-numbers li span, ul.page-numbers li #nrdly-freetrial-banner span,
#nrdly-freetrial-banner ul.page-numbers li a,
ul.page-numbers li #nrdly-freetrial-banner a, #nrdly-freetrial-banner .wc-block-grid__product-onsale,
#nrdly-freetrial-banner .onsale, #nrdly-freetrial-banner .pagination a, .pagination #nrdly-freetrial-banner a {
  background: none !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  font-family: inherit;
  text-transform: none !important;
  letter-spacing: normal !important;
  border-radius: 0 !important;
  border: 2px solid #fff !important;
  padding: 16px 24px;
}
#nrdly-freetrial-banner .button:hover, #nrdly-freetrial-banner ul.page-numbers li span:hover, ul.page-numbers li #nrdly-freetrial-banner span:hover,
#nrdly-freetrial-banner ul.page-numbers li a:hover,
ul.page-numbers li #nrdly-freetrial-banner a:hover, #nrdly-freetrial-banner .wc-block-grid__product-onsale:hover,
#nrdly-freetrial-banner .onsale:hover, #nrdly-freetrial-banner .pagination a:hover, .pagination #nrdly-freetrial-banner a:hover {
  opacity: 0.9;
}
#nrdly-freetrial-banner .template-styles-dropdown-link {
  font-size: 1em;
  font-weight: 500;
  cursor: pointer;
  color: inherit;
  padding: 0;
  display: inline-block;
  transition: all 0.2 ease;
}
#nrdly-freetrial-banner .template-styles-dropdown-link:after {
  padding-left: 5px;
  content: "↓";
}
#nrdly-freetrial-banner .template-styles-dropdown-link:hover {
  opacity: 0.9;
}
#nrdly-freetrial-banner .dropdown-item-wrap {
  position: relative;
}
#nrdly-freetrial-banner .mobile-button {
  display: none;
}

.admin-deactivate {
  font-size: 24px;
}

body.has-nrdly-banner #nrdly-freetrial-banner {
  display: flex;
}
body.has-nrdly-banner #page {
  margin-top: 80px;
}

body.has-nrdly-banner.admin-bar #nrdly-freetrial-banner {
  top: 32px;
}

p.woocommerce-result-count,
.cart_totals h2,
body.woocommerce-account h2,
.woocommerce-product-search button,
.woocommerce-additional-fields h3,
th.download-file,
.woocommerce-review__dash,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon,
.woocommerce-MyAccount-navigation-link--members-area,
.recurring-totals,
.recurring-total,
.woocommerce-breadcrumb,
.woocommerce-noreviews,
.woocommerce #reviews #comments ol.commentlist img.avatar,
.address-field .optional,
label.woocommerce-form-login__rememberme,
#billing_address_2_field,
#shipping_address_2_field,
#review_form p.comment-form-cookies-consent,
.product_meta,
.woocommerce-ordering,
ul.tabs {
  display: none !important;
}

abbr {
  text-decoration: none;
}

abbr.required,
span.required {
  color: #FF5A44;
}

.wc-block-grid__product-onsale,
.onsale,
.button.onsale,
ul.page-numbers li span.onsale,
ul.page-numbers li a.onsale,
.onsale.wc-block-grid__product-onsale,
.onsale,
.pagination a.onsale {
  position: absolute;
  z-index: 8;
  margin: 0;
  line-height: 1;
  border: none;
  top: 8px;
  left: 8px;
}

.woocommerce-notices-wrapper ul {
  margin: 0 0 10px;
}
.woocommerce-notices-wrapper ul li {
  list-style: none;
  margin: 0;
}

.woocommerce-NoticeGroup {
  margin-bottom: 2rem;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  color: currentColor;
  padding: 1.25em 1.2em;
  margin-bottom: 1rem;
  background: #FFEC5D;
  font-size: 0.8em;
  border-radius: 6px;
  font-weight: 600;
  line-height: 1.5;
}
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
  margin: 0 10px;
  color: currentColor;
  padding: 0;
}
.woocommerce-message a.button,
.woocommerce-message ul.page-numbers li a,
ul.page-numbers li .woocommerce-message a, .woocommerce-message .pagination a, .pagination .woocommerce-message a, .woocommerce-message a.wc-block-grid__product-onsale,
.woocommerce-message a.onsale,
.woocommerce-info a.button,
.woocommerce-info ul.page-numbers li a,
ul.page-numbers li .woocommerce-info a,
.woocommerce-info .pagination a,
.pagination .woocommerce-info a,
.woocommerce-info a.wc-block-grid__product-onsale,
.woocommerce-info a.onsale,
.woocommerce-error a.button,
.woocommerce-error ul.page-numbers li a,
ul.page-numbers li .woocommerce-error a,
.woocommerce-error .pagination a,
.pagination .woocommerce-error a,
.woocommerce-error a.wc-block-grid__product-onsale,
.woocommerce-error a.onsale {
  display: none;
}
.woocommerce-message li:last-child,
.woocommerce-info li:last-child,
.woocommerce-error li:last-child {
  margin-bottom: 0;
}

.woocommerce-error {
  border: none;
  background: rgba(255, 90, 68, 0.5);
}

ul.woocommerce-error {
  flex-flow: column;
  align-items: flex-start;
  box-sizing: border-box;
  color: currentcolor;
  margin: 0;
}
ul.woocommerce-error li {
  list-style: none;
}

a.shipping-calculator-button {
  opacity: 0.4;
  border: none;
  font-size: 14px;
}

header.woocommerce-products-header {
  display: inherit;
  position: relative;
  text-align: center;
  margin-top: 6rem;
  margin-bottom: 6rem;
}

ul.products {
  margin-bottom: 0;
  padding: 0;
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(auto-fill, minmax(460px, 1fr));
  clear: both;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
ul.products li.product {
  list-style: none;
  text-align: center;
  margin-top: 0;
  margin-bottom: 80px;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
ul.products li.product a {
  position: relative;
  text-decoration: none;
  display: block;
  color: currentColor;
  background-image: none;
}
ul.products li.product a .woo-product-thumb {
  position: relative;
  transition: opacity 0.15s;
}
ul.products li.product a img {
  width: 100%;
  margin-bottom: 20px;
  display: block;
  position: relative;
}
ul.products li.product a:hover .woo-product-thumb {
  opacity: 0.9;
}
ul.products li.product a.button,
ul.products ul.page-numbers li.product a,
ul.page-numbers ul.products li.product a, ul.products li.product .pagination a, .pagination ul.products li.product a, ul.products li.product a.wc-block-grid__product-onsale,
ul.products li.product a.onsale {
  display: none;
}
ul.products li.product .star-rating {
  margin: 0.5rem auto;
}
ul.products li.product .price {
  display: block;
}

ul.products.columns-3 {
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
}

ul.products.columns-4 {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

h2.woocommerce-loop-product__title {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-size: 1em;
}

.product-overview {
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
}

.woocommerce-tabs {
  margin-left: auto;
  margin-right: auto;
}

.woocommerce-Tabs-panel {
  display: block !important;
  margin-top: 4rem;
  margin-bottom: 0;
}
.woocommerce-Tabs-panel h2 {
  font-size: 30px;
  margin-bottom: 1rem;
}
.woocommerce-Tabs-panel *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
  width: 100%;
}
.woocommerce-Tabs-panel input.submit {
  width: auto !important;
}

section.related {
  border-top: 1px solid rgba(17, 17, 17, 0.15);
  padding: 4rem 0 0;
}

.woocommerce-review__published-date {
  font-size: 0.85em;
  margin-left: 5px;
  opacity: 0.5;
}

.stars a {
  border: none;
}

.star-rating,
p.stars [class^=star-],
p.stars [class*=" star-"] {
  speak: none;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  font-size: 1em;
  font-family: dashicons;
}

.star-rating {
  overflow: hidden;
  position: relative;
  height: 1em;
  width: 5em;
  letter-spacing: normal;
  font-size: 0.8em;
}
.star-rating:before {
  content: "\f155\f155\f155\f155\f155";
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  color: currentcolor;
}
.star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}
.star-rating span:before {
  content: "\f155\f155\f155\f155\f155";
  top: 0;
  position: absolute;
  z-index: 9;
  left: 0;
  color: currentcolor;
}

.woocommerce-product-rating {
  display: flex;
  justify-content: center;
}
.woocommerce-product-rating .star-rating {
  margin-right: 10px;
}
.woocommerce-product-rating a.woocommerce-review-link {
  padding: 1px 0;
  font-size: 14px;
  border: none;
  color: currentcolor;
  background-image: none;
  box-shadow: none;
  transition: color 0.2s ease;
}

#review_form_wrapper {
  margin-top: 3rem;
}
#review_form_wrapper #reply-title {
  font-weight: bold;
  margin-bottom: 20px;
  display: inline-block;
}
#review_form_wrapper p {
  margin-top: 5px;
}

#reviews {
  width: 100%;
}

#reviews .star-rating,
#review_form .star-rating {
  display: inline-block;
  margin: 10px 0 0;
}
#reviews .comment-form-rating,
#review_form .comment-form-rating {
  float: left;
  margin-bottom: 1rem;
  margin-top: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#reviews p.stars a,
#review_form p.stars a {
  background-image: none;
  box-shadow: none;
  border: none;
  position: relative;
  height: 1em;
  width: 1em;
  text-indent: -999em;
  float: left;
  text-decoration: none;
}
#reviews p.stars a::before,
#review_form p.stars a::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: dashicons;
  content: "\f155";
  color: currentcolor;
  opacity: 0.2;
  text-indent: 0;
}
#reviews p.stars a:hover,
#review_form p.stars a:hover {
  opacity: 1;
}
#reviews p.stars a:hover ~ a::before,
#review_form p.stars a:hover ~ a::before {
  content: "\f155";
  color: currentcolor;
}
#reviews p.stars:hover a::before,
#review_form p.stars:hover a::before {
  content: "\f155";
  color: currentcolor;
  opacity: 0.3;
}
#reviews p.stars.selected a.active::before,
#review_form p.stars.selected a.active::before {
  content: "\f155";
  color: currentcolor;
  opacity: 0.8;
}
#reviews p.stars.selected a.active ~ a::before,
#review_form p.stars.selected a.active ~ a::before {
  content: "\f155";
  color: currentcolor;
  opacity: 0.4;
}
#reviews p.stars.selected a:not(.active)::before,
#review_form p.stars.selected a:not(.active)::before {
  content: "\f155";
  color: currentcolor;
  opacity: 1;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.woocommerce-product-attributes-item {
  display: flex;
}

table.shop_attributes {
  border: 0;
  border-top: 1px solid rgba(17, 17, 17, 0.15);
  margin-top: 20px;
  width: 100%;
}
table.shop_attributes th {
  width: 150px;
  font-weight: 600;
  padding: 8px;
  border-top: 0;
  border-bottom: 1px solid rgba(17, 17, 17, 0.15);
  margin: 0;
  line-height: 1.5;
}
table.shop_attributes td {
  font-style: italic;
  padding: 0;
  border-top: 0;
  border-bottom: 1px solid rgba(17, 17, 17, 0.15);
  margin: 0;
  line-height: 1.5;
}
table.shop_attributes td p {
  margin: 0;
  padding: 8px 0;
}

ul.payment_methods {
  padding-left: 0 !important;
}

#wc-stripe-cc-form .wc-stripe-elements-field {
  margin: 4px !important;
}

body.woocommerce-cart .cart-subtotal td {
  text-align: right;
}

body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout ul.woocommerce-error,
body.woocommerce-checkout form.login,
body.woocommerce-checkout form.register {
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
body.woocommerce-checkout .payment_box ul.woocommerce-error {
  width: 100%;
  margin: 0;
}
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #shipping_city_field,
body.woocommerce-checkout #shipping_state_field {
  width: 50%;
  float: left;
  clear: none;
}
body.woocommerce-checkout #customer_details {
  width: 100%;
  order: 2;
}
body.woocommerce-checkout #order_review {
  order: 1;
  width: 100%;
  padding: 6px 20px 20px;
  margin-bottom: 4rem;
  border-radius: 2px;
  background: #f5f5f5;
  box-shadow: 0 20px 30px -20px rgba(1, 1, 1, 0.1);
}
body.woocommerce-checkout #order_review .cart_item .product-name {
  font-weight: 500;
  font-size: 0.8em;
  display: flex;
  align-items: center;
}
body.woocommerce-checkout #order_review .cart_item .product-name .product-item-thumbnail {
  margin: 0 15px 0 0;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40px;
}
body.woocommerce-checkout #order_review .cart_item .product-name .product-item-thumbnail img {
  display: block;
  margin: 0;
  width: 40px;
}
body.woocommerce-checkout button#place_order {
  width: 100%;
  max-width: none;
}
body.woocommerce-checkout .woocommerce h3 {
  font-size: 1em;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.wc-stripe-elements-field,
.wc-stripe-iban-element-field {
  padding: 0.8em 1em !important;
  background-color: #fff;
  border-color: rgba(17, 17, 17, 0.15);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
}

.wc-stripe-elements-field {
  font-size: 17px;
}

.StripeElement--focus {
  border-color: currentColor !important;
}

form.checkout {
  display: flex;
  flex-flow: column;
}
form.checkout input::placeholder,
form.checkout textarea::placeholder {
  display: none;
}
form.checkout .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 30px;
}
form.checkout .woocommerce-terms-and-conditions-wrapper label {
  display: flex;
}
form.checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox] {
  margin: 5px 10px 0 0;
}
form.checkout .woocommerce-terms-and-conditions-wrapper .required {
  display: none;
}

.woocommerce-orders-table__cell-order-number a {
  border: none;
}

h1.product_title {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.product_meta {
  padding-top: 30px;
  font-size: 16px;
}

.pswp__caption__center {
  text-align: center;
}

div.product {
  margin-bottom: 3rem;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  position: relative;
}
div.product div.entry-summary {
  width: 50%;
  margin: 0 auto;
  padding: 0 3rem;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
div.product div.entry-summary .woocommerce-product-rating {
  margin: 15px 0;
  line-height: 1.3;
  justify-content: flex-start;
}
div.product div.entry-summary .woocommerce-product-rating .star-rating {
  margin-top: 2px;
}
div.product div.entry-summary h1 {
  font-size: 2em;
  margin-bottom: 0.5rem;
}
div.product div.entry-summary p.price {
  margin-top: 0;
  font-weight: 500;
}
div.product div.entry-summary p {
  margin-top: 1rem;
  margin-bottom: 2rem;
}
div.product div.entry-summary p.stock {
  font-weight: 600;
  opacity: 0.5;
  margin-bottom: 30px;
}
div.product .variations {
  text-align: left;
}
div.product .variations th {
  padding: 0 0 2px;
  border: none;
}
div.product .variations tr {
  display: block;
  margin-bottom: 10px;
}
div.product .variations td {
  border: none;
  display: block;
  width: 100%;
  padding: 0;
}
div.product .single_variation_wrap {
  text-align: left;
  display: flex;
  align-items: center;
}
div.product .woocommerce-product-gallery__wrapper {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
div.product .woocommerce-variation-add-to-cart {
  display: flex;
  flex-grow: 1;
}
div.product .woocommerce-variation-add-to-cart .quantity {
  text-align: center;
  margin: auto 10px;
}
div.product .woocommerce-variation-add-to-cart .button, div.product .woocommerce-variation-add-to-cart ul.page-numbers li span, ul.page-numbers li div.product .woocommerce-variation-add-to-cart span,
div.product .woocommerce-variation-add-to-cart ul.page-numbers li a,
ul.page-numbers li div.product .woocommerce-variation-add-to-cart a, div.product .woocommerce-variation-add-to-cart .pagination a, .pagination div.product .woocommerce-variation-add-to-cart a, div.product .woocommerce-variation-add-to-cart .wc-block-grid__product-onsale,
div.product .woocommerce-variation-add-to-cart .onsale {
  width: 100%;
}
div.product .woocommerce-variation-price {
  padding: 10px;
  font-size: 0.9em;
  font-weight: 500;
}
div.product form.variations_form {
  flex-flow: column;
}
div.product form.cart {
  display: flex;
  flex-flow: column;
  margin: 0 auto;
}
div.product form.cart table {
  margin-bottom: 0;
}
div.product form.cart div.quantity {
  display: none;
}
div.product form.cart table.variations {
  width: 100%;
}
div.product form.cart table.variations tbody {
  display: flex;
  flex-flow: column;
}
div.product form.cart table.variations tr {
  padding: 0;
  flex-grow: 1;
}
div.product form.cart table.variations select {
  margin: 0;
  font-style: italic;
}
div.product form.cart table.variations td.label {
  display: none;
}
div.product form.cart .reset_variations {
  display: none !important;
}

.woocommerce-variation-add-to-cart-disabled,
.disabled,
:disabled,
:disabled[disabled] {
  opacity: 0;
}

.woocommerce-variation-add-to-cart-disabled,
.woocommerce-variation-add-to-cart-disabled .disabled {
  opacity: 1;
}

.woocommerce-product-gallery {
  display: flex;
  flex-flow: wrap;
  width: 50%;
  box-sizing: border-box;
}
.woocommerce-product-gallery a {
  display: block;
  background-image: none;
  box-shadow: none;
  border: none;
}
.woocommerce-product-gallery a:hover {
  box-shadow: none;
  opacity: 1;
}
.woocommerce-product-gallery img {
  width: 100%;
}

ol.flex-control-nav {
  margin: 0;
  padding: 0;
  display: flex;
}
ol.flex-control-nav li {
  list-style: none;
  max-width: 80px;
  margin: 2px 4px 4px 0;
}
ol.flex-control-nav li img.flex-active {
  opacity: 1;
}
ol.flex-control-nav li img {
  display: block;
  opacity: 0.5;
  transform: opacity 0.15s ease;
}
ol.flex-control-nav li img:hover {
  cursor: pointer;
}

ul.page-numbers {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
ul.page-numbers li {
  margin: 0 4px;
  list-style: none;
}
ul.page-numbers li span,
ul.page-numbers li a {
  font-size: 14px;
  padding: 12px 16px;
}
ul.page-numbers li span.current {
  background: currentColor !important;
  color: #fff !important;
}
ul.page-numbers li span.current:hover {
  background: none;
}

.woocommerce-MyAccount-navigation {
  float: left;
  width: 100%;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.woocommerce-MyAccount-navigation ul {
  margin: 0 0 50px;
  padding: 0 0 10px;
  display: flex;
  border-bottom: 1px solid rgba(17, 17, 17, 0.15);
}
.woocommerce-MyAccount-navigation ul li {
  line-height: 1;
  margin: 0;
  list-style: none;
}
.woocommerce-MyAccount-navigation ul li a {
  font-size: 16px;
  font-weight: 600;
  padding: 0 30px 0 0;
  border: none;
  color: currentcolor;
  background-image: none;
  box-shadow: none;
  transition: color 0.15s ease;
}
.woocommerce-MyAccount-navigation ul li.is-active > a {
  color: currentcolor;
}
.woocommerce-MyAccount-navigation ul li.is-active > a:hover {
  color: currentcolor !important;
}

.woocommerce-MyAccount-content {
  float: left;
  clear: both;
  padding: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.woocommerce-MyAccount-content table.shop_table {
  margin-bottom: 60px;
}
.woocommerce-MyAccount-content ul.wc-item-meta {
  margin: 0;
}
.woocommerce-MyAccount-content ul.wc-item-meta li {
  list-style: none;
  line-height: 1.3;
}
.woocommerce-MyAccount-content .product-quantity {
  font-weight: 400;
}
.woocommerce-MyAccount-content address {
  line-height: 1.4;
}
.woocommerce-MyAccount-content p.woocommerce-customer-details--phone {
  margin-bottom: 0;
}

table.shop_table {
  border: none;
  margin: 0;
  text-align: left;
  width: 100%;
  border-collapse: separate;
  border: 1px solid;
}
table.shop_table a {
  background-image: none;
  padding: 0;
}
table.shop_table .cart-discount {
  opacity: 0.7;
}
table.shop_table .variation {
  display: flex;
  align-items: center;
  color: currentcolor;
  opacity: 0.5;
  line-height: 1.6;
}
table.shop_table .variation dt {
  margin-right: 4px;
}
table.shop_table .variation p {
  margin: 0;
  line-height: 1;
}

table.order_details tr:first-child td {
  border-top: 1px solid;
}

table.my_account_orders .button, table.my_account_orders .pagination a, .pagination table.my_account_orders a, table.my_account_orders .wc-block-grid__product-onsale,
table.my_account_orders .onsale, table.my_account_orders ul.page-numbers li span, ul.page-numbers li table.my_account_orders span,
table.my_account_orders ul.page-numbers li a,
ul.page-numbers li table.my_account_orders a {
  white-space: nowrap;
}
table.my_account_orders .order-actions {
  text-align: right;
}
table.my_account_orders .order-actions .button, table.my_account_orders .order-actions .pagination a, .pagination table.my_account_orders .order-actions a, table.my_account_orders .order-actions .wc-block-grid__product-onsale,
table.my_account_orders .order-actions .onsale, table.my_account_orders .order-actions ul.page-numbers li span, ul.page-numbers li table.my_account_orders .order-actions span,
table.my_account_orders .order-actions ul.page-numbers li a,
ul.page-numbers li table.my_account_orders .order-actions a {
  margin: 0.125em 0 0.125em 0.25em;
}

table.woocommerce-MyAccount-downloads td:first-child,
table.woocommerce-MyAccount-downloads th:first-child {
  text-align: left;
}
table.woocommerce-MyAccount-downloads td:last-child,
table.woocommerce-MyAccount-downloads th:last-child {
  text-align: left;
}
table.woocommerce-MyAccount-downloads td .woocommerce-MyAccount-downloads-file::before,
table.woocommerce-MyAccount-downloads th .woocommerce-MyAccount-downloads-file::before {
  display: inline-block;
}

.download-file a.woocommerce-MyAccount-downloads-file {
  font-size: 0 !important;
  background: none !important;
  padding: 0 0 0 10px !important;
  float: right;
  color: currentcolor !important;
}
.download-file a.woocommerce-MyAccount-downloads-file:before {
  font-size: 16px;
}

.addresses header.woocommerce-Address-title .edit {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 16px;
}

.woocommerce-Address {
  border: 1px solid;
  background: transparent;
  padding: 30px;
  margin-bottom: 10px;
}
.woocommerce-Address address {
  line-height: 1.4;
}

.form-row-wide {
  clear: both;
}

p.form-row {
  margin: 0 0 1.5rem;
  padding: 0 10px 0 0;
}

.form-row-first,
.form-row-last {
  width: 50%;
  box-sizing: border-box;
}

.form-row-first {
  float: left;
}

.form-row-last {
  float: right;
}

body.woocommerce-order-received ul#headermenu,
body.woocommerce-order-received .header-right {
  display: flex !important;
}
body.woocommerce-order-received .woocommerce-order {
  background: transparent;
  border: 1px solid;
  padding: 40px;
}
body.woocommerce-order-received table.woocommerce-table--order-details {
  border: 1px solid;
  padding: 0 20px;
}

ul.woocommerce-order-overview {
  margin-bottom: 50px;
}

h2.woocommerce-order-details__title,
form.edit-account legend,
h2.woocommerce-column__title,
p.woocommerce-thankyou-order-received {
  padding: 40px 0 10px;
  margin-bottom: 20px;
  font-weight: 600;
  color: currentColor;
  font-size: 20px;
  line-height: 1;
  border-bottom: 1px solid;
  width: 100%;
  box-sizing: border-box;
}

h2.woocommerce-order-details__title,
p.woocommerce-thankyou-order-received {
  padding-top: 0;
}

.woocommerce-table--order-details {
  background: #fff;
}

p.woocommerce-customer-details--email {
  margin-bottom: 0;
}

address {
  line-height: 1.6;
  font-style: normal;
}

form.edit-account .button, form.edit-account .pagination a, .pagination form.edit-account a, form.edit-account .wc-block-grid__product-onsale,
form.edit-account .onsale, form.edit-account ul.page-numbers li span, ul.page-numbers li form.edit-account span,
form.edit-account ul.page-numbers li a,
ul.page-numbers li form.edit-account a,
.woocommerce-address-fields .button,
.woocommerce-address-fields .pagination a,
.pagination .woocommerce-address-fields a,
.woocommerce-address-fields .wc-block-grid__product-onsale,
.woocommerce-address-fields .onsale,
.woocommerce-address-fields ul.page-numbers li span,
ul.page-numbers li .woocommerce-address-fields span,
.woocommerce-address-fields ul.page-numbers li a,
ul.page-numbers li .woocommerce-address-fields a {
  float: right;
}

table.cart {
  border: none;
}
table.cart a {
  border: none;
  padding: 0;
}
table.cart thead {
  display: none;
}
table.cart td {
  padding: 5px;
  border: none;
}
table.cart td.product-thumbnail {
  width: 70px;
  padding-right: 0;
  padding-left: 0;
}
table.cart td.product-thumbnail a {
  display: block;
}
table.cart td.product-thumbnail a img {
  max-height: 60px;
  width: auto;
  display: block;
}
table.cart td.product-name {
  font-weight: 600;
}
table.cart td.product-name a {
  text-decoration: none;
  color: #111 !important;
}
table.cart td.product-price {
  text-align: right;
  color: currentcolor;
  position: relative;
  white-space: nowrap;
}
table.cart td.product-quantity {
  padding-right: 0;
  text-align: right;
}
table.cart td.product-subtotal {
  display: none;
}
table.cart td.product-remove {
  padding: 0;
  display: block;
  margin: 20px 0 0 -40px;
}
table.cart td.product-remove .svg-icon {
  width: 28px;
  height: 28px;
}
table.cart td.product-remove .svg-icon path {
  fill: rgba(0, 0, 0, 0.5);
}
table.cart td.product-remove a {
  background-image: none;
  box-shadow: none;
  border: none;
  color: currentColor;
  opacity: 0.5;
  display: inline-block;
}
table.cart td.product-remove a:hover {
  opacity: 0.9;
}
table.cart td.actions {
  padding: 10px 0;
}

form.woocommerce-cart-form {
  border: none;
}
form.woocommerce-cart-form .coupon {
  float: left;
  width: 100%;
  display: flex;
}
form.woocommerce-cart-form .coupon label {
  display: none;
}
form.woocommerce-cart-form .coupon input {
  margin-right: 5px;
}
form.woocommerce-cart-form .coupon .button, form.woocommerce-cart-form .coupon .pagination a, .pagination form.woocommerce-cart-form .coupon a, form.woocommerce-cart-form .coupon .wc-block-grid__product-onsale,
form.woocommerce-cart-form .coupon .onsale, form.woocommerce-cart-form .coupon ul.page-numbers li span, ul.page-numbers li form.woocommerce-cart-form .coupon span,
form.woocommerce-cart-form .coupon ul.page-numbers li a,
ul.page-numbers li form.woocommerce-cart-form .coupon a {
  white-space: nowrap;
}
form.woocommerce-cart-form table.shop_table button[name=update_cart] {
  width: 100%;
  margin-top: 10px;
  white-space: nowrap;
}
form.woocommerce-cart-form p.backorder_notification,
form.woocommerce-cart-form p.stock {
  margin-bottom: 0;
  margin-top: 0;
  opacity: 0.5;
}

.woocommerce p.backorder_notification {
  color: currentcolor;
}

.product-quantity label {
  display: none;
}
.product-quantity input.qty {
  width: 70px;
  text-align: center;
}

ul.payment_methods {
  margin: 0;
}
ul.payment_methods li {
  list-style: none;
  margin: 0 0 30px;
}
ul.payment_methods li.wc_payment_method input.input-radio,
ul.payment_methods li.woocommerce-PaymentMethod input.input-radio {
  float: left;
  margin: 0 8px 0 0;
}
ul.payment_methods li.wc_payment_method > label,
ul.payment_methods li.woocommerce-PaymentMethod > label {
  text-transform: none;
  letter-spacing: normal;
  width: 100%;
  display: flex;
  align-items: center;
}
ul.payment_methods li.wc_payment_method > label img,
ul.payment_methods li.woocommerce-PaymentMethod > label img {
  max-width: 36px !important;
  padding: 0 !important;
  margin: 2px !important;
}
ul.payment_methods li.payment_method_paypal label img {
  display: none;
}
ul.payment_methods .payment_box {
  clear: both;
  border: 1px solid rgba(17, 17, 17, 0.15);
  background: #f7f7f7;
  border-radius: 6px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  padding: 30px;
  margin-top: 20px;
}
ul.payment_methods .payment_box p {
  margin-top: 0;
  margin-bottom: 0;
}
ul.payment_methods .form-row-wide {
  margin-bottom: 20px;
}
ul.payment_methods .about_paypal {
  display: none;
}
ul.payment_methods p.woocommerce-SavedPaymentMethods-saveNew {
  display: flex;
}
ul.payment_methods p.woocommerce-SavedPaymentMethods-saveNew input {
  margin: 4px 8px 0 0;
}
ul.payment_methods p.woocommerce-SavedPaymentMethods-saveNew label {
  text-transform: none;
  letter-spacing: normal;
  font-size: 14px;
  font-weight: normal;
  font-style: italic;
}
ul.payment_methods ul.wc-saved-payment-methods {
  margin: 1rem auto;
}

.cart-collaterals {
  margin-bottom: 3rem;
}
.cart-collaterals .cart_totals {
  width: 100%;
}
.cart-collaterals .cart_totals table {
  margin-bottom: 0;
  border: none;
  border-top: 1px solid;
}
.cart-collaterals .cart_totals .shipping,
.cart-collaterals .cart_totals .order-total {
  display: none;
}
.cart-collaterals .wc-proceed-to-checkout .button, .cart-collaterals .wc-proceed-to-checkout .pagination a, .pagination .cart-collaterals .wc-proceed-to-checkout a, .cart-collaterals .wc-proceed-to-checkout .wc-block-grid__product-onsale,
.cart-collaterals .wc-proceed-to-checkout .onsale, .cart-collaterals .wc-proceed-to-checkout ul.page-numbers li span, ul.page-numbers li .cart-collaterals .wc-proceed-to-checkout span,
.cart-collaterals .wc-proceed-to-checkout ul.page-numbers li a,
ul.page-numbers li .cart-collaterals .wc-proceed-to-checkout a {
  width: 100%;
}

.col2-set {
  clear: both;
}

h3#ship-to-different-address,
p.create-account {
  font-size: 24px;
  margin: 0;
  text-transform: none;
  letter-spacing: normal;
}
h3#ship-to-different-address label,
p.create-account label {
  display: flex;
}
h3#ship-to-different-address label input[type=checkbox],
p.create-account label input[type=checkbox] {
  margin: 5px 10px 0 0;
}

h3#ship-to-different-address {
  clear: both;
  padding: 20px 5px;
}
h3#ship-to-different-address span {
  margin: 0;
}

p.create-account {
  margin-left: -5px;
}

body.woocommerce-cart .tax-rate,
body.woocommerce-cart .tax-total {
  display: none;
}

table.woocommerce-checkout-review-order-table thead {
  display: none;
}

table.woocommerce-checkout-review-order-table,
table.woocommerce-table--order-details {
  border: none;
}
table.woocommerce-checkout-review-order-table .product-name,
table.woocommerce-table--order-details .product-name {
  padding-left: 0;
}
table.woocommerce-checkout-review-order-table .product-name strong,
table.woocommerce-table--order-details .product-name strong {
  font-weight: normal;
  opacity: 0.5;
}
table.woocommerce-checkout-review-order-table .product-total,
table.woocommerce-table--order-details .product-total {
  text-align: right;
  width: 40%;
}
table.woocommerce-checkout-review-order-table tfoot .cart-subtotal th,
table.woocommerce-checkout-review-order-table tfoot .cart-subtotal td,
table.woocommerce-table--order-details tfoot .cart-subtotal th,
table.woocommerce-table--order-details tfoot .cart-subtotal td {
  border-top: 1px solid rgba(17, 17, 17, 0.15);
}

.cart-subtotal th,
.order-total th {
  padding-left: 0;
  padding-right: 0;
}
.cart-subtotal td,
.order-total td {
  text-align: right;
}

.cart_totals table.shop_table {
  margin-bottom: 40px;
}

table.shop_table ul.wc-item-meta {
  margin-bottom: 10px;
}
table.shop_table ul.wc-item-meta p {
  margin-bottom: 0;
}

p.cart-empty,
p.return-to-shop {
  margin-bottom: 10px;
  text-align: center;
}

p.return-to-shop {
  padding-top: 10px;
}

p.cart-empty + p.return-to-shop {
  text-align: center;
}

#payment {
  margin: 4rem auto;
}

td.actions {
  font-size: 1em;
}
td.actions button {
  border: none;
}

#add_payment_method {
  display: inline-block;
}
#add_payment_method table.cart td.actions .coupon .input-text {
  padding: 10px 16px;
  width: 220px;
}
#add_payment_method .button, #add_payment_method .pagination a, .pagination #add_payment_method a, #add_payment_method .wc-block-grid__product-onsale,
#add_payment_method .onsale, #add_payment_method ul.page-numbers li span, ul.page-numbers li #add_payment_method span,
#add_payment_method ul.page-numbers li a,
ul.page-numbers li #add_payment_method a {
  float: right;
}

p.lost_password {
  margin-bottom: 0;
  text-align: center;
}
p.lost_password a {
  background: none;
}

.woocommerce-shipping-totals td[data-title=Shipping] {
  width: 55%;
}

ul#shipping_method {
  margin: 0;
  padding: 0;
}
ul#shipping_method li {
  position: relative;
  list-style: none;
  width: 100%;
  padding: 0;
  margin: 0;
  text-indent: 0;
  display: flex;
  align-items: center;
  line-height: 1;
}
ul#shipping_method li:last-child {
  margin-bottom: 0;
}
ul#shipping_method li input {
  position: absolute;
  margin-left: 10px;
}
ul#shipping_method li label {
  cursor: pointer;
  text-align: right;
  display: inline-block;
  background: #fff;
  padding: 5px 10px 5px 30px;
  border-radius: 6px;
  width: auto;
  margin: 0;
  font-size: 1em;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 500;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
ul#shipping_method li input.shipping_method:checked + label {
  background: #eee;
}

p.woocommerce-shipping-destination {
  font-size: 14px;
}

form.checkout .woocommerce-terms-and-conditions-wrapper label {
  font-size: 0.75em;
  letter-spacing: normal;
  text-transform: none;
}

.woocommerce-terms-and-conditions {
  display: inline-block;
  border: 1px solid rgba(17, 17, 17, 0.15);
  background: #f5f5f5;
  border-radius: 3px;
  padding: 0 20px;
  font-size: 15px;
}

.woocommerce-terms-and-conditions-checkbox-text {
  margin: 0;
}

.close-terms {
  width: 100%;
}

.woocommerce-privacy-policy-text {
  font-size: 15px;
}

@media screen and (max-width: 880px) {
  body.woocommerce-checkout .entry-content .woocommerce {
    max-width: calc(100% - 2.5rem) !important;
    width: calc(100% - 2.5rem) !important;
  }

  .woocommerce-Tabs-panel *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
    max-width: 100%;
    width: 100%;
  }

  .woocommerce-cart-form .product-thumbnail {
    display: none;
  }
  .woocommerce-cart-form .product-name {
    padding: 10px 10px 10px 0;
  }

  div.product {
    flex-flow: column;
  }

  .woocommerce-product-gallery {
    width: 100%;
    margin-bottom: 1rem;
  }

  div.product div.entry-summary {
    width: 100%;
    padding: 0;
  }
}
#togglemenu-container {
  display: none;
  top: calc(50% - 0.5em);
  position: absolute;
  left: 20px;
}

#togglemenu {
  height: 0.5em;
  width: 1em;
  cursor: pointer;
  font-size: 24px;
}

.menuline--top {
  top: 0;
  will-change: transform;
}

.menuline--bottom {
  top: 100%;
  will-change: transform;
}

.menuline {
  position: absolute;
  background: currentColor;
  transition: top 0.2s 0.25ms cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s 40ms cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
  height: 2px;
  border-radius: 2px;
  right: 0;
}

nav.mobile-nav-container {
  display: none;
  position: absolute;
  background: #fff;
  z-index: 99;
  top: 90px;
  padding: 0 2rem 2rem;
  text-align: center;
  width: 100%;
}
nav.mobile-nav-container ul {
  margin: 0;
  padding: 0;
}
nav.mobile-nav-container li {
  margin: 0.7rem auto;
  list-style: none;
}
nav.mobile-nav-container a {
  text-decoration: none;
}
nav.mobile-nav-container .social-links {
  justify-content: center;
  display: none;
}
nav.mobile-nav-container li.menu-item-has-children svg {
  display: none;
}
nav.mobile-nav-container ul.sub-menu {
  visibility: visible;
  position: relative;
  opacity: 1;
  box-shadow: none;
  text-align: center;
  width: 100%;
  top: auto;
  left: auto;
  right: auto;
  margin-top: 5px;
  transform: none !important;
}
nav.mobile-nav-container ul.sub-menu li {
  text-align: center;
}
nav.mobile-nav-container .social-links {
  display: flex;
  margin-top: 4rem;
  margin-bottom: 2rem;
}
nav.mobile-nav-container .cart-icon {
  display: none;
}

html.menu-is--open .menuline--top,
html.menu-is--open .menuline--bottom {
  top: 50%;
  transition: top 0.3s 0.5ms cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s 35ms cubic-bezier(0.4, 0, 0.2, 1);
}
html.menu-is--open .menuline--top {
  transform: rotate(45deg);
}
html.menu-is--open .menuline--bottom {
  transform: rotate(-45deg);
}
html.menu-is--open nav.mobile-nav-container {
  display: block;
}

@media screen and (max-width: 1120px) {
  .alignwide,
.entry-header,
.post-navigation,
.wp-block-separator.is-style-wide {
    max-width: 44rem;
  }

  .grid,
.grid-3,
ul.products {
    grid-gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
  }

  .wp-block-column:not(:first-child) {
    margin-left: 20px;
  }
}
@media screen and (max-width: 980px) {
  #togglemenu-container {
    display: flex;
  }

  .header-menu-container,
.cart-icon:before {
    display: none;
  }

  .header-col {
    width: auto !important;
  }

  .header-col-menu {
    order: 1;
  }

  header li.button a, header li.wc-block-grid__product-onsale a,
header li.onsale a,
header li.button.onsale a {
    display: inline-block;
  }

  .header-col-logo {
    order: 2;
    width: 100% !important;
    justify-content: center;
    margin-bottom: 0 !important;
  }

  .header-col-social {
    order: 3;
  }
  .header-col-social .social-links > a {
    display: none;
  }

  .header-col-social {
    position: absolute;
    right: 20px;
  }

  .site-description {
    display: none;
  }

  .alignwide,
.entry-header,
.post-navigation,
.wp-block-separator.is-style-wide {
    max-width: calc(100% - 6rem);
    width: calc(100% - 6rem);
  }

  .entry-content > .wp-block-image.alignnone,
.entry-content > .wp-block-image.aligncenter {
    width: calc(100% - 6rem) !important;
  }

  .entry-header,
header.woocommerce-products-header,
hr {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  .entry-media {
    margin-bottom: 3rem;
  }

  h1 {
    font-size: 4em;
  }

  h2 {
    font-size: 2.5em;
  }

  h3 {
    font-size: 2em;
  }

  .wp-block-cover {
    min-height: 380px;
  }

  .wp-block-cover__inner-container {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  h2.article-title {
    font-size: 1.2em;
  }

  .article-thumb-link-content {
    padding: 20px;
  }

  .wp-block-media-text .wp-block-media-text__content {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .wp-block-pullquote p, blockquote p {
    font-size: 1.5em;
  }

  body.admin-bar #nrdly-freetrial-banner {
    display: none;
  }

  body.has-nrdly-banner.admin-bar #page {
    margin-top: 0;
  }

  .hide-on-mobile {
    display: none;
  }

  #nrdly-freetrial-banner {
    padding-left: 20px;
    padding-right: 20px;
  }
  #nrdly-freetrial-banner .mobile-button {
    display: block;
  }
  #nrdly-freetrial-banner .freetrial-item-buttons-wrap {
    width: 75%;
    margin-right: 0;
  }

  .freetrial-item-back-wrap {
    margin-right: auto;
  }

  .freetrial-item-buttons-wrap {
    width: 60%;
    margin-right: 20%;
  }

  body.single .entry-header .excerpt,
body.blog .entry-header .excerpt,
body.category .entry-header .excerpt,
body.tag .entry-header .excerpt {
    max-width: 100%;
  }
}
@media screen and (max-width: 781px) {
  .alignfull.header-inner {
    margin-top: 0;
    margin-bottom: 0;
  }

  .header--nav--inner {
    width: 100%;
  }

  .alignwide,
.alignfull,
.entry-header,
.header-inner,
figcaption,
.post-navigation,
.wp-block-separator.is-style-wide,
.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide):not(.woocommerce-Tabs-panel h2):not(.woocommerce-Tabs-panel p):not(.woocommerce-product-attributes),
.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {
    max-width: calc(100% - 2rem);
    width: calc(100% - 2rem);
  }

  .wp-block-cover.alignfull,
.wp-block-cover__inner-container .alignfull {
    max-width: 100%;
  }

  .wp-block-image.alignfull {
    max-width: none;
    width: 100%;
  }

  .wp-block-cover__inner-container .wp-block-media-text {
    max-width: none;
    width: 100%;
  }

  h1, h2, h3, h4, h5, h6 {
    margin-bottom: 0.5rem;
  }

  blockquote, ol, p, pre, ul {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
    line-height: 1.5;
  }

  h1 {
    font-size: 3em;
    line-height: 1.1;
  }

  h2 {
    font-size: 2.4em;
    line-height: 1.1;
  }

  h3 {
    font-size: 1.7em;
  }

  h4 {
    font-size: 1.15em;
  }

  h5 {
    font-size: 1em;
  }

  .has-huge-font-size {
    font-size: 1.8em;
  }

  .wp-block-pullquote p,
blockquote p {
    font-size: 1.2em;
  }

  p.form-submit {
    width: 100%;
  }
  p.form-submit input#submit {
    width: 100%;
    max-width: none;
  }

  .wp-block-cover,
.wp-block-cover-image {
    height: auto;
    min-height: 240px;
  }

  .wp-block-column {
    flex-basis: 100% !important;
    margin-bottom: 1rem;
  }
  .wp-block-column:last-of-type {
    margin-bottom: 0;
  }

  .wp-block-column:not(:first-child) {
    margin-left: 0 !important;
  }

  .hero .wp-block-columns,
.hero .wp-block-column {
    margin-bottom: 0 !important;
  }

  .alignwide,
.alignfull {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }

  .header-inner {
    margin-top: 0;
    margin-bottom: 0;
  }

  .wp-block-archives:not(.alignwide):not(.alignfull), .wp-block-categories:not(.alignwide):not(.alignfull), .wp-block-code, .wp-block-columns:not(.alignwide):not(.alignfull), .wp-block-cover:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter), .wp-block-embed:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter), .wp-block-gallery:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter), .wp-block-group:not(.has-background):not(.alignwide):not(.alignfull), .wp-block-image:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.aligncenter), .wp-block-latest-comments:not(.aligncenter):not(.alignleft):not(.alignright), .wp-block-latest-posts:not(.aligncenter):not(.alignleft):not(.alignright), .wp-block-media-text:not(.alignwide):not(.alignfull), .wp-block-preformatted, .wp-block-pullquote:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright), .wp-block-verse, .wp-block-video:not(.alignwide):not(.alignfull) {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .wp-block-cover.hero {
    min-height: auto !important;
    height: auto !important;
    padding: 0;
  }

  .wp-block-media-text .wp-block-media-text__content {
    padding: 30px 0 0;
  }

  .wp-block-media-text {
    display: flex;
    flex-flow: column;
  }

  .wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content, .wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media, .wp-block-media-text .wp-block-media-text__content, .wp-block-media-text .wp-block-media-text__media {
    align-self: inherit;
  }

  .wp-block-media-text__media figure {
    margin: 0 !important;
  }

  .wp-block-media-text__content {
    padding-top: 0 !important;
  }
  .wp-block-media-text__content h1,
.wp-block-media-text__content h2,
.wp-block-media-text__content h3,
.wp-block-media-text__content h4,
.wp-block-media-text__content h5,
.wp-block-media-text__content h6 {
    margin-top: 1rem !important;
  }

  .has-media-on-the-right {
    display: flex;
    flex-direction: column;
  }

  .wp-block-media-text.is-image-fill figure.wp-block-media-text__media {
    width: 100%;
  }

  .footer-cta {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .footer-cta-content {
    margin: 0 auto;
  }

  ul#footermenu {
    width: 100%;
    margin-top: 40px;
    margin-bottom: 40px;
    flex-flow: column;
  }
  ul#footermenu li {
    margin: 0.2rem 0;
  }

  form.newsletter {
    flex-flow: column;
  }
  form.newsletter input {
    margin: 2px;
  }
  form.newsletter input.button, form.newsletter input.wc-block-grid__product-onsale,
form.newsletter input.onsale {
    width: 100%;
  }

  .footer-bottom {
    margin-top: 0;
    margin-bottom: 0;
  }
  .footer-bottom ul.menu {
    flex-flow: column;
  }
  .footer-bottom ul.menu li {
    margin: 0.4rem 0;
  }

  .is-stacked-on-mobile .is-type-video {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  h2.article-title {
    font-size: 1em;
    line-height: 1.3;
  }

  img.avatar {
    width: 24px;
  }

  .modal {
    padding: 24px 34px;
  }

  .wp-block-button {
    margin: 2px !important;
  }

  body.page-template-page-landing #page {
    min-height: auto;
  }

  .nav-links {
    flex-flow: column;
  }

  .nav-previous, .nav-next {
    width: 100%;
    margin: 0.2rem auto;
  }

  .grid, .grid-3, ul.products {
    grid-template-columns: repeat(auto-fill, minmax(100%, 1fr)) !important;
  }

  body.single-post .entry-meta {
    flex-flow: column;
    font-size: 0.8em;
  }
  body.single-post .entry-meta div {
    margin: 0.3rem 0;
  }
  body.single-post .entry-meta div + div:before {
    display: none;
  }
  body.single-post .excerpt {
    max-width: 100%;
  }

  ul.products li.product {
    margin-bottom: 3rem;
  }

  .single_variation_wrap {
    flex-flow: column;
  }

  div.product .single_variation_wrap {
    align-items: flex-start;
  }

  .wp-block-quote.is-large p, .wp-block-quote.is-style-large p {
    font-size: 2.4em;
  }

  .header-inner {
    width: 100%;
  }

  .nrdly-price-options .wp-block-column:not(:first-child) {
    margin-left: 0 !important;
  }

  .nrdly-pattern-testimonial .wp-block-column:not(:first-child) {
    margin-left: 0 !important;
  }
}
