/**
 * @package global.css
 * @author Simply Wired Inc. <info@simplywired.ca>
 * @copyright (c) 2026, Simply Wired Inc.
 * @version 0.0.1
 */

:root {
  --authentication-menu-height:2.625rem;
  --product-color-border:rgb(209, 213, 219);
  --product-color-card:rgb(255, 255, 255);
  --product-color-focus:rgb(245, 158, 11);
  --product-color-muted:rgb(107, 114, 128);
  --product-color-primary:rgb(45, 70, 73);
  --product-color-primary-dark:rgb(31, 52, 55);
  --product-color-text:rgb(31, 41, 55);
  --product-radius:0.75rem;
  --shopping-cart-color-border:rgb(216, 222, 232);
  --shopping-cart-color-muted:rgb(93, 104, 123);
  --shopping-cart-color-primary-dark:rgb(27, 46, 48);
  --shopping-cart-color-primary:rgb(45, 70, 73);
  --shopping-cart-color-surface:rgb(255, 255, 255);
  --shopping-cart-color-text:rgb(23, 32, 51);
  --shopping-cart-radius:.75rem;
  --shopping-shadow:0 .5rem 1.5rem rgba(23, 32, 51, 0.08);
}
* {
  box-sizing:border-box;
}
.about-associations {
  align-items:center;
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  justify-content:center;
}
.about-associations img {
  height:auto;
  width:100%;
}
.about-image-right {
  float:right;
  margin:0 0 1rem 1.5rem;
  height:auto;
  width:35.625rem;
}
@media(max-width:40rem) {
  .about-image-right {
    display:block;
    float:none;
    margin:0 auto 1rem;
    max-width:35.625rem;
    width:100%;
  }
}
.authentication-container {
  display:flex;
}
.authentication-container > div {
  margin:0 auto;
  width:31.25rem;
}
.authentication-existing {
  border-top:1px solid rgb(219, 224, 233);
  display:flex;
  font-size:0.875rem;
  padding:1.25rem 0 0;
  margin-top:1.25rem;
  width:100%;
}
.authentication-existing > :nth-child(2) {
  margin-left:auto;
}
.authentication-existing a {
  color:rgb(34, 122, 255);
}
body {
  color:rgb(34, 34, 34);
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:1rem;
  line-height:1.375rem;
  margin:0;
  overflow-x:hidden;
  overflow-y:scroll;
  padding:0;
  -webkit-text-size-adjust:100%;
}
body.dialog-open {
  overflow:hidden;
}
.book-layout {
  align-items:start;
  display:grid;
  gap:2rem;
  grid-template-columns:30rem 1fr;
}
.book-layout img {
  display:block;
  height:auto;
  width:100%;
}
@media (max-width: 40rem) {
  .book-layout {
    grid-template-columns:1fr;
  }
}
.book-purchase {
  align-items:center;
  display:flex;
  flex-direction:row !important;
  gap:1.25rem;
  justify-content:center;
  margin-top:1rem;
}
.book-purchase > input {
  flex:1 1 auto;
}
.book-purchase > .price {
  color:rgb(34, 34, 34);
  font-family:"Roboto", Arial, Helvetica, sans-serif;
  font-size:1.375rem;
}
.book-reviews {
  color:rgb(30, 41, 59);
  margin:2rem auto 0 auto;
  padding:0;
}
.book-reviews > div {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
  margin-top:2rem;
}
@media(max-width:40rem) {
  .book-reviews > div {
    grid-template-columns:1fr;
  }
}
.book-reviews > div > figure {
  background:rgb(248, 250, 252);
  border:1px solid rgb(219, 227, 236);
  border-radius:1rem;
  display:flex;
  flex-direction:column;
  margin:0;
  min-height:100%;
  padding:clamp(1.25rem, 3vw, 2rem);
}
.book-reviews > div > figure blockquote {
  font-size:clamp(1.05rem, 2vw, 1.25rem);
  line-height:1.6;
  margin:0 0 1.5rem;
}
.book-reviews > div > figure blockquote p {
  margin:0;
}
.book-reviews > div > figure figcaption {
  color:rgb(100, 116, 139);
  display:flex;
  flex-direction:column;
  font-size:.9rem;
  gap:0.35rem 0.75rem;
  margin-top:auto;
}
.book-reviews > div > figure figcaption > .reviewer-name {
  color:rgb(30, 41, 59);
  font-weight:700;
}
.breadcrumbs {
  background-color:rgb(246, 246, 246);
  color:rgb(170, 170, 170);
  font-size:.75rem;
  margin:0;
  max-width:100%;
  padding:.625rem 0;
  text-transform:uppercase;
}
.breadcrumbs[aria-current=page] {
  color:rgb(170, 170, 170);
  font-weight:400;
  text-transform:uppercase;
}
.breadcrumbs a {
  color:rgb(170, 170, 170);
  text-decoration:none;
  text-transform:uppercase;
}
@media(prefers-reduced-motion:no-preference) {
  .breadcrumbs a {
    transition:color 0.15s ease;
  }
}
.breadcrumbs a:hover {
  color:rgb(94, 182, 220);
}
.breadcrumbs a:focus, .breadcrumbs a:focus-visible {
  border-radius:.125rem;
  outline:.185rem solid rgb(94, 182, 220);
  outline-offset:.185rem;
}
.breadcrumbs li {
  align-items:center;
  display:inline-flex;
  margin-bottom:0 !important;
}
.breadcrumbs li + li::before {
  color:rgb(170, 170, 170);
  content:">";
  margin:0 0.65rem;
}
.breadcrumbs ol {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:0;
  list-style:none;
  margin:0;
  padding:0;
}
.contact-address {
  align-items:center;
  border-bottom:1px solid rgb(225, 226, 228);
  border-top:1px solid rgb(225, 226, 228);
  display:flex;
  flex-wrap:nowrap;
  gap:2rem;
  justify-content:center;
  padding:2rem 0;
}
.contact-address:hover {
  background-color:rgb(162, 205, 224);
}
.contact-address > .contact-address-icon {
  color:rgb(94, 182, 220);
  flex:0 0 auto;
  font-size:2rem;
  padding-left:1.25rem;
}
.contact-address:hover > .contact-address-icon {
  color:rgb(255, 255, 255);
}
.contact-address > .contact-address-text {
  flex:1 1 auto;
}
.contact-address > .contact-address-text > h5 {
  font-family:"Roboto Slab", "Times New Roman", Times, serif;
  font-size:.875rem;
}
.contact-address > .contact-address-text > h5, .contact-address > .contact-address-text > p {
  color:rgb(85, 85, 85);
  margin:0;
  padding:0;
}
.contact-block {
  display:flex;
  flex-wrap:nowrap;
  gap:1.25rem;
}
.contact-block > *:not(:has(img)) > h4 {
  margin:0;
}
.contact-block > *:not(:has(img)) > span {
  color:rgb(136, 136, 136);
  font-family:"Roboto Slab", "Times New Roman", Times, serif;
  font-size:.75rem;
}
.contact-block > *:not(:has(img)) > p {
  color:#222;
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:.7825rem;
}
.contact-layout {
  align-items:start;
  display:grid;
  gap:4rem;
  grid-template-columns:minmax(0, 1fr) max-content;
}
@media(max-width:40rem) {
  .contact-layout {
    grid-template-columns:1fr;
  }
}
.contact-layout > * > :first-child {
  margin-top:0;
}
.container {
  margin-left:auto;
  margin-right:auto;
  padding-left:.75rem;
  padding-right:.75rem;
  width:100%;
}
@media(min-width:576px) {
  .container {
    max-width:540px;
  }
}
@media(min-width:768px) {
  .container {
    max-width:720px;
  }
}
@media(min-width:992px) {
  .container {
    max-width:960px;
  }
}
@media(min-width:1200px) {
  .container {
    max-width:1140px;
  }
}
@media(min-width:1400px) {
  .container {
    max-width:1320px;
  }
}
.courses-status  {
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  padding-block:6.25rem;
}
.courses-status > a {
  align-items:center;
  background:rgb(34, 122, 255);
  border-radius:.25rem;
  color:rgb(255, 255, 255);
  display:flex;
  font-size:0.875rem;
  font-style:normal;
  font-weight:500;
  justify-content:center;
  line-height:normal;
  padding:.75rem 1.25rem;
  text-decoration:none;
  transition:.3s;
}
.courses-status > a:hover {
  background:rgba(34, 122, 255, 0.85);
}
.courses-status > div {
  align-items:center;
  background:rgba(34, 122, 255, 0.1);
  border-radius:3.125rem;
  display:flex;
  height:5rem;
  justify-content:center;
  width:5rem;
}
.courses-status > div > span {
  color:rgb(34, 122, 255);
  flex-shrink:0;
  font-size:1.875rem;
}
.courses-status > span {
  color:rgb(0, 25, 49);
  font-size:18px;
  font-weight:500;
}
.courses-tabs-bar {
  border-bottom:1px solid rgb(219, 224, 233);
  display:flex;
}
.courses-tabs-bar > h4 {
  margin:0;
  padding:0 0 .75rem 0;
}
.courses-tabs-bar > :nth-child(2) {
  display:flex;
  gap:1.25rem;
  margin-left:auto;
}
.courses-tabs-bar > :nth-child(2) > div {
  align-items:center;
  border-bottom: 3px solid rgb(255, 255, 255);
  color:rgb(77, 94, 111);
  cursor:pointer;
  display:flex;
  flex-wrap:nowrap;
  font-size:0.875rem;
  font-weight:700;
  gap:.265rem;
  justify-content:center;
  padding-bottom:.4375rem;
  transition:all .2s ease-in-out;
}
.courses-tabs-bar > :nth-child(2) > div.active {
  border-bottom: 3px solid rgb(34, 122, 255);
  padding-bottom:.4375rem;
}
.courses-tabs-bar > :nth-child(2) > div.active, .courses-tabs-bar > :nth-child(2) > div:hover {
  color:rgb(34, 122, 255) !important;
}
.courses-tabs-bar > :nth-child(2) > div > span {
  align-items:center;
  display:flex;
  font-size:0.625rem;
  font-style:normal;
  font-weight:700;
  height:1rem;
  justify-content:center;
  line-height:normal;
  padding:0 .25rem;
  text-align:center;
  transition:.3s;
}
.courses-tabs-bar > :nth-child(2) > div.active > span, .courses-tabs-bar > :nth-child(2) > div:hover > span {
  background-color:rgb(34, 122, 255);
  border-radius:50%;
  color:rgb(255, 255, 255);
}
.course-wrapper {
  display:flex;
  gap:1rem;
  margin-top:2.5rem;
}
.course-wrapper > aside {
  width:16.25rem;
}
.course-wrapper > aside > .course-profile {
  align-items:center;
  display:flex;
  gap:1rem;
  padding:0;
}
.course-wrapper > aside > .course-profile > i {
  color:rgb(197, 197, 197);
  font-size:3.75rem;
}
.course-wrapper > aside > .course-profile > span {
  color:rgb(0, 25, 49);
  flex:1 1 auto;
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:1.125rem;
  font-weight:700;
}
.course-wrapper > aside > h4 {
  color:rgb(128, 140, 152);
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:0.75rem;
  font-weight:700;
  letter-spacing:0.06em;
  margin:1.4rem 0 0.625rem;
  padding-left:1rem;
  padding-right:1rem;
  text-transform:uppercase;
}
.course-wrapper > aside > hr {
  border:0;
  border-top:1px solid rgb(219, 224, 233);
}
.course-wrapper > aside > nav > ul {
  display:grid;
  list-style:none;
  margin:0;
  padding:0;
}
.course-wrapper > aside > nav > ul > li > a, .course-wrapper > aside > nav > ul > li > button {
  align-items:center;
  border-radius:.25rem;
  color:rgb(77, 94, 111);
  cursor:pointer;
  display:flex;
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:0.875rem;
  font-weight:500;
  gap:.75rem;
  height:2.5rem;
  line-height:1.375rem;
  outline:0;
  padding:0 1rem;
  text-decoration:none;
  transition:.3s;
  width:100%;
}
.course-wrapper > aside > nav > ul > li > a.active, .course-wrapper > aside > nav > ul > li > button.active {
  font-weight:600;
}
.course-wrapper > aside > nav > ul > li > a.active, .course-wrapper > aside > nav > ul > li > a:hover, .course-wrapper > aside > nav > ul > li > button.active, .course-wrapper > aside > nav > ul > li > button:hover {
  background:rgb(233, 236, 239);
  color:rgb(34, 122, 255);
}
.course-wrapper > aside > nav > ul > li > button {
  background:transparent;
  border:none;
  cursor:pointer;
  width:100%;
}
.course-wrapper > section {
  flex:1 1 auto;
}
.course-wrapper > section > h4 {
  font-family:"Roboto Slab", "Times New Roman", Times, serif;
  font-size:1.5rem;
  margin-top:0;
}
dialog {
  border:0;
  border-radius:.75rem;
  box-shadow:0 1.25rem 3.75rem rgba(0, 0, 0, 0.25);
  max-height:90vh;
  overflow-y:auto;
  padding:1.75rem;
  width:min(500px, calc(100% - 2.5rem));
}
dialog::backdrop {
  background:rgba(0, 0, 0, 0.55);
}
dialog:not([open]) {
  display:none;
}
dialog.inquiry-dialog > .close-dialog {
  background:transparent;
  border:0;
  color:rgb(107, 114, 128);
  cursor:pointer;
  font-size:1.75rem;
  line-height:1;
  position:absolute;
  right:1rem;
  top:.75rem;
}
dialog.inquiry-dialog > .close-dialog:hover {
  color:rgb(17, 24, 39);
}
dialog.inquiry-dialog > div[role=status] {
  border-radius:0.375rem;
  display:none;
  font-size:0.875rem;
  margin-bottom:1rem;
  padding:0.625rem .75rem;
}
dialog.inquiry-dialog > div[role=status].error {
  background:rgb(254, 226, 226);
  color:rgb(153, 27, 27);
}
dialog.inquiry-dialog > div[role=status].is-visible {
  display:block;
}
dialog.inquiry-dialog > div[role=status].success {
  background:rgb(220, 252, 231);
  color:rgb(22, 101, 52);
}
dialog.inquiry-dialog > form > button[type=submit] {
  background:rgb(45, 70, 73);
  border:0;
  color:rgb(255, 255, 255);
  cursor:pointer;
  font-size:1rem;
  font-weight:600;
  padding:0.8125rem 1.125rem;
  width:100%;
}
dialog.inquiry-dialog > form > button:disabled {
  cursor:not-allowed;
  opacity:0.65;
}
dialog.inquiry-dialog > form > input, .inquiry-dialog > form > textarea {
  border:1px solid rgb(209, 213, 219);
  border-radius:0.375rem;
  font:inherit;
  margin-bottom:1rem;
  padding:.75rem;
  width:100%;
}
dialog.inquiry-dialog > form > input:focus, .inquiry-dialog > form > textarea:focus {
  border-color:rgb(45, 70, 73);
  outline:0.125rem solid rgb(195, 214, 212);
}
dialog.inquiry-dialog > form > textarea {
  min-height:8.125rem;
  resize:vertical;
}
.divider {
  background:linear-gradient( to right, rgb(255, 255, 255) 0, rgb(255, 255, 255) calc(50% - 3.125rem), rgb(100, 135, 194) calc(50% - 3.125rem), rgb(100, 135, 194) calc(50% + 3.125rem), rgb(255, 255, 255) calc(50% + 3.125rem), rgb(255, 255, 255) 100%);
  border:0;
  height:.125rem;
  margin:2rem 0 3rem 0;
  width:100%;
}
footer {
  background-color:rgb(94, 182, 220);
  display:block;
  padding-bottom:2.5rem;
  padding-top:4rem;
}
footer a {
  color:rgb(51, 51, 51);
  text-decoration:none;
}
footer > .container {
  color:rgb(51, 51, 51);
  display:grid;
  gap:1.5rem;
  grid-template-columns:2fr 1fr;
}
@media(max-width:48rem) {
  footer > .container {
    grid-template-columns:1fr;
  }
}
.form {
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.form button, input[type=submit] {
  background-color:rgb(45, 70, 73);
  border:0;
  color:rgb(255, 255, 255);
  cursor:pointer;
  display:inline-block;
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:22px;
  margin:0;
  min-width:135px;
  outline:rgb(255, 255, 255) none 0;
  overflow:hidden;
  padding:12.5px 15px;
  position:relative;
  text-align:center;
  text-transform:uppercase;
  touch-action:manipulation;
  user-select:none;
  vertical-align:middle;
}
.form div:has(input):has(label) > input:not([type=submit]) ~ label {
  color:rgb(170, 170, 170);
  display:block;
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:.825rem;
  font-weight:400;
  line-height:1.375rem;
  margin:1px 0 0 1px;
  max-width:100%;
  padding:0;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
}
.form div:has(input):has(label) > input:not([type=submit]) {
  width:100%;
}
.form input:not([type=submit]) {
  background-color:rgba(0, 0, 0, 0);
  border:.125rem solid rgb(225, 226, 228);
  color:rgb(85, 85, 85);
  cursor:text;
  display:block;
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:1rem;
  font-weight:400;
  height:2.8125rem;
  line-height:1.45rem;
  margin:0;
  padding:5px .5rem;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
  -webkit-border-image:none;
}
.form fieldset legend, .form label {
  color:rgb(170, 170, 170);
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:1rem;
  font-weight:700;
  line-height:1.25rem;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
}
.form label > span:empty::before, .form legend > span:empty::before {
  color:rgb(121, 0, 0);
  content:"*";
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:1rem;
  font-weight:700;
  margin-inline-start:.25rem;
}
.form fieldset {
  border:0;
  margin:0;
  padding:0;
}
.form textarea {
  background-color:rgba(0, 0, 0, 0);
  border:2px solid rgb(225, 226, 228);
  color:rgb(85, 85, 85);
  column-count:auto;
  cursor:text;
  display:block;
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:1rem;
  font-weight:400;
  height:10rem;
  line-height:1.5rem;
  margin:0;
  max-width:100%;
  min-height:8.125rem;
  overflow-wrap:break-word;
  padding:.375rem .5rem;
  resize:none;
  width:100%;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
}
.grid-2 {
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
@media(max-width:40rem) {
  .grid-2 {
    grid-template-columns:1fr;
  }
}
.grid-2 > figure {
  padding-bottom:1.25rem;
  padding-top:1.25rem;
}
.grid-2 > figure > img {
  border-radius:.25rem;
}
h1, h2, h3, h4, h5, h6 {
  font-family:"Roboto Slab", "Times New Roman", Times, serif;
  color:rgb(34, 34, 34);
}
h1 {
  font-size:2.375rem;
  font-weight:700;
  letter-spacing:-0.4px;
  line-height:2.5rem;
}
h2 {
  font-size:2rem;
  font-weight:700;
  letter-spacing:-0.5px;
  line-height:2.375rem;
}
h3 {
  font-size:1.625rem;
  font-weight:700;
  letter-spacing:-1px;
  line-height:2.125rem;
  margin-bottom:2rem;
}
h4 {
  font-size:1.25rem;
  font-weight:700;
  line-height:1.625rem;
}
h5 {
  font-size:.875rem;
  line-height:1.25rem;
}
h6 {
  font-size:.75rem;
  font-weight:400;
  line-height:.75rem;
}
header {
  background-color:rgb(255, 255, 255);
  padding-bottom:.625rem;
  padding-top:.625rem;
  position:sticky;
  top:0;
  z-index:1000;
}
header.is-stuck {
  box-shadow:0 .5rem .625rem rgb(0 0 0 / 15%);
}
.hide {
  display:none;
}
.homepage-articles {
  margin:3rem 0;
}
.homepage-articles > .container > div {
  align-items:center;
  display:flex;
  gap:1.25rem;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:1.125rem;
}
.homepage-articles > .container > div img {
  height:auto;
  width:10.625rem;
}
.homepage-articles > .container > h2 {
  color:rgb(34, 34, 34);
  font-family:"Roboto Slab", "Times New Roman", Times, serif;
  font-size:3.125rem;
  font-weight:700;
  line-height:3.125rem;
  margin-bottom:2.875rem;
  margin-top:0;
  text-align:center;
}
.homepage-biography {
  display:grid;
  gap:3rem;
  grid-template-columns:28.125rem 1fr;
}
.homepage-biography > div > h2 {
  margin-top:0;
}
.homepage-biography > div > img {
  border-radius:.25rem;
  display:block;
  height:auto;
  margin-inline:auto;
  max-width:15.625rem;
}
@media(max-width:40rem) {
  .homepage-biography {
    grid-template-columns:1fr;
  }
}
.homepage-book-hero {
  background-image:url('/assets/images/slider_1-1917x607.jpg');
  background-position-x:50%;
  background-position-y:0;
  background-repeat:no-repeat;
  color:rgb(34, 34, 34);
  display:block;
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:1rem;
  height:37.625rem;
  line-height:1.375rem;
  margin-bottom:1.75rem;
  margin-top:4rem;
  overflow:hidden;
  padding-left:10.5rem;
  padding-right:10.5rem;
  padding-top:2.185rem;
  position:relative;
  width:100%;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
  z-index:1;
}
.homepage-book-hero > div.container {
  display:flex;
  flex-wrap:nowrap;
  gap:1rem;
}
.homepage-book-hero > div.container > .homepage-book-hero-details {
  align-items:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.homepage-book-hero > div.container > .homepage-book-hero-details > div > a {
  font-family:"Roboto Slab", "Times New Roman", Times, serif;
  color:rgb(94, 182, 220);
  font-size:1.75rem;
  font-weight:500;
}
.homepage-book-hero > div.container > .homepage-book-hero-details > h2 {
  font-family:"Roboto Slab", "Times New Roman", Times, serif;
  color:rgb(94, 182, 220);
  font-size:2.8125rem;
  margin-bottom:0;
  margin-top:0;
}
.homepage-book-hero > div.container > .homepage-book-hero-details > p {
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  color:rgb(255, 255, 255);
  font-size:1.75rem;
  font-style:italic;
  line-height:2.375rem;
  text-align:center;
}
.homepage-book-hero > div.container > .homepage-book-hero-image {
  align-items:center;
  display:flex;
  justify-content:flex-end;
}
.homepage-hero {
  align-items:center;
  background-image:url("/assets/images/dr-sorin-boeriu-kitchener-waterloo-guelph-dentist.jpg");
  background-position-x:50%;
  background-position-y:0;
  background-repeat:no-repeat;
  color:rgb(255, 255, 255);
  display:flex;
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:1rem;
  height:37.625rem;
  line-height:1.375rem;
  margin-bottom:1.75rem;
  overflow:hidden;
  padding-left:10.5rem;
  padding-right:10.5rem;
  padding-top:2.185rem;
  position:relative;
  width:100%;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
  z-index:1;
}
.homepage-hero > .container {
  color:rgb(255, 255, 255);
}
.homepage-hero > .container > h1 {
  color:rgb(255, 255, 255);
  margin:0;
}
.hp-field {
  height:1px;
  left:-10000px;
  overflow:hidden;
  position:absolute;
  width:1px;
}
.icon-grid {
  display:grid;
  gap:.75rem;
  grid-template-columns:1fr;
  width:100%;
}
.icon-grid  > .icon-grid-row {
  align-items:flex-start;
  display:flex;
  gap:.75rem;
}
.icon-grid  > .icon-grid-row > .icon-grid-icon {
  font-size:1.25rem;
}
nav.authentication-menu {
  background-color:rgb(51, 51, 51);
  color:rgb(170, 170, 170);
  font-family:"Montserrat", Helvetica, Arial, sans-serif;
  font-size:.825rem;
  /*height:var(--authentication-menu-height);*/
}
nav.authentication-menu a {
  color:rgb(170, 170, 170);
  text-decoration:none;
}
nav.authentication-menu > .container {
  padding-bottom:.625rem;
  padding-top:.6125rem;
  text-align:right;
}
nav.main-navigation {
  position:sticky;
  top:0;
  z-index:1000;
}
nav.main-navigation > .container {
  align-items:center;
  display:flex;
  justify-content:center;
}
nav.main-navigation > .container > * {
  flex:0 0 auto;
}
nav.main-navigation > .container > a > img.logo {
  height:auto;
  width:16.875rem;
}
nav.main-navigation > .container > nav.main-menu {
  margin-left:auto;
}
@media(max-width:43.75rem) {
  nav.main-navigation > .container > nav.main-menu {
    display:none;
  }
}
nav.main-navigation > .container > nav.main-menu .menu {
  display:flex;
  flex-wrap:wrap;
  padding:.75rem 0;
}
nav.main-navigation > .container > nav.main-menu .menu, .main-navigation > .container > nav.main-menu .submenu {
  list-style:none;
  margin:0;
  padding:0;
}
main {
  padding-bottom:2.25rem;
  min-height:50vh;
}
main a {
  color:rgb(45, 70, 73);
  text-decoration:none;
}
main ol, main ul {
  padding-left:1.25rem;
}
main ol li, main ul li {
  line-height:1.375rem;
  margin-bottom:.5rem;
}
.main-navigation > .container > nav.main-menu a {
  color:rgb(34, 34, 34);
  display:block;
  padding:1rem;
  text-decoration:none;
}
.main-navigation > .container > nav.main-menu a:focus-visible, .submenu-toggle:focus-visible {
  outline:0.1875rem solid rgb(255, 209, 102);
  outline-offset:-0.1875rem;
}
.main-navigation > .container > nav.main-menu > .menu > li > .submenu {
  background-color:rgb(255, 255, 255);
  border-radius:.125rem;
  border-top:solid 3px rgb(94, 182, 220);
  box-shadow:0 0.5rem 1rem rgb(0 0 0 / 25%);
  color:rgb(34, 34, 34);
  left:0;
  min-width:18rem;
  opacity:0;
  position:absolute;
  top:100%;
  transform: translateY(-0.5rem);
  transition:opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
  visibility:hidden;
  z-index:1000;
}
@media(prefers-reduced-motion:reduce) {
  .main-navigation > .container > nav.main-menu > .menu > li > .submenu {
    transition:none;
  }
}
.main-navigation > .container > nav.main-menu > .menu > li.has-submenu:focus-within > .submenu {
  opacity:1;
  transform:translate(0);
  visibility:visible;
}
.main-navigation > .container > nav.main-menu > .menu > li.has-submenu.is-open > .submenu {
  opacity:1;
  transform:translate(0);
  visibility:visible;
}
.main-navigation > .container > nav.main-menu > .menu > li > .submenu a {
  color:rgb(0, 0, 0);
  font-size:.8125rem;
  font-weight:700;
  padding:1.5rem 1.375rem 1.5rem 2.125rem;
  z-index:15;
}
.main-navigation > .container > nav.main-menu > .menu > li > .submenu a:hover {
  color:rgb(94, 182, 220);
}
.main-navigation > .container > nav.main-menu > .menu > li > .submenu li {
  position:relative;
  width:100%;
}
.main-navigation > .container > nav.main-menu .menu > li {
  position:relative;
}
.main-navigation > .container > nav.main-menu .menu > li.active {
  border-bottom:solid 3px rgb(94, 182, 220);
}
nav.main-navigation > .container > nav.main-menu .menu > li > a, nav.main-navigation > .container > nav.main-menu .menu > li.has-submenu > .menu-item > a {
  color:rgb(51, 51, 51);
  font-family:"Roboto Slab", "Times New Roman", Times, serif;
  font-size:1.125rem;
  font-weight:700;
}
nav.main-navigation > .container > nav.main-menu .menu > li.has-submenu > .menu-item > .submenu-toggle {
  align-items:center;
  border:0;
  background:transparent;
  color:rgb(51, 51, 51);
  cursor:pointer;
  display:flex;
  font-size:1rem;
  justify-content: center;
  min-width:1.25rem;
}
nav.main-navigation > .container > nav.main-menu .menu-item {
  align-items:stretch;
  display:flex;
}
nav.main-navigation > .container > nav.main-menu .menu-item > a {
  padding-right:.4rem;
}
.product-section {
  margin:0 auto;
  width:min(100%, 1200px);
}
.product-section > .product-grid {
  display:grid;
  gap:1.5rem;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  list-style:none;
  margin:0;
  padding:0;
}
.product-section > .product-grid > li > .product-card {
  background:var(--product-color-card);
  border-radius:var(--product-radius);
  border:1px solid var(--product-color-border);
  box-shadow:0 0.25rem 1rem rgb(0 0 0 / 8%);
  display:flex;
  flex-direction:column;
  max-width:min(100%, 24rem);
  min-height:100%;
  overflow:hidden;
  position:relative;
  transition:box-shadow 160ms ease, transform 160ms ease;
}
@media (prefers-reduced-motion:reduce) {
  .product-section > .product-grid > li > .product-card {
    transition:none;
  }
}
.product-section > .product-grid > li > .product-card:hover {
  box-shadow:0 0.75rem 1.5rem rgb(0 0 0 / 12%);
  transform:translateY(-0.2rem);
}
@media (prefers-reduced-motion:reduce) {
  .product-section > .product-grid > li > .product-card:hover {
    transform:none;
  }
}
.product-section > .product-grid > li > .product-card > .product-card-actions {
  display:flex;
  padding:0 1rem 1rem;
  position:relative;
  z-index:2;
}
.product-section > .product-grid > li > .product-card > .product-card-actions > .product-card-button {
  background:var(--product-color-primary);
  border-radius:0.45rem;
  border:0;
  color:rgb(255, 255, 255);
  cursor:pointer;
  font:inherit;
  font-weight:700;
  min-height:2.75rem;
  padding:0.65rem 1rem;
  width:100%;
}
.product-section > .product-grid > li > .product-card > .product-card-actions > .product-card-button:hover {
  background:var(--product-color-primary-dark);
}
.product-section > .product-grid > li > .product-card > .product-card-actions > .product-card-button:focus-visible {
  outline:0.2rem solid var(--product-color-focus);
  outline-offset:0.2rem;
}
.product-section > .product-grid > li > .product-card > .product-card-link {
  color:inherit;
  display:flex;
  flex-direction:column;
  flex:1;
  position:relative;
  text-decoration:none;
}
.product-section > .product-grid > li > .product-card > .product-card-link::after {
  content:"";
  inset:0;
  position:absolute;
  z-index:1;
}
.product-section > .product-grid > li > .product-card > .product-card-link:focus-visible {
  outline:0.2rem solid var(--product-color-focus);
  outline-offset:-0.2rem;
}
.product-section > .product-grid > li > .product-card > .product-card-link > .product-card-body {
  display:flex;
  flex:1;
  flex-direction:column;
  gap:0.5rem;
  padding:1rem;
}
.product-section > .product-grid > li > .product-card > .product-card-link > .product-card-body > .product-card-description {
  color:var(--product-color-muted);
  font-size:0.95rem;
  margin:0;

  line-clamp: 5;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.5;
  max-height: calc(1.5em * 5);
}
.product-section > .product-grid > li > .product-card > .product-card-link > .product-card-body > .product-card-price {
  font-size:1.2rem;
  font-weight:700;
  margin-top:auto;
  padding-top:0.75rem;
}
.product-section > .product-grid > li > .product-card > .product-card-link > .product-card-body > .product-card-title {
  font-size:1.15rem;
  line-height:1.25;
  margin:0;
}
.product-section > .product-grid > li > .product-card > .product-card-link > .product-card-image {
  aspect-ratio:7 / 10;
  background:rgb(255, 255, 255);
  border-bottom:1px solid #e5e7eb;
  display:block;
  object-fit:contain;
  object-position:top;
  width:100%;
}
.product-section > .product-section-title {
  font-size:clamp(1.5rem, 3vw, 2rem);
  margin:0 0 1.5rem;
}
.share-bar {
  border-bottom:1px solid rgb(239, 243, 249);
  border-top:1px solid rgb(239, 243, 249);
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.5rem;
  max-width:75rem;
  margin:2rem auto;
  padding:1.5rem;
}
@media(max-width:48rem) {
  .share-bar {
    grid-template-columns:1fr;
  }
}
.share-bar > a {
  align-items:center;
  display:flex;
  gap:.75rem;
  min-width:0;
  color:rgb(67, 81, 94);
  text-decoration:none;
  white-space:nowrap;
}
.share-bar > a:hover {
  color:rgb(79, 195, 163);
}
.share-bar > a > span:has(i) {
  align-items:center;
  background:rgb(67, 81, 94);
  border-radius:50%;
  color:rgb(255, 255, 255);
  display:flex;
  flex:0 0 2rem;
  height:2rem;
  justify-content:center;
  overflow:hidden;
  width:2rem;
}
.shopping-cart {
  align-items:start;
  display:grid;
  gap:2rem;
  grid-template-columns:minmax(0, 1.6fr) minmax(300px, 0.9fr);
}
@media(max-width:47.5rem) {
  .shopping-cart {
    gap:1rem;
    grid-template-columns:1fr;
  }
}
.shopping-cart > aside {
  padding:1.5rem;
  position:sticky;
  top:1.25rem;
}
@media (max-width:47.5rem) {
  .shopping-cart > aside {
    position:static;
  }
}
.shopping-cart > aside, .shopping-cart > section {
  background:var(--shopping-cart-color-surface);
  border:1px solid var(--shopping-cart-color-border);
  border-radius:var(--shopping-cart-radius);
  box-shadow:var(--shopping-shadow);
}
.shopping-cart > aside > button {
  background:var(--shopping-cart-color-primary);
  border:0;
  border-radius:8px;
  color:rgb(255, 255, 255);
  font-weight:800;
  margin-top:1.25rem;
  padding:0.95rem 1rem;
  width:100%;
}
.shopping-cart > aside > button:hover {
  background:var(--shopping-cart-color-primary-dark);
}
.shopping-cart > aside > div {
  border-top:1px solid var(--shopping-cart-color-border);
  display:flex;
  font-size:1.2rem;
  font-weight:800;
  gap:1rem;
  justify-content:space-between;
  margin-top:1.25rem;
  padding-top:1.25rem;
}
.shopping-cart > aside > dl {
  display:grid;
  gap:0.8rem;
  margin:0;
}
.shopping-cart > aside > dl > div {
  color:var(--shopping-cart-color-muted);
  display:flex;
  gap:1rem;
  justify-content:space-between;
}
.shopping-cart > aside > dl > div > dd, .shopping-cart > aside > dl > div > dt {
  margin:0;
}
.shopping-cart > aside > h2 {
  font-size:1.25rem;
  margin:0 0 1.25rem;
}
.shopping-cart > aside > p {
  color:var(--shopping-cart-color-muted);
  font-size:0.8rem;
  margin:1rem 0 0;
  text-align:center;
}
.shopping-cart button {
  cursor:pointer;
}
.shopping-cart button, .shopping-cart input {
  font:inherit;
}
.shopping-cart > section {
  padding:clamp(1rem, 3vw, 1.5rem);
}
.shopping-cart > section > a {
  display:inline-block;
  font-size:0.95rem;
  font-weight:650;
  margin-top:1.25rem;
  text-decoration:none;
}
.shopping-cart > section > header {
  align-items:center;
  display:flex;
  gap:1rem;
  justify-content:space-between;
  margin-bottom:1.25rem;
}
.shopping-cart > section > header > h2 {
  font-size:1.25rem;
  margin:0;
}
.shopping-cart > section > header > span {
  color:var(--shopping-cart-color-muted);
  font-size:0.9rem;
}
.shopping-cart > section > .items > article {
  align-items:center;
  border-top:1px solid var(--shopping-cart-color-border);
  display:grid;
  gap:1rem;
  grid-template-columns:6rem minmax(0, 1fr) auto;
  padding-block:1.25rem;
}
@media(max-width:47.5rem) {
  .shopping-cart > section > .items > article {
    gap:0.8rem;
    grid-template-columns:72px minmax(0, 1fr);
  }
}
.shopping-cart > section > .items > article > img {
  aspect-ratio:1;
  background:rgb(231, 237, 246);
  border-radius:10px;
  object-fit:cover;
  width:6rem;
}
@media (max-width:47.5rem) {
  .shopping-cart > section > .items > article > img {
    width:4.5rem;
  }
}
.shopping-cart > section > .items > article > .item-actions {
  align-items:center;
  display:flex;
  gap:1rem;
}
@media (max-width:47.5rem) {
  .shopping-cart > section > .items > article > .item-actions {
    grid-column:1 / -1;
    justify-content:space-between;
    padding-top:0.25rem;
  }
}
.shopping-cart > section > .items > article > .item-actions > .quantity-control {
  align-items:center;
  display:inline-flex;
  border:1px solid var(--shopping-cart-color-border);
  border-radius:8px;
  overflow:hidden;
}
.shopping-cart > section > .items > article > .item-actions > .quantity-control > button {
  background:rgb(248, 250, 252);
  border:0;
  color:var(--shopping-cart-color-text);
  font-size:1.2rem;
  height:2.25rem;
  width:2.25rem;
}
.shopping-cart > section > .items > article > .item-actions > .quantity-control > button:hover {
  background:rgb(237, 242, 248);
}
.shopping-cart > section > .items > article > .item-actions > .quantity-control > span {
  font-size:0.95rem;
  font-weight:700;
  min-width:2.25rem;
  text-align:center;
}
.shopping-cart > section > .items > article > .item-actions > strong {
  font-weight:700;
  min-width:5.125rem;
  text-align:right;
}
@media (max-width:47.5rem) {
  .shopping-cart > section > .items > article > .item-actions > strong {
    min-width:auto;
  }
}
.shopping-cart > section > .items > article > .item-information > button {
  background:transparent;
  border:0;
  color:rgb(88, 88, 88);
  display:block;
  font-size:1.15rem;
  margin-top:0.5rem;
  padding:0;
  text-decoration:underline;
}
.shopping-cart > section > .items > article > .item-information > button:hover {
  color:rgb(79, 195, 163);
}
.shopping-cart > section > .items > article > .item-information > h3 {
  font-size:1rem;
  margin:0 0 0.3rem;
}
.shopping-cart > section > .items > article > .item-information > span {
  font-size:0.9rem;
  color:var(--shopping-cart-color-muted);
}
.show {
  display:block;
}
.separator {
  background:linear-gradient(to right, rgb(34, 34, 34) 0 3.125rem, transparent 3.125rem 4.125rem, rgb(225, 226, 228) 4.125rem 100% ) top / 100% 1px no-repeat, linear-gradient( to right, rgb(34, 34, 34) 0 3.125rem, transparent 3.125rem 4.125rem, transparent 4.125rem 100% ) center / 100% 1px no-repeat, linear-gradient(to right, rgb(34, 34, 34) 0 3.125rem, transparent 3.125rem 4.125rem, transparent 4.125rem 100%) bottom / 100% 1px no-repeat;
  border:0;
  height:.1875rem;
  margin:2rem 0;
  width:100%;
}
.settings-profile > button {
  background-color:rgb(45, 70, 73);
  border:0;
  color:rgb(255, 255, 255);
  cursor:pointer;
  display:inline-block;
  font-family:"Open Sans", Helvetica, Arial, sans-serif;
  font-size:0.875rem;
  font-weight:700;
  line-height:1.375rem;
  margin:.75rem 0 0 0;
  min-width:8.45rem;
  outline:rgb(255, 255, 255) none 0;
  overflow:hidden;
  padding:.78rem 1rem;
  position:relative;
  text-align:center;
  text-transform:uppercase;
  touch-action:manipulation;
  user-select:none;
  vertical-align:middle;
}
.settings-profile > .settings-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1rem;
  row-gap: 1rem;
}
@media (max-width: 600px) {
  .settings-profile > .settings-profile-grid {
    grid-template-columns: 1fr;
  }
}
.settings-profile > .settings-profile-grid > input {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  height: 40px;
  padding: 9px 12px;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #dbe0e9;
  background: #fff;
  outline: 0;
  box-shadow: none;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  color: #4d5e6f;
}
.settings-profile > hr {
  border:0;
  border-top:1px solid rgb(219, 224, 233);
  margin-top:1.75rem;
}
.settings-profile > .settings-form-avatar {
  align-items:center;
  display:flex;
  justify-content:center;
  margin-bottom:2rem;
}
.settings-profile > .settings-form-avatar > button {
  display: inline-flex;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  background: transparent;
  position: relative;
}
.settings-profile > .settings-form-avatar > button:focus-visible {
  outline: 4px solid #60a5fa;
  outline-offset: 5px;
}
.settings-profile > .settings-form-avatar > button > img {
  display: block;
  width: 215px;
  height: 215px;
  border-radius: 50%;
  object-fit: cover;
  background: #e5e7eb;
  transition: filter 160ms ease, transform 160ms ease;
}
.settings-profile > .settings-form-avatar > button:hover > img {
  filter: brightness(75%);
  transform: scale(1.02);
}
.settings-profile > .settings-form-avatar > button > span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: white;
  font-weight: bold;
  pointer-events: none;
  opacity: 0;
  transition: opacity 160ms ease;
}
.settings-profile > .settings-form-avatar > button:focus-visible > span, .settings-form-avatar > button:hover > span {
  opacity: 1;
}
.settings-profile > .settings-form-avatar > div[role=status].error {
  color:rgb(176, 0, 32);
}
.settings-profile > .settings-form-avatar > div[role=status].success {
  color:rgb(0, 128, 0);
}
table {
  border:1px solid rgb(204, 204, 204);
  border-collapse:collapse;
  width:100%;
}
table thead {
  border-bottom:1px solid rgb(204, 204, 204);
}
table tbody tr + tr {
  border-top:1px solid rgb(204, 204, 204);
}
table td, th {
  border:0;
  padding:.25rem;
  text-align:left;
  vertical-align:top;
}
.text-center {
  text-align:center;
}
.text-muted {
  color:rgb(108, 117, 125);
}
.visually-hidden {
  border:0;
  clip:rect(0, 0, 0, 0);
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  white-space:nowrap;
  width:1px;
}