.has-logo-side .site-container {
  padding-left: 30rem;
}

.has-logo-side .site-header {
  width: 30rem;
}

.has-logo-side.admin-bar .site-header {
  padding-top: 32px;
}

.has-logo-side .site-header,
.has-logo-side.has-sticky-header .site-header,
.has-logo-side.has-sticky-header-desktop .site-header {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
}

.has-logo-side .site-header .wrap,
.has-logo-side.has-sticky-header .site-header .wrap,
.has-logo-side.has-sticky-header-desktop .site-header .wrap {
  justify-content: center;
  align-items: flex-start;
}

.wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.has-logo-side .primary-header {
  height: 100%;
}

.has-logo-side .primary-header .wrap {
  height: 100%;
}

.has-logo-above .primary-header > .wrap {
  justify-content: center;
}

.has-logo-left .primary-header > .wrap,
.has-logo-right .primary-header > .wrap {
  flex-wrap: nowrap;
}

.has-logo-center .primary-header > .wrap {
  justify-content: center;
}

.has-logo-above .title-area {
  width: auto;
  text-align: center;
  padding-right: 2em;
  padding-left: 2em;
}

.has-logo-center .title-area {
  text-align: center;
  padding-right: 2em;
  padding-left: 2em;
}

.has-logo-right .title-area {
  text-align: right;
}

.has-logo-side .title-area {
  text-align: center;
  align-self: flex-start;
}

.has-logo-above-mobile .menu-toggle-bar,
.has-logo-below-mobile .menu-toggle-bar {
  display: none;
}

.sub-menu {
  position: absolute;
  z-index: 1;
  width: auto;
  margin: 0 0 0 -1em;
  padding: 1em;
}

.has-logo-side .sub-menu {
  position: relative;
  margin: 0 auto;
}

.sub-menu .menu-item {
  width: auto;
}

.sub-menu .menu-item:last-of-type {
  margin-bottom: 0;
}

.sub-menu .sub-menu {
  top: 0;
  left: 100%;
  margin-top: -1em;
  white-space: nowrap;
}

.sub-menu-toggle {
  display: none;
}

.has-logo-above .header-left,
.has-logo-center .header-left {
  margin-right: auto;
}

.has-logo-side .header-left {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.has-logo-above .header-right,
.has-logo-center .header-right {
  margin-left: auto;
}

.has-logo-side .header-right {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  align-self: flex-end;
}

.content-sidebar-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.content {
  display: flex;
  flex-wrap: wrap;
}

.sidebar-content .content {
  order: 1;
}

.full-width-content .content {
  margin-right: auto;
  margin-left: auto;
}

.gallery-columns-1 .gallery-item {
  margin-left: 0;
}

.gallery-columns-2 .gallery-item {
  width: calc((100% - 1em) / 2);
}

.gallery-columns-2 .gallery-item:nth-of-type(2n + 1) {
  margin-left: 0;
}

.gallery-columns-3 .gallery-item {
  width: calc((100% - 2em) / 3);
}

.gallery-columns-3 .gallery-item:nth-of-type(3n + 1) {
  margin-left: 0;
}

.gallery-columns-4 .gallery-item {
  width: calc((100% - 3em) / 4);
}

.gallery-columns-4 .gallery-item:nth-of-type(4n + 1) {
  margin-left: 0;
}

.gallery-columns-5 .gallery-item {
  width: calc((100% - 4em) / 5);
}

.gallery-columns-5 .gallery-item:nth-of-type(5n + 1) {
  margin-left: 0;
}

.gallery-columns-6 .gallery-item {
  width: calc((100% - 5em) / 6);
}

.gallery-columns-6 .gallery-item:nth-of-type(6n + 1) {
  margin-left: 0;
}

.gallery-columns-7 .gallery-item {
  width: calc((100% - 6em) / 7);
}

.gallery-columns-7 .gallery-item:nth-of-type(7n + 1) {
  margin-left: 0;
}

.gallery-columns-8 .gallery-item {
  width: calc((100% - 7em) / 8);
}

.gallery-columns-8 .gallery-item:nth-of-type(8n + 1) {
  margin-left: 0;
}

.gallery-columns-9 .gallery-item {
  width: calc((100% - 8em) / 9);
}

.gallery-columns-9 .gallery-item:nth-of-type(9n + 1) {
  margin-left: 0;
}

.scroll-to-top {
  float: right;
}

.has-logo-side .header-search-toggle {
  display: none;
}

.hide-desktop {
  display: none;
}

.show-desktop {
  display: flex;
}

.one-half,
.one-third,
.one-fourth,
.one-sixth,
.two-thirds,
.two-fourths,
.two-sixths,
.three-fourths,
.three-sixths,
.four-sixths,
.five-sixths {
  float: left;
}

.first {
  clear: both;
}

.alignleft {
  float: left;
  margin: 0 1.6rem 1.6rem 0;
}

.alignright {
  float: right;
  margin: 0 0 1.6rem 1.6rem;
}

.center-content .alignfull,
.full-width-content .alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-right: calc(-100vw / 2 + 100% / 2);
  margin-left: calc(-100vw / 2 + 100% / 2);
}

.center-content .alignwide,
.full-width-content .alignwide {
  width: 140%;
  max-width: 140%;
  margin-right: -20%;
  margin-left: -20%;
}

.flex-start-desktop {
  margin-right: auto;
}

.flex-center-desktop {
  margin-right: auto;
  margin-left: auto;
}

.flex-end-desktop {
  margin-left: auto;
}