/*
  HTML5 Reset :: style.css
  ----------------------------------------------------------
  We have learned much from/been inspired by/taken code where offered from:
  Eric Meyer          :: http://meyerweb.com
  HTML5 Doctor        :: http://html5doctor.com
  and the HTML5 Boilerplate :: http://html5boilerplate.com
-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent;
}

article, aside, figure, footer, header, nav, section, details, summary {
  display: block;
}

/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  box-sizing: border-box;
}

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

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */
/* Responsive images and other embedded objects */
/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */
object,
embed {
  max-width: 100%;
}

/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
  In fact, it *will* cause problems with Google Maps' controls at small size.
  If this is the case for you, try uncommenting the following:
#map img {
    max-width: none;
}
*/
/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll;
}

/* we use a lot of ULs that aren't bulleted.
  you'll have to restore the bullets within content,
  which is fine because they're probably customized anyway */
ul, ol, li {
  list-style: none;
  margin: 0;
  padding: 0;
}

blockquote, q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  font-weight: bold;
  vertical-align: bottom;
}

td {
  font-weight: normal;
  vertical-align: top;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

pre {
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word;
  /* IE */
}

input[type=radio] {
  vertical-align: text-bottom;
}

input[type=checkbox] {
  vertical-align: bottom;
}

.ie7 input[type=checkbox] {
  vertical-align: baseline;
}

.ie6 input {
  vertical-align: text-bottom;
}

select, input, textarea {
  font: 99% sans-serif;
}

table {
  font-size: inherit;
  font: 100%;
}

small {
  font-size: 85%;
}

strong {
  font-weight: bold;
}

td, td img {
  vertical-align: top;
}

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* standardize any monospaced elements */
pre, code, kbd, samp {
  font-family: monospace, sans-serif;
}

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer;
}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {
  margin: 0;
}

/* make buttons play nice in IE */
button,
input[type=button] {
  width: auto;
  overflow: visible;
}

/* scale images in IE7 more attractively */
.ie7 img {
  -ms-interpolation-mode: bicubic;
}

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/
/* let's clear some floats */
.clearfix:before, .clearfix:after {
  content: " ";
  display: block;
  height: 0;
  overflow: hidden;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

/* ============================================ *
 * FONTS
 * ============================================ */
@font-face {
  font-family: "SSNicksonOne";
  src: url("../fonts/S&S-Nickson-One.woff2") format("woff2"), url("../fonts/S&S-Nickson-One.woff") format("woff"), url("../fonts/S&S-Nickson-One.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "SSNicksonTwo";
  src: url("../fonts/S&S-Nickson-Two.woff2") format("woff2"), url("../fonts/S&S-Nickson-Two.woff") format("woff"), url("../fonts/S&S-Nickson-Two.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "WorkSans-Regular";
  src: url("../fonts/WorkSans-Regular.woff2") format("woff2"), url("../fonts/WorkSans-Regular.woff") format("woff"), url("../fonts/WorkSans-Regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "WorkSans-Bold";
  src: url("../fonts/WorkSans-Bold.woff2") format("woff2"), url("../fonts/WorkSans-Bold.woff") format("woff"), url("../fonts/WorkSans-Bold.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
}
/* ============================================ *
 * EASING
 * ============================================ */
/* ============================================ *
 * Variables
 * ============================================ */
/* ============================================ *
 * MIXINS
 * ============================================ */
/* ============================================ *
 * HELPERS
 * ============================================ */
.cover {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  outline: none;
}

a.cover {
  cursor: pointer;
}

.mobile-only {
  display: none;
}
@media only screen and (max-width: 768px) {
  .mobile-only {
    display: block;
  }
}

.hide {
  transform: translateY(-100%);
  transition: all 0.3s;
}

.cd-image-replace {
  /* replace text with image */
  display: inline-block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  color: transparent;
}

/* ============================================ *
 * TYPOGRAPHY
 * ============================================ */
body, html {
  font-family: "WorkSans-Regular", helvetica, sans-serif;
}

h1, h2, h3, h4, h5, p, li, a, button, input, span {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "SSNicksonOne", helvetica, sans-serif;
  color: #2F4035;
}

h1 {
  font-family: "SSNicksonOne", helvetica, sans-serif;
  font-size: 72px;
  letter-spacing: 2.92px;
  line-height: 1;
}

h2 {
  font-family: "SSNicksonOne", helvetica, sans-serif;
  font-size: 56px;
  letter-spacing: 2.92px;
  line-height: 1;
}

h3 {
  font-family: "SSNicksonOne", helvetica, sans-serif;
  font-size: 36px;
  letter-spacing: 2px;
  line-height: 1.15;
}

p {
  font-family: "WorkSans-Regular", helvetica, sans-serif;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.625;
  padding-bottom: 25px;
}

a {
  text-decoration: none;
  color: #E7E7E7;
}

html,
body {
  position: relative;
  overflow-x: hidden;
}

html.no-scroll {
  overflow-y: hidden;
}

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

a.button,
.button {
  position: relative;
  padding: 10px 25px;
  background: #FFF;
  color: black;
  border-color: #E7E7E7;
  border-radius: 25px;
  text-decoration: none;
  font-family: "SSNicksonTwo", helvetica, sans-serif;
  font-size: 18px;
  line-height: 1;
}
a.button.dark,
.button.dark {
  background: #5E7349;
  color: #FFF;
  border-color: transparent;
}
a.button.light,
.button.light {
  background: #728D4A;
  color: #FFF;
  border-color: transparent;
}
a.button.large,
.button.large {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  a.button.large,
.button.large {
    max-width: 353px;
  }
}
a.button.button-box,
.button.button-box {
  padding: 20px;
  background: #2F4035;
  color: #FFF;
  border-radius: 8px;
  font-family: "SSNicksonOne", helvetica, sans-serif;
  font-size: 48px;
  letter-spacing: 2.5px;
  text-align: center;
  line-height: 1;
}
a.button.underline,
.button.underline {
  padding: 0;
  background: transparent;
  color: #5E7349;
  font-size: 24px;
}
a.button.underline:after,
.button.underline:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background: #5E7349;
}

.content-container {
  position: relative;
  width: 100%;
  max-width: 1240px;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 769px) {
  .content-container.with-padding {
    padding: 100px 100px;
  }
}
@media only screen and (max-width: 1280px) {
  .content-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

#header {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 100;
}
#header .content-container {
  display: flex;
  padding-top: 30px;
  padding-bottom: 30px;
  display: flex;
}
@media only screen and (max-width: 768px) {
  #header .navigation {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #FFF;
    padding: 40px;
    transform: translateX(100%);
    transition: transform 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  }
  #header .navigation.is-active {
    transform: translateX(0);
  }
}
@media only screen and (min-width: 769px) {
  #header .navigation {
    display: flex;
    flex: 1;
    align-self: center;
    justify-content: center;
  }
}
#header .navigation li {
  margin-right: 60px;
  font-family: "SSNicksonTwo", helvetica, sans-serif;
  font-size: 18px;
  color: #2F4035;
  letter-spacing: 1px;
  text-transform: uppercase;
}
@media only screen and (min-width: 769px) {
  #header .navigation li {
    color: #FFF;
  }
}
#header .navigation .dropdown {
  position: relative;
  z-index: 999;
}
@media only screen and (max-width: 768px) {
  #header .navigation .dropdown {
    font-size: 24px;
  }
}
#header .navigation .dropdown:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  height: 1px;
  width: 100%;
  background: #E7E7E7;
  opacity: 0;
  transition: opacity 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
#header .navigation .dropdown ul {
  border-top: 1px solid #E7E7E7;
  margin: 10px 0;
  padding: 15px 0;
}
@media only screen and (min-width: 769px) {
  #header .navigation .dropdown ul {
    margin: 0;
    padding: 20px 0;
  }
}
@media only screen and (min-width: 769px) {
  #header .navigation .dropdown ul {
    position: absolute;
    top: 100%;
    min-width: 200px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    border-top: none;
  }
}
#header .navigation .dropdown ul li {
  margin-right: 0;
  margin-bottom: 20px;
}
#header .navigation .dropdown ul a {
  display: inline-block;
  transition: all 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  position: relative;
}
@media only screen and (max-width: 768px) {
  #header .navigation .dropdown ul a {
    color: #2F4035;
  }
}
#header .navigation .dropdown ul a:hover {
  color: #5E7349;
}
@media only screen and (min-width: 769px) {
  #header .navigation .dropdown ul a:hover {
    color: #FFF;
  }
}
#header .navigation .dropdown ul a:hover:after {
  background: #728D4A;
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  #header .navigation .dropdown ul a:hover:after {
    background: #E7E7E7;
  }
}
#header .navigation .dropdown ul a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  height: 1px;
  width: 100%;
  background: #5E7349;
  opacity: 0;
  transition: all 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
@media only screen and (min-width: 769px) {
  #header .navigation .dropdown ul a:after {
    background: #E7E7E7;
  }
}
#header .navigation .dropdown:hover > ul,
#header .navigation .dropdown ul:hover {
  opacity: 1;
  pointer-events: all;
}
#header .navigation .dropdown:focus-within > ul {
  opacity: 1;
  pointer-events: all;
}
#header .navigation .dropdown:hover ul {
  opacity: 1;
  pointer-events: all;
}
#header .navigation .dropdown:hover:after {
  opacity: 1;
}

.hamburger {
  position: absolute;
  right: 0;
  display: inline-block;
  overflow: visible;
  margin: 0;
  padding: 15px;
  font: inherit;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  text-transform: none;
  color: inherit;
  border: 0;
  background-color: transparent;
  outline: none;
  z-index: 1001;
}
@media only screen and (min-width: 769px) {
  .hamburger {
    display: none;
  }
}

.hamburger.is-active:hover,
.hamburger:hover {
  opacity: 0.8;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner:after,
.hamburger.is-active .hamburger-inner:before {
  background-color: #2F4035;
}

.hamburger-box {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 24px;
}

.hamburger-inner {
  top: 50%;
  display: block;
  margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner:after,
.hamburger-inner:before {
  position: absolute;
  width: 30px;
  height: 2px;
  transition: transform 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53), color 0.25s 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  border-radius: 2px;
  background-color: #FFF;
}

.hamburger-inner:after, .hamburger-inner:before {
  display: block;
  content: "";
}

.hamburger-inner:before {
  top: -10px;
}

.hamburger-inner:after {
  bottom: -10px;
}

.hamburger--squeeze .hamburger-inner {
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition-duration: 75ms;
}

.hamburger--squeeze .hamburger-inner:before {
  transition: top 75ms ease 0.12s, opacity 75ms ease, background 75ms ease 0.12s;
}

.hamburger--squeeze .hamburger-inner:after {
  transition: bottom 75ms ease 0.12s, transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19), background 75ms ease 0.12s;
}

.hamburger--squeeze.is-active .hamburger-inner {
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: rotate(45deg);
}

.hamburger--squeeze.is-active .hamburger-inner:before {
  top: 0;
  transition: top 75ms ease, opacity 75ms ease 0.12s, background 75ms ease 0.12s;
  opacity: 0;
}

.hamburger--squeeze.is-active .hamburger-inner:after {
  bottom: 0;
  transition: bottom 75ms ease, transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
  transform: rotate(-90deg);
}

#footer {
  color: #FFF;
  background: #5E7349;
}
#footer .content-container {
  padding: 100px 20px;
}
@media only screen and (min-width: 769px) {
  #footer .content-container {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-column-gap: 80px;
  }
}
#footer .content-container > div {
  margin-bottom: 30px;
}
#footer .links h3 {
  margin-top: 40px;
}
@media only screen and (min-width: 621px) {
  #footer .links {
    display: flex;
    justify-content: space-between;
    margin-top: 0;
  }
}
#footer .links li {
  padding-top: 10px;
}
#footer .newsletter {
  margin-top: 40px;
  margin-bottom: 40px;
}
#footer .newsletter .input-container {
  display: flex;
  border-bottom: 1px solid #E7E7E7;
}
#footer .newsletter h3 {
  margin-bottom: 20px;
}
#footer .newsletter .confirmation {
  display: none;
}
#footer .newsletter .confirmation.is-active {
  display: block;
}
#footer .newsletter #mc_embed_signup.hidden {
  display: none;
}
#footer .newsletter input[type=email] {
  flex: 1;
  padding-bottom: 0;
  padding-left: 0;
  border: none;
  color: #E7E7E7;
  background: transparent;
  outline: none;
}
#footer .newsletter input[type=submit] {
  padding-right: 0;
  padding-bottom: 0;
  background: transparent;
  border: none;
  color: #FFF;
  font-family: "SSNicksonTwo", helvetica, sans-serif;
  font-size: 24px;
}
#footer h3 {
  color: #FFF;
  font-family: "SSNicksonOne", helvetica, sans-serif;
  font-size: 24px;
}
#footer a {
  color: #FFF;
  text-decoration: none;
}
#footer .icons a {
  margin-right: 20px;
}

.content-block-container {
  margin-top: 100px;
  margin-bottom: 100px;
}
@media only screen and (min-width: 769px) {
  .content-block-container {
    display: grid;
    grid-template-columns: 1fr 2fr;
  }
  .content-block-container.with-image {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 100px;
  }
  .content-block-container.with-image img,
.content-block-container.with-image .content {
    max-width: 520px;
    width: 100%;
  }
}
.content-block-container h3 {
  margin-top: 30px;
}
.content-block-container .content {
  margin-top: 30px;
  align-self: center;
}
.content-block-container .content p {
  padding-top: 10px;
  padding-bottom: 10px;
}
@media only screen and (min-width: 769px) {
  .content-block-container.with-image {
    justify-content: flex-end;
  }
}
@media only screen and (min-width: 769px) {
  .content-block-container.with-image:nth-child(even) {
    justify-content: flex-start;
  }
  .content-block-container.with-image:nth-child(even) .content {
    order: -1;
  }
}
.content-block-container p {
  padding: 30px 0 60px;
}
.content-block-container .icons-container {
  margin-top: 40px;
}
@media only screen and (min-width: 769px) {
  .content-block-container .icons-container {
    display: flex;
    flex-wrap: wrap;
    grid-auto-rows: 1fr;
    align-items: flex-start;
    grid-column: 2/3;
  }
}
.content-block-container .icons-container .icon-container {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: flex-end;
  margin-bottom: 50px;
  align-self: stretch;
}
@media only screen and (min-width: 769px) {
  .content-block-container .icons-container .icon-container {
    margin-right: 50px;
  }
}
.content-block-container .icons-container .icon-container:last-child {
  margin-right: 0;
}
.content-block-container .icons-container h4 {
  margin-top: 20px;
  font-family: "SSNicksonTwo", helvetica, sans-serif;
  font-size: 20px;
  color: #2F4035;
  letter-spacing: 1.11px;
}
.content-block-container .icons-container p {
  padding: 0;
}

.content-block-container.material-container {
  display: block;
  margin-bottom: 0;
  padding-bottom: 70px;
  background: #E7E7E7;
}
.content-block-container.material-container .material-content-block {
  margin-top: 70px;
  margin-bottom: 70px;
  padding-top: 70px;
  padding-bottom: 70px;
}
@media only screen and (min-width: 769px) {
  .content-block-container.material-container .material-content-block {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-column-gap: 40px;
  }
}
.content-block-container.material-container p {
  padding-bottom: 0;
}
.content-block-container.material-container .disclaimer {
  background: #DADADA;
  padding: 15px;
  font-family: "WorkSans-Regular", helvetica, sans-serif;
  font-size: 14px;
  color: #000000;
  letter-spacing: 0;
}
.content-block-container.material-container .material-calculator-container {
  border-bottom: 4px solid #DADADA;
  margin-bottom: 70px;
}
@media only screen and (min-width: 769px) {
  .content-block-container.material-container .material-calculator-container {
    display: flex;
    border: 4px solid #DADADA;
  }
}
.content-block-container.material-container .material-calculator-container h4 {
  font-size: 42px;
  letter-spacing: 2.19px;
  line-height: 1;
}
.content-block-container.material-container .material-calculator-container .material-calculator-block {
  display: flex;
  flex-direction: column;
  flex: 1;
  margin-bottom: 70px;
  padding-top: 70px;
}
@media only screen and (min-width: 769px) {
  .content-block-container.material-container .material-calculator-container .material-calculator-block {
    padding: 70px;
  }
}
.content-block-container.material-container .material-calculator-container .material-calculator-block:not(:last-of-type) {
  border-bottom: 4px solid #DADADA;
}
@media only screen and (min-width: 769px) {
  .content-block-container.material-container .material-calculator-container .material-calculator-block:not(:last-of-type) {
    border-bottom: none;
    border-right: 4px solid #DADADA;
  }
}
@media only screen and (min-width: 768px) {
  .content-block-container.material-container .material-calculator-container .title-container {
    display: block;
  }
}
@media only screen and (min-width: 769px) {
  .content-block-container.material-container .material-calculator-container .title-container h4 {
    grid-column: 2/3;
  }
}
.content-block-container.material-container .material-calculator-container .total-calculator {
  margin-top: auto;
}
.content-block-container.material-container .material-calculator-container button {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .content-block-container.material-container .material-calculator-container button {
    grid-column: 2/3;
  }
}
.content-block-container.material-container .material-calculator-container button:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: -30px;
  left: 0;
  height: 4px;
  background: #DADADA;
}
.content-block-container.material-container .material-calculator-container .label {
  font-family: "WorkSans-Bold", helvetica, sans-serif;
  font-size: 16px;
  color: #2F4035;
  letter-spacing: 0.83px;
}
.content-block-container.material-container .material-calculator-container .total-container {
  visibility: hidden;
}
.content-block-container.material-container .material-calculator-container .total-container.has-total {
  visibility: visible;
}
.content-block-container.material-container .material-calculator-container .total-container .total {
  font-family: "SSNicksonOne", helvetica, sans-serif;
  font-size: 42px;
  letter-spacing: 2px;
  line-height: 1;
}
.content-block-container.material-container .cta {
  display: flex;
  justify-content: center;
}
.content-block-container.material-container .cta .button-box {
  width: 710px;
  max-width: 80%;
}

.form-group,
.input-container {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 30px;
}
@media only screen and (min-width: 769px) {
  .form-group,
.input-container {
    grid-template-columns: 1fr 2.5fr;
    grid-column-gap: 20px;
  }
}

label {
  font-family: "WorkSans-Bold", helvetica, sans-serif;
  font-size: 16px;
  color: #2F4035;
  letter-spacing: 0.83px;
}
label.required:after {
  content: "*";
  color: #d00;
  margin-left: 5px;
}

select,
textarea,
input,
input[type=email],
input[type=text] {
  padding: 20px 10px 15px;
  border: 2px solid #DADADA;
  border-radius: 4px;
  transition: border 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

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

@media only screen and (min-width: 769px) {
  .form-recaptcha {
    display: block;
  }
}
.form-recaptcha label {
  display: inline-block;
  margin-bottom: 15px;
}

.form-check-label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  .form-check-label {
    flex-direction: column;
    line-height: 2;
  }
}
.form-check-label input {
  margin-right: 10px;
}

form {
  padding: 20px 0 40px;
}

.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}

label.required:after {
  content: "*";
  color: #d00;
  margin-left: 5px;
}

ul.errors {
  display: none;
}

.has-error .form-control,
.has-error .custom-file-label {
  border-color: #d00 !important;
}

.has-error .form-check-label {
  color: #d00;
}

.has-error ul.errors {
  padding: 0;
  margin: 0;
  list-style-type: none;
  display: inherit;
}

.has-error ul.errors > li {
  font-size: 80%;
  color: #d00;
  margin-top: 0.25rem;
}

.footer {
  margin-top: 50px;
  border-top: 1px solid #dedede;
}

@media only screen and (min-width: 769px) {
  #contact-form-container.content-container.with-padding:not(.contact-success-container) {
    padding-top: 0;
    padding-right: 60px;
    padding-left: 60px;
  }
}
#contact-form-container .button.underline {
  font-size: 16px;
}

.form-group label span {
  margin-right: 20px;
}

input[type=checkbox] {
  width: 20px;
  height: 20px;
}

select:focus,
textarea:focus,
input:focus {
  outline: none;
  border-color: #728D4A;
}

::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #E7E7E7;
  opacity: 0.7;
  /* Firefox */
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #E7E7E7;
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #E7E7E7;
}

.content-cards-container {
  margin-bottom: 80px;
}
@media only screen and (min-width: 769px) {
  .content-cards-container {
    display: grid;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(auto-fit, minmax(395px, 1fr));
    column-gap: 25px;
    row-gap: 30px;
  }
}
.content-cards-container.featured {
  background: transparent;
}
@media only screen and (min-width: 769px) {
  .content-cards-container.featured {
    grid-template-columns: 1fr 1fr;
  }
}
.content-cards-container.featured .content {
  display: flex;
  align-items: center;
  background: #FFF;
  padding: 20px 0 60px;
}
@media only screen and (min-width: 769px) {
  .content-cards-container.featured .content {
    position: absolute;
    bottom: 60px;
    width: 90%;
    margin-right: 5%;
    margin-left: 5%;
    padding: 30px;
  }
}
.content-cards-container .content {
  padding: 30px 20px 40px;
}
.content-cards-container .content .button {
  display: inline-block;
  margin-top: 30px;
  margin-bottom: 30px;
}
.content-cards-container .content-card {
  position: relative;
  max-width: 100%;
  background: #E7E7E7;
  overflow: hidden;
}
.content-cards-container .content-card img {
  display: block;
  width: 100%;
}
.content-cards-container .content-card h3 {
  font-size: 34px;
  letter-spacing: 1.89px;
  line-height: 34px;
}
.content-cards-container .bold {
  position: absolute;
  bottom: 10px;
  padding-bottom: 0;
  font-family: "SSNicksonOne", helvetica, sans-serif;
  font-size: 24px;
}

.content-section-container {
  padding: 20px;
  background-size: cover;
  background-position: center center;
}
@media only screen and (min-width: 769px) {
  .content-section-container {
    padding: 75px;
  }
}
.content-section-container .content-container {
  padding: 150px 20px;
  text-align: center;
  background-size: cover;
  background-position: center center;
}
.content-section-container .content-container:not(.no-background) {
  background-color: #5E7349;
}
.content-section-container .content {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}
.content-section-container h2 {
  font-size: 48px;
  color: #E7E7E7;
  letter-spacing: 2.67px;
}
.content-section-container p {
  padding: 25px 0 50px;
  font-size: 24px;
  color: #E7E7E7;
  letter-spacing: 1.33px;
  line-height: 1.33;
}

.hero {
  position: relative;
  display: flex;
  align-items: center;
  height: 100vh;
  max-height: 790px;
  color: white;
  background-size: cover;
}
.hero:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: black;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 55%);
  z-index: 1;
}
.hero .content-container {
  position: relative;
  z-index: 2;
}
.hero h2 {
  font-size: 60px;
  line-height: 0.85;
  padding: 10px 0;
  letter-spacing: 8.46px;
  color: #FFF;
}
@media only screen and (min-width: 621px) {
  .hero h2 {
    font-size: 110px;
  }
}
.hero h3 {
  font-family: "SSNicksonTwo", helvetica, sans-serif;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 1.5px;
  color: #FFF;
}
.hero p {
  font-family: "WorkSans-Regular", helvetica, sans-serif;
  font-size: 18px;
  color: #FFF;
  letter-spacing: 1px;
  line-height: 1.25;
}
.hero .button {
  display: inline-block;
  margin-top: 40px;
}
.hero .content-block {
  max-width: 550px;
  margin-left: 0;
}
.hero .video-modal {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background: black;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.hero .video-modal.is-active {
  transition: opacity 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  opacity: 1;
  pointer-events: all;
}
.hero .video-modal iframe {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.hero .video-modal .video-container {
  position: relative;
  padding: 56% 0 0 0;
}
.hero .hamburger {
  display: block;
}
.hero .hamburger.is-active .hamburger-inner {
  background-color: #FFF;
}
.hero .hamburger.is-active .hamburger-inner:before, .hero .hamburger.is-active .hamburger-inner:after {
  background-color: #FFF;
}

.content-carousel {
  margin-bottom: 100px;
}
.content-carousel .content-container {
  padding-bottom: 40px;
}
.content-carousel:nth-of-type(even) {
  background: #E7E7E7;
  padding-top: 60px;
  padding-bottom: 50px;
}
.content-carousel .content-block-container {
  margin-top: 0;
  margin-bottom: 20px;
}
.content-carousel .swiper-container {
  width: 100%;
  height: 100%;
}
.content-carousel .swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  flex-direction: column;
}
.content-carousel .swiper-slide img {
  width: 100%;
}
.content-carousel .slide-content-block {
  padding: 20px 20px 40px 20px;
  background: #FFF;
  box-sizing: border-box;
  text-align: left;
}
@media only screen and (min-width: 769px) {
  .content-carousel .slide-content-block {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 450px;
  }
}
.content-carousel .swiper-button-prev,
.content-carousel .swiper-button-next {
  font-family: none;
  width: 48px;
  height: 48px;
  background: #728D4A;
  border-radius: 100%;
  transition: background 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  outline: none;
}
@media only screen and (max-width: 768px) {
  .content-carousel .swiper-button-prev,
.content-carousel .swiper-button-next {
    top: 35%;
  }
}
.content-carousel .swiper-button-prev:hover,
.content-carousel .swiper-button-next:hover {
  background: #5E7349;
}
.content-carousel .swiper-button-prev:after,
.content-carousel .swiper-button-next:after {
  content: "";
}
.content-carousel .swiper-button-next {
  right: 15px;
}
@media only screen and (min-width: 769px) {
  .content-carousel .swiper-button-next {
    top: 45%;
  }
}
.content-carousel .swiper-button-prev {
  left: 15px;
}
@media only screen and (min-width: 769px) {
  .content-carousel .swiper-button-prev {
    top: 45%;
  }
}
.content-carousel .swiper-button-prev svg {
  transform: rotateZ(180deg);
}
.content-carousel .swiper-container-horizontal > .swiper-pagination-bullets {
  width: auto;
  bottom: 0;
  left: 17px;
  text-align: left;
}
.content-carousel .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  text-align: center;
  line-height: 1;
  font-size: 12px;
  color: transparent;
  opacity: 1;
  background: #E7E7E7;
  transition: all 0.25s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  border-radius: 100%;
}
.content-carousel .swiper-pagination-bullet-active {
  width: 64px;
  border-radius: 8px;
}

.wysiwyg-wrapper {
  margin-top: 60px;
}
@media only screen and (min-width: 769px) {
  .wysiwyg-wrapper .content-container {
    padding: 60px;
  }
}
.wysiwyg-wrapper .content-container.with-background-color {
  background: #E7E7E7;
}
.wysiwyg-wrapper .content-container h4 {
  font-family: "WorkSans-Regular", helvetica, sans-serif;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.625;
}

@media (min-width: 769px) {
  .blog .wysiwyg-wrapper .content-container {
    padding: 0 0 60px;
  }

  .blog .wysiwyg-wrapper .content-container.date-container {
    padding: 0;
  }
}

.blog .wysiwyg-wrapper a {
  color: #5E7249;
}


/*# sourceMappingURL=index.css.map */
