/* Site
--------------------------------------------- */

.site {
  max-width: 1280px;
  margin: 0 auto;
  background: var(--bg-primary);
  min-height: 100vh;
  position: relative;
}

/* Site Header
--------------------------------------------- */

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--bg-primary);
}

.site-header .container {
  height: 60px;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.language-selector ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}

.language-selector ul > li:not(:last-of-type) {
  margin-right: 10px;
}

.language-selector a {
  font-weight: 500;
}

.wpml-ls-current-language a {
  opacity: 0.65;
}

/* Site Main
--------------------------------------------- */
.site-main {
  padding: 0 24px;
}

.site-main::after {
  content: "";
  display: block;
  height: 195px;
}

.entry-header {
  margin: 30px 0;
}

.entry-title {
  margin: 0 0 15px;
  font-style: italic;
}

.products {
  list-style: none;
  margin: 0;
  padding: 0;
}

.product {
  display: flex;
  padding-top: 6px;
  margin-top: 12px;
  border-top: 1px solid;
}

.product-summary {
  flex-grow: 1;
  margin-right: 20px;
}

.product-title {
  font-family: "STIX Two Text", serif;
  font-size: 18px;
  font-weight: 500;
}

.product-description {
  font-family: "STIX Two Text", serif;
}

/* Site Footer
--------------------------------------------- */

.site-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 20;
}

.site-footer__inner {
  max-width: 1280px;
  margin: 0 auto;
  background: var(--bg-primary);
  height: 100px;
  position: relative;
}

.site-footer__inner:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -100px;
  left: 0;
  width: 100%;
  height: 100px;
  background: linear-gradient(
    to bottom,
    rgba(245, 245, 245, 0),
    rgba(245, 245, 245, 1) 90%
  );
}

.dark-theme .site-footer__inner:before {
  background: linear-gradient(
    to bottom,
    rgba(20, 20, 20, 0),
    rgba(20, 20, 20, 1) 90%
  );
}

.site-footer .container {
  height: 100%;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-footer .site-title a {
  display: flex;
  align-items: center;
}

.site-footer .trademark {
  display: block;
  content: url("../svg/trademark.svg");
  width: 42px;
  height: 42px;
  padding: 6px;
  background: #fff;
  border-radius: 50%;
  margin-right: 16px;
}

.site-footer .logo {
  padding-top: 2px;
  font-family: "STIX Two Text", serif;
}

.site-footer .logo .title {
  display: block;
  line-height: 1;
  margin-bottom: 5px;
  font-size: 24px;
  font-weight: 500;
}

.site-footer .logo .subtitle {
  display: block;
  line-height: 1;
  font-size: 18px;
  font-style: italic;
}

.footer-nav {
  display: flex;
  align-items: center;
}

#side-info-open-btn {
  display: block;
  content: url("../svg/help_outline_black_24dp.svg");
  width: 24px;
  height: 24px;
  margin-right: 8px;
}

.dark-theme #side-info-open-btn {
  content: url("../svg/help_outline_white_24dp.svg");
}

#side-info-modal {
  position: absolute;
  z-index: 800;
  left: 0;
  bottom: 100%;
  width: 100%;
  max-width: 480px;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s;
}

#side-info-modal.active {
  visibility: visible;
  opacity: 1;
}

#side-info-modal .side-info-modal__inner {
  position: relative;
  background: var(--bg-secondary);
  padding: 36px 24px;
}

#side-info-close-btn {
  position: absolute;
  top: 0;
  right: 0;
  margin: 24px;
}

#side-info-close-btn {
  display: block;
  content: url("../svg/close_black_24dp.svg");
  width: 24px;
  height: 24px;
}

.dark-theme #side-info-close-btn {
  content: url("../svg/close_white_24dp.svg");
}

#side-info-modal h3 {
  margin: 0 0 15px;
}

#side-info-modal ul {
  margin: 0;
  padding: 0 0 0 1em;
}

.theme-toggle-button {
  display: block;
  content: url("../svg/brightness_4_black_24dp.svg");
  width: 24px;
  height: 24px;
}

.dark-theme .theme-toggle-button {
  content: url("../svg/light_mode_black_24dp.svg");
}

/* Home
--------------------------------------------- */

.home .site-main .trademark {
  display: block;
  content: url("../svg/trademark.svg");
  width: 180px;
  height: 180px;
  padding: 24px;
  background: #fff;
  border-radius: 50%;
  margin-left: -48px;
  margin-top: 30px;
}

.home .entry-header .page-title {
  margin: 0;
}

.home .entry-header .page-subtitle {
  margin: 0;
  font-weight: 400;
  font-style: italic;
}

.home .entry-content ul {
  margin: 0;
  padding: 0 0 0 1em;
}
