h1 {
  margin: 0;
  font-weight: 400;
  font-size: 125%;
  text-transform: uppercase;
  color: #4d4d4d;
  letter-spacing: 0.125em; }

h2 {
  text-transform: uppercase;
  font-weight: 600;
  font-size: 125%; }

.post__title {
  font-size: 150%;
  margin-bottom: .25em; }
  @media screen and (min-width: 60em) {
    .post__title {
      font-size: 200%; } }

.post__content {
  max-width: 45em;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap; }
  .post__content .right {
    -webkit-flex: 0 0 20em;
        -ms-flex: 0 0 20em;
            flex: 0 0 20em;
    margin-left: 2em; }
  .post__content p {
    line-height: 1.5; }

.post__meta {
  font-size: 75%; }
  .post__meta .meta__item {
    margin-bottom: .25em; }

.post__featured-image {
  margin: 0 -.5em;
  height: calc(10vw + 3em);
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  @media screen and (min-width: 60em) {
    .post__featured-image {
      margin: 0 -1em; } }

.product {
  height: 100%; }

.product__header {
  position: relative;
  margin-top: .5em; }

.product__image {
  width: 100%;
  padding-top: 75%;
  overflow: hidden;
  position: relative; }
  .product__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block; }

.product__meta {
  font-size: 75%;
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-bottom: 1.5em;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%); }
  .product__meta span {
    background: rgba(255, 255, 255, 0.9);
    padding: .25em .5em;
    border-radius: 10em;
    white-space: nowrap; }

.product__link {
  color: inherit;
  text-decoration: none; }

.product__title {
  margin: 0; }

.product__period {
  line-height: 1;
  display: block; }
  .product__period i {
    margin-right: .5em; }
  .product__period strong {
    line-height: inherit;
    display: inline-block; }

.product-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  list-style: none;
  margin: -.25em;
  padding: 0; }
  @media screen and (min-width: 60em) {
    .product-list {
      margin: -.5em; } }

.product-list__item {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  max-width: calc(100% - .5em);
  min-width: calc(100% - .5em);
  width: calc(100% - .5em);
  margin: .25em;
  background: #fafafa;
  padding: 1em; }
  @media screen and (min-width: 25em) {
    .product-list__item {
      max-width: calc(50% - .5em);
      width: calc(50% - 1em);
      min-width: calc(50% - .5em); } }
  @media screen and (min-width: 42em) {
    .product-list__item {
      max-width: calc(33.3333333333% - .5em);
      width: calc(33.3333333333% - .5em);
      min-width: calc(33.3333333333% - .5em); } }
  @media screen and (min-width: 60em) {
    .product-list__item {
      max-width: calc(25% - 1em);
      width: calc(25% - 1em);
      min-width: calc(25% - 1em);
      margin: .5em; } }

.product-list__image {
  margin: -1em -1em 0 -1em;
  width: auto; }

.product-list-filter {
  text-align: center;
  margin-bottom: 1em;
  margin-top: 1em; }
  .product-list-filter a {
    display: inline-block;
    margin: .25em;
    text-decoration: none; }
    .product-list-filter a.active {
      color: #8cc653; }

.page-header {
  position: relative;
  padding: 1em 0;
  margin-bottom: 1em; }
  .page-header:before {
    content: '';
    background: #fafafa;
    width: 100vw;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: -1;
    display: block;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

#breadcrumbs {
  margin: 0;
  font-size: 75%;
  position: absolute;
  bottom: .5em;
  right: 0;
  font-style: italic;
  color: #999999; }
  #breadcrumbs a {
    text-decoration: none; }
  #breadcrumbs .breadcrumb_last {
    color: #4d4d4d; }

.post-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  list-style: none;
  margin: -.25em;
  padding: 0; }

.post-list__item {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: calc(100% - .5em);
  min-width: calc(100% - .5em);
  margin: .25em;
  background: white;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.post-list__social-bar {
  padding: .5em;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  border-bottom: 1px solid #e6e6e6;
  border-top: 1px solid #e6e6e6; }
  @media screen and (min-width: 60em) {
    .post-list__social-bar {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      border-right: 1px solid #e6e6e6;
      border-bottom: none;
      border-top: none; } }

.post-list__post {
  padding: .5em; }
  @media screen and (min-width: 60em) {
    .post-list__post {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      -webkit-flex: 1 0;
          -ms-flex: 1 0;
              flex: 1 0; } }

.post-list__header {
  position: relative; }

.post-list__image {
  width: 100%;
  padding-top: 75%;
  overflow: hidden;
  position: relative; }
  .post-list__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block; }

.post-list__meta {
  font-size: 75%;
  margin-bottom: 1.5em; }
  .post-list__meta:empty {
    visibility: hidden;
    margin: 0; }

.post-list__link {
  color: inherit;
  text-decoration: none; }

.post-list__title {
  margin: 0 0 .25em 0; }

.post-list__period {
  line-height: 1;
  display: block; }
  .post-list__period i {
    margin-right: .5em; }
  .post-list__period strong {
    line-height: inherit;
    display: inline-block; }

.post-list__content p {
  margin: 0 0 .5em 0; }

.social-bar__item {
  display: block;
  line-height: 1; }

.posted-on {
  display: block;
  line-height: 1;
  font-size: 75%;
  font-style: italic;
  margin: 0 0 1em 0; }

.meta__label {
  font-weight: 600; }

.main-navigation {
  margin-left: auto;
  padding-left: 1em;
  color: #4d4d4d; }
  .main-navigation .menu-toggle {
    background: none;
    border: none;
    padding: 0;
    line-height: 0;
    outline: none;
    font-size: 100%;
    font-family: inherit;
    color: inherit;
    padding: 1em 0;
    display: block;
    margin-top: -1em;
    margin-bottom: -2em;
    cursor: pointer;
    outline: none;
    color: #4d4d4d;
    text-transform: uppercase;
    vertical-align: middle; }
    .main-navigation .menu-toggle span {
      display: inline-block;
      vertical-align: middle; }
    .main-navigation .menu-toggle .icon i {
      display: block; }
    .main-navigation .menu-toggle .title {
      font-size: 75%;
      line-height: 1;
      padding-top: 0.1666666667em; }
    .main-navigation .menu-toggle i {
      display: block;
      width: 1em;
      height: 1em;
      margin-left: .25em;
      vertical-align: middle; }
    @media screen and (min-width: 42em) {
      .main-navigation .menu-toggle {
        display: none; } }
  .main-navigation .menu-main-container {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    background: white;
    box-shadow: 0 0.15em 0.1em rgba(0, 0, 0, 0.2);
    border-top: 1px solid #f2f2f2;
    display: none; }
    @media screen and (min-width: 42em) {
      .main-navigation .menu-main-container {
        position: relative;
        top: 0;
        display: block;
        box-shadow: none;
        border-top: none; } }
  @media screen and (min-width: 42em) {
    .main-navigation .nav-menu {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }
  .main-navigation .nav-menu li {
    display: block;
    color: #4d4d4d; }
    .main-navigation .nav-menu li:hover {
      color: #8cc653; }
    @media screen and (min-width: 42em) {
      .main-navigation .nav-menu li {
        margin-top: -1em;
        margin-bottom: -2em; } }
  .main-navigation .nav-menu a {
    display: block;
    line-height: 1;
    color: inherit;
    padding: 1em; }
  .main-navigation .nav-menu .current_page_item, .main-navigation .nav-menu .current_page_item:hover, .main-navigation .nav-menu .current-menu-item, .main-navigation .nav-menu .current-menu-item:hover {
    color: white;
    background: #8cc653; }
  .main-navigation.toggled .menu-main-container {
    display: block; }
  .main-navigation.toggled .menu-toggle i {
    color: #8cc653; }
    .main-navigation.toggled .menu-toggle i:before {
      content: '\F00D'; }

.content-area {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%;
  width: 100%;
}

@media screen and (min-width: 60em) {
	.content-area {
		width: calc(100% - 22em);
	}
}

.sidebar {
  width: 100%;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
  @media screen and (min-width: 60em) {
    .sidebar {
      margin-left: 2em;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: 20em;
      } }

.widget {
  background: #fafafa;
  padding: 1em;
  margin-bottom: 1em; }
  .widget ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .widget ul a {
      text-decoration: none; }
      .widget ul a:hover {
        color: #8cc653; }
    .widget ul ul {
      margin-left: 1em;
      margin-bottom: .5em; }

.widget-title {
  margin: 0;
  background: #8cc653;
  color: white;
  text-align: center;
  padding: .5em;
  font-size: 100%;
  font-weight: 600;
  margin: -1em -1em 1em; }

.widget_search {
  padding: 0;
  position: relative; }
  .widget_search .screen-reader-text {
    visibility: hidden;
    position: absolute;
    z-index: -99; }
  .widget_search label {
    width: 100%;
    display: block; }
  .widget_search .search-field {
    border: none;
    background: transparent;
    font-size: 100%;
    width: 100%;
    display: block;
    padding: 1em;
    outline: none;
    border: 1px solid #e6e6e6; }
    .widget_search .search-field:focus {
      border: 1px solid #8cc653; }
  .widget_search .search-submit {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    border: none;
    background: #8cc653;
    padding: 0;
    line-height: 1;
    padding: 1em;
    font-size: 100%;
    color: white; }

.widget_archive ul, .widget_categories ul {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2; }
.widget_micro_archive > ul{
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}
.widget_recent_entries li {
  margin-bottom: .5em; }

.widget_recent_comments li {
  margin-bottom: 1em; }

.widget_recent_comments a {
  color: #8cc653; }
  .widget_recent_comments a:hover {
    text-decoration: underline; }

#breadcrumbs {
  display: none; }
  @media screen and (min-width: 35em) {
    #breadcrumbs {
      display: block; } }

html {
  box-sizing: border-box; }

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

html, body {
  font-family: 'Open Sans', sans-serif;
  color: #666666;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased; }

body {
  margin: 0;
  padding: 3em .5em; }
  @media screen and (min-width: 60em) {
    body {
      padding: 3em 1em; } }

a {
  color: inherit; }
  a:hover {
    color: #8cc653; }

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

.site-content {
  max-width: 75em;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 1em; }
  @media screen and (min-width: 60em) {
    .site-content {
      margin-top: 2em; } }

.site-header {
  position: fixed;
  z-index: 99;
  top: 0;
  right: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.9);
  border-bottom: 1px solid #f2f2f2;
  height: 3em;
  padding: 1em .5em;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 60em) {
    .site-header {
      padding: 1em; } }
  .site-header .site-branding {
    height: 100%; }
  .site-header .site-title {
    height: 100%;
    margin: 0;
    font-size: 100%; }
    .site-header .site-title a {
      height: 100%;
      display: block; }
    .site-header .site-title img {
      height: 100%;
      display: block; }
    .site-header .site-title .logo {
      height: calc(100% + .25em);
      margin-top: -0.125em; }

.nav-menu {
  list-style: none;
  margin: 0;
  padding: 0; }
  .nav-menu a {
    text-decoration: none; }

.fullscreen-background {
  width: 100%;
  height: 100%; }
  .fullscreen-background .branding {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 22em;
    white-space: nowrap;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.9);
    padding: 1em 1.5em;
    box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.4);
    font-weight: 100;
    font-family: 'Open Sans Condensed', sans-serif; }
    .fullscreen-background .branding p {
      margin: 0; }
    .fullscreen-background .branding blockquote {
      position: relative;
      margin: 0;
      font-size: 170%; }
      @media screen and (min-width: 24em) {
        .fullscreen-background .branding blockquote {
          font-size: 225%; } }
      .fullscreen-background .branding blockquote + p {
        margin-top: 1em;
        font-size: 87.5%;
        text-align: right; }

.home {
  width: 100%;
  height: 100%;
  overflow: hidden; }
.home .site-footer {
  display: none;
}
  .home .fullscreen-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    z-index: 9; }

.logo svg {
  width: auto;
  height: 100%;
  vertical-align: top; }

.logo path {
  fill: inherit; }

.site-footer {
  display: none; }

.page-header {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  margin-top: -1em; }
  @media screen and (min-width: 60em) {
    .page-header {
      margin-top: -2em; } }

input[type="search"] {
  -webkit-appearance: none;
}
input[type="submit"] {
  margin: 0;
}

.wpcf7-form input, .wpcf7-form textarea {
  background: #fafafa;
  font-size: 100%;
  width: 100%;
  display: block;
  padding: 1em;
  outline: none;
  border: 1px solid #e6e6e6;
  resize: none;
}

.wpcf7-form input[type="submit"] {
  background: #8cc653;
  border: none;
  color: white;
}
body {
  min-height: 100vh;
}
.align-right-with-margin img {
  margin: 0 0 0 auto;
}
