/* Google Font Imports */
@import url('https://fonts.googleapis.com/css?family=Inconsolata:regular,bold|Nunito:regular,bold,extrabold|Karla:regular,bold,italic,bolditalic|Merriweather|Source+Code+Pro');

/* File Font Imports */
@font-face {
    font-family: 'LitSans';
    src: url('../fonts/litsans-medium-webfont.woff2') format('woff2'),
         url('../fonts/litsans-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'LoveloBlack';
    src: url('../fonts/lovelo-black-webfont.woff2') format('woff2'),
         url('../fonts/lovelo-black-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'LoveloLineLight';
    src: url('../fonts/lovelo-linelight-webfont.woff2') format('woff2'),
         url('../fonts/lovelo-linelight-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* Grid Structure
 * 3-column grid structure is based on 30% content, 5% padding
 * 30% - 5% - 30% - 5% - 30%
 */

/* Bootstrap Response Screen Sizes
 * @media screen and (max-width: 576px)
 * @media screen and (max-width: 768px)
 * @media screen and (max-width: 992px)
 * @media screen and (max-width: 1200px)
 */

 @-webkit-keyframes fade-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

 @keyframes fade-in {
   from {
     opacity: 0;
   }
   to {
     opacity: 1;
   }
 }

@-webkit-keyframes fade-in-and-drop {
   from {
     opacity: 0;
   }
   to {
     opacity: 1;
   }
 }

@keyframes fade-in-and-drop {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes rise-gently {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes rise-gently {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@-webkit-keyframes slide-in-gently {
  from {
    transform: translateX(20px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slide-in-gently {
  from {
    transform: translateX(20px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@-webkit-keyframes rise-gently-using-margin-offset {
  from {
    margin-top: 20px;
    opacity: 0;
  }
  to {
    margin-top: 0;
    opacity: 1;
  }
}

@keyframes rise-gently-using-margin-offset {
  from {
    margin-top: 20px;
    opacity: 0;
  }
  to {
    margin-top: 0;
    opacity: 1;
  }
}

/* Base Body, HTML Styles and other Generic Styles */

body, html {
  margin: 0;
  padding: 0;
  font-family: 'Nunito', Helvetica, Arial, san-serif;
  color: #666666;
  font-size: 18px;
  line-height: 1.5em;
}

* {
  box-sizing: content-box;
}

a {
  font-weight: bold;
  text-decoration: underline;
  color: inherit;
}

a:hover {
  color: inherit;
}


/* WordPress Content Editor Fixes */

p:empty {
  display: none;
}

br + br, br:last-child {
  display: none;
}


/* Generic Horizontal Wrapping Behaviour */

.wrap-container {
  padding: 0 90px;
}

.wrap-container > *:not(.full-width), .full-width > * {
  max-width: 1080px;
  margin: 0 auto;
}

.wrap-container .full-width {
  margin-left: -90px;
  margin-right: -90px;
  padding: 0 90px;
}

@media screen and (min-width: 1440px) {
  .wrap-container > *:not(.full-width), .full-width > * {
    max-width: 1280px;
  }
}

@media screen and (max-width: 992px) {

  .wrap-container {
    padding: 0;
  }

  .wrap-container:not(.menu-container) > *:not(.full-width), .full-width > * {
    padding: 0 45px;
  }

  .wrap-container > .grid-container {
    padding: 0 10px;
  }

  .wrap-container .full-width {
    margin-left: 0;
    margin-right: 0;
    padding: 0;
  }

  .wrap-container .gift-logo {
    padding: 0;
  }

}

@media screen and (max-width: 576px) {

  .wrap-container:not(.menu-container) > *:not(.full-width), .full-width > * {
    padding: 0 30px;
  }

}


/* Generic Columns */

.columns {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.column {
  flex: 1;
  margin: 0 2.5% 2.5% 0;
}

@media screen and (max-width: 1260px) {

  .columns {
    flex-direction: column;
  }

  .column:last-of-type {
    margin-bottom: 0;
  }

}

/* Menu */

.menu-container {
  display: block;
  position: relative;
  height: 90px;
  z-index: 2;
}

.page-template-full-screen .menu-container,
.menu-container.overlaid {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.menu-container.overlaid.on-image {
  background: -moz-linear-gradient(180deg, rgba(68,68,68,0.6) 0%, rgba(68,68,68,0) 100%);
  background: -webkit-linear-gradient(180deg, rgba(68,68,68,0.6) 0%, rgba(68,68,68,0) 100%);
  background: linear-gradient(180deg, rgba(68,68,68,0.6) 0%, rgba(68,68,68,0) 100%);
}

.page-template-full-screen .navigation ul li,
.menu-container.overlaid .navigation ul li {
  color: #FFFFFF;
}

.menu-container .home-link {
  width: 90px;
  height: 90px;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
}

.menu-container .gift-logo {
  width: 100%;
  height: 100%;
  background-image: url('../img/gift-logo-black.png');
  background-size: 50px 50px;
  background-position: center center;
  background-repeat: no-repeat;
}

.page-template-full-screen .gift-logo,
.menu-container.overlaid .gift-logo {
  background-image: url('../img/gift-logo-white.png');
}

.menu-container .menu-toggler {
  display: none;
  border: none;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 25px;
  right: 25px;
  padding: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  opacity: 0.5;
  outline: none;
}

.menu-container:not(.open) .menu-toggler {
  background-image: url('../img/hamburger-menu.png');
}

.menu-container.open .menu-toggler,
.menu-container.white-on-mobile.open .menu-toggler,
.page-template-full-screen .menu-container.open .menu-toggler {
  background-image: url('../img/close-button.png');
}


.menu-container.floating {
  background-color: #FFFFFF;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  box-shadow: 0 0 50px 10px rgba(0, 0, 0, 0.05);
}

.page-template-full-screen.admin-bar .menu-container,
.admin-bar .menu-container.floating,
.admin-bar .menu-container.overlaid {
  top: 32px;
}

.menu-container .menu {
  height: 90px;
}

.menu-item {
  position: relative;
  overflow: visible;
}

.menu-item > a {
  transition: opacity 200ms;
}

.menu > .menu-item > .sub-menu::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-color: red;
  position: absolute;
  top: -10px;
  left: 25px;
  transform: rotate(45deg);
  background-color: #333333;
}

.menu > .menu-item > .sub-menu {
  display: none;
  -webkit-animation-name: rise-gently-using-margin-offset;
  -webkit-animation-duration: 0.25s;
  -webkit-animation-fill-mode: forwards;
  animation-name: rise-gently-using-margin-offset;
  animation-duration: 0.25s;
  animation-fill-mode: forwards;
}

.menu-item > .sub-menu {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 100%;
  left: 0;
  white-space: nowrap;
  background-color: #333333;
  padding: 12.5px 0;
}

.menu-item .sub-menu .menu-item {
  color: #FFFFFF;
  font-size: 14px;
  height: inherit;
  line-height: 1em;
  padding: 0;
  font-weight: normal;
}

.menu-item .sub-menu .menu-item a {
  padding: 12.5px 25px;
}

.menu-item-is-tabular > .sub-menu {
  flex-direction: row;
}

.menu-item-is-tabular > .sub-menu .menu-item-has-children {
  font-size: 18px;
}

.menu-item-is-tabular > .sub-menu > .menu-item-has-children > a {
  cursor: default;
}

.menu-item-is-tabular > .sub-menu > .menu-item-has-children .sub-menu {
  margin-top: 5px;
  padding-top: 0;
  padding-bottom: 0;
}

.menu-item-is-tabular > .sub-menu .menu-item-has-children .sub-menu {
  position: static;
}

.menu-item-is-tabular > .sub-menu .menu-item-has-children .sub-menu > .menu-item {
  padding-left: 0;
  padding-right: 0;
}

@media screen and (max-width: 1260px) {

  .menu-container .gift-logo {
    background-size: 40px 40px;
  }

}

@media screen and (max-width: 992px) {

  .menu-container .navigation {
    margin-left: 90px;
  }

  .menu-container.white-on-mobile {
    background: -moz-linear-gradient(180deg, rgba(68,68,68,0.6) 0%, rgba(68,68,68,0) 100%);
    background: -webkit-linear-gradient(180deg, rgba(68,68,68,0.6) 0%, rgba(68,68,68,0) 100%);
    background: linear-gradient(180deg, rgba(68,68,68,0.6) 0%, rgba(68,68,68,0) 100%);
  }

  .menu-container.white-on-mobile .gift-logo {
    background-image: url('../img/gift-logo-white.png');
  }

  .page-template-full-screen .menu-container .menu-toggler,
  .menu-container.white-on-mobile .menu-toggler {
    background-image: url('../img/hamburger-menu-white.png');
    opacity: 1;
  }

  .menu-container.white-on-mobile .navigation ul li {
    color: #FFFFFF;
  }

}

@media screen and (min-width: 769px) {

  .menu-item > a:hover {
    opacity: 0.8;
  }

  .menu > .menu-item:hover > .sub-menu {
    display: block;
  }

  .menu-item .sub-menu > .menu-item:hover a {
    color: #CCCCCC;
  }

  .menu-item-is-tabular > .sub-menu > .menu-item-has-children:hover a {
    color: inherit;
  }

  .menu-item-is-tabular > .sub-menu > .menu-item-has-children .sub-menu > .menu-item:hover a {
    color: #CCCCCC;
  }

  .menu-item-is-tabular > .sub-menu > .menu-item:hover a {
    color: inherit;
  }

}

@media screen and (max-width: 768px) {

  .menu-container:not(.open) .menu {
    display: none;
  }

  .menu-container .menu-toggler {
    display: block;
  }

  .menu > .menu-item > .sub-menu {
    display: flex;
    position: static;
    background-color: transparent;
    padding: 0;
  }

  .menu > .menu-item > .sub-menu::before {
    display: none;
  }

  .menu > .menu-item > .sub-menu .menu-item, .menu-container.open .navigation ul li {
    color: #666666;
    padding: 0;
    min-height: 40px;
    line-height: 40px;
    height: auto;
  }

  .menu > .menu-item > .sub-menu .menu-item a {
    padding-top: 0;
    padding-bottom: 0;
  }

  .menu-container.open {
    position: relative;
  }

  .menu-container.open .menu {
    height: auto;
    flex-direction: column;
    background-color: #FFFFFF;
    padding: 25px;
    position: absolute;
    top: 0;
    left: -45px;
    right: 0;
    border-bottom: 1px solid #EEEEEE;
  }

  .menu-container.open .menu-item {
    padding: 0;
    min-height: 45px;
    line-height: 45px;
    height: auto;
  }

}


/* Navigation */

.navigation ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

.navigation ul li {
  line-height: 90px;
  height: 90px;
  padding: 0 15px;
  font-family: 'Inconsolata', 'Courier New', Courier, monospace;
  font-weight: bold;
  font-size: 18px;
  color: #444444;
}

.navigation ul li:first-child {
  padding-left: 0;
}

.navigation ul li a {
  color: inherit;
  height: inherit;
  display: block;
  text-decoration: none;
  cursor: pointer;
}

.navigation ul li > a:hover {
  color: inherit;
  text-decoration: none;
}

.navigation ul li.special {
  color: #FF006E;
}

.navigation ul li.special a:hover {
  color: #B2004D;
}

.navigation ul li.call-to-action {
  color: #EE5E54;
}

.navigation ul li.call-to-action:hover {
  color: #BA4942;
}

@media screen and (max-width: 1260px) {

  .navigation ul li {
    padding: 0 15px;
    font-size: 17px;
  }

}


/* Breadcrumbs */

.breadcrumbs ul li {
  padding: 0 0 0 12px;
  line-height: 1em;
  height: auto;
  margin-bottom: 40px;
}

.breadcrumbs ul li:not(:last-child) {
  color: #999999;
}

.breadcrumbs ul li:not(:last-child) a:hover {
  color: #555555;
}


/* Generic Styling */

.content-area h1, .content-area h2, .content-area h3 {
  font-weight: bold;
}

.content-area h1 {
  color: #444444;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 46px;
  margin: 0 0 40px 0;
  font-weight: bold;
}

.content-area h1 a {
  text-decoration: none;
  color: inherit;
}

.content-area h1 a:hover {
  color: #666666;
}

.content-area h2 {
  font-family: Helvetica, Arial, sans-serif;
  color: #666666;
  font-size: 32px;
  line-height: 1.4em;
  margin: 45px 0 21px 0;
}

.content-area h3 {
  color: #666666;
  font-size: 22px;
  line-height: 1.75em;
  margin: 40px 0 21px 0;
}

.content-area p, .content-area li {
  color: #666666;
  font-size: 18px;
  line-height: 1.75em;
}

.content-area blockquote {
  color: #555555;
}

.content-area a {
  font-weight: bold;
  color: #EE5E54;
  text-decoration: none;
}

.content-area a:hover {
  text-decoration: underline;
}

.content-area .feature-block-tile:hover {
  text-decoration: none;
}

.content-area em {
  font-style: oblique;
}

@media screen and (min-width: 1440px) {

  .content-area h1 {
    font-size: 52px;
  }

}

@media screen and (max-width: 1260px) {

  .content-area h1 {
    font-size: 36px;
  }

}

@media screen and (max-width: 576px) {

  .content-area h1 {
    font-size: 30px;
    margin-bottom: 10px;
  }

  .content-area h2 {
    margin-top: 30px;
    margin-bottom: 15px;
  }

  .content-area p, .content-area li {
    line-height: 1.5em;
  }

}

/* Buttons and UI */

.button, button,
input[type="button"],
.button.primary,
button.primary,
input[type='button'].primary,
.content-area .button, button,
.content-area input[type="button"],
.content-area .button.primary,
.content-area button.primary,
.content-area input[type='button'].primary
 {
  text-align: center;
  display: block;
  border: none;
  border-radius: 0;
  width: 300px;
  height: 90px;
  line-height: 90px;
  text-transform: uppercase;
  background-color: #EE5E54;
  padding: 0 30px;
  font-family: 'Nunito', Helvetica, Arial, sans-serif;
  color: #FFFFFF;
  cursor: pointer;
  outline: none;
  font-weight: bold;
  box-sizing: border-box;
  text-decoration: none;
  transition: background-color 500ms;
}

.button.placeholder,
button.placeholder,
input[type='button'].placeholder,
.content-area .button.placeholder,
.content-area button.placeholder,
.content-area input[type='button'].placeholder {
  background: #EEEEEE;
  color: #666666;
  cursor: default;
  height: 90px;
  line-height: 90px;
}

.button.placeholder:hover,
button.placeholder:hover,
input[type='button'].placeholder:hover,
.content-area .button.placeholder:hover,
.content-area button.placeholder:hover,
.content-area input[type='button'].placeholder:hover {
  color: #666666;
  background: #EEEEEE;
}

.button:hover,
button:hover,
input[type="button"]:hover,
.button.primary:hover,
button.primary:hover,
input[type='button'].primary:hover,
.content-area .button:hover,
.content-area button:hover,
.content-area input[type="button"]:hover,
.content-area .button.primary:hover,
.content-area button.primary:hover,
.content-area input[type='button'].primary:hover {
  text-decoration: none;
  color: #FFFFFF;
  background-color: #FF7C73;
}

.button.secondary,
button.secondary,
input[type='button'].secondary,
.content-area .button.secondary,
.content-area button.secondary,
.content-area input[type='button'].secondary {
  background-color: #EEA61A;
}

.button.secondary:hover,
button.secondary:hover,
input[type='button'].secondary:hover,
.content-area .button.secondary:hover,
.content-area button.secondary:hover,
.content-area input[type='button'].secondary:hover {
  background-color: #F2BB4B;
}

@media screen and (max-width: 576px) {

  .button, button,
  input[type="button"],
  .button.primary,
  button.primary,
  input[type='button'].primary,
  .content-area .button, button,
  .content-area input[type="button"],
  .content-area .button.primary,
  .content-area button.primary,
  .content-area input[type='button'].primary {
    width: 100%;
  }

}


/* Forms */

.standard-form {
  margin: 45px 0 0 0;
  width: 100%;
}

.standard-form .standard-form-group {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.standard-form .standard-form-group + .standard-form-group {
  margin-top: 23px;
}

.standard-form fieldset + fieldset {
  margin-top: 34px;
}

.standard-form label {
  display: block;
  padding: 9px 30px 0 0;
  width: 130px;
}

.standard-form input[type="text"],
.standard-form input[type="email"],
.standard-form input[type="password"] {
  font-size: inherit;
  color: inherit;
  box-sizing: border-box;
  border: 1px solid #666666;
  height: 58px;
  padding: 14px;
  flex-grow: 1;
}

.standard-form input[type="text"]::placeholder,
.standard-form input[type="email"]::placeholder,
.standard-form input[type="password"]::placeholder {
  color: #999999;
}

.standard-form input[type="radio"],
.standard-form input[type="checkbox"] {
  position: relative;
  width: 40px;
  height: 40px;
  border: 1px solid #666666;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
}

.standard-form input[type="radio"]:checked:before,
.standard-form input[type="radio"]:hover:before {
  content: '';
  position: absolute;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  margin-top: -13px;
  margin-left: -13px;
}

.standard-form input[type="radio"]:hover:before {
  background-color: #EEEEEE;
}

.standard-form input[type="radio"]:checked:before {
  background-color: #999999;
}

.standard-form input[type="radio"] + label,
.standard-form input[type="checkbox"] + label {
  flex-grow: 1;
  margin-left: 27px;
}

@media screen and (max-width: 576px) {

  .standard-form .standard-form-group.text-field-group {
    flex-direction: column;
  }

  .standard-form .standard-form-group.text-field-group label,
  .standard-form .standard-form-group.text-field-group input {
    width: 100%;
  }

  .standard-form .standard-form-group.text-field-group label {
    padding: 0;
  }

}

/* Thumbnails and Thumbnail Galleries */

.thumbnail-gallery {
  text-align: center;
}

.thumbnail-gallery h2 {
  font-family: Helvetica, Arial, sans-serif;
  margin-bottom: 40px;
}

.thumbnail-gallery a {
  text-decoration: none;
  color: inherit;
}

.thumbnail-gallery-inner {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.thumbnail-gallery .thumbnail {
  margin: 30px 15px;
  width: 220px;
}

.thumbnail-gallery .thumbnail .thumbnail-image {
  width: 120px;
  height: 120px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin: 0 auto 12.5% auto;
}

.thumbnail-gallery.circular-images .thumbnail .thumbnail-image {
  border-radius: 50%;
}

.thumbnail-gallery.fitted-images .thumbnail .thumbnail-image {
  background-size: contain;
  width: 150px;
  height: 150px;
}

.thumbnail-gallery .thumbnail figcaption p {
  margin-bottom: 0;
  line-height: 1.4em;
}

.thumbnail-gallery .thumbnail figcaption p:not(:first-child) {
  line-height: 1.2em;
}

@media screen and (max-width: 576px) {

  .article-content .thumbnail-gallery > h2 {
    margin-bottom: 40px;
  }

  .thumbnail-gallery .thumbnail {
    width: 40%;
    margin: 0 2.5% 10% 2.5%;
  }

  .thumbnail-gallery .thumbnail .thumbnail-image {
    width: 80px;
    height: 80px;
  }

  .thumbnail-gallery.fitted-images .thumbnail .thumbnail-image {
    width: 100px;
    height: 100px;
  }

  .thumbnail-gallery .thumbnail figcaption p:not(:first-child) {
    line-height: 1.0em;
  }

}

/* Captioned Image Gallery */

.article-content .captioned-image-gallery h3 {
  margin: 0;
  font-weight: normal;
}

.article-content .captioned-image-gallery-images {
  display: flex;
  flex-direction: row;
}

.article-content .captioned-image-gallery-images:not(:first-child) {
  margin-top: 40px;
}

.article-content .captioned-image-gallery-images > figure {
  width: 100%;
}

.article-content .captioned-image-gallery-images > figure:not(:last-of-type) {
  margin-right: 5% !important;
}

.article-content .captioned-image-gallery.narrow-gutters .captioned-image-gallery-images > figure:not(:last-of-type) {
  margin-right: 1.5% !important;
}

.article-content .captioned-image-gallery-images img {
  width: 100%;
  max-height: 480px;
  object-fit: cover;
}

.article-content .captioned-image-gallery-images figure.screenshot img {
  max-height: none;
  object-fit: contain;
}

.article-content .captioned-image-gallery-images figure figcaption {
  font-size: 17px;
  text-align: left;
  margin-bottom: 20px;
}

.article-content .captioned-image-gallery-images figure img + figcaption {
  margin-top: 20px;
}

.article-content > .column-container:first-of-type + .full-width.no-background .full-width-inner {
  padding-top: 0;
}

@media screen and (max-width: 992px) {

  .article-content .captioned-image-gallery {
    padding-top: 45px !important;
  }

  .article-content .captioned-image-gallery-images figure figcaption {
    font-size: 16px;
    line-height: 1.5em;
  }

  .article-content .captioned-image-gallery-images > figure.hide-on-mobile {
    display: none;
  }

}

@media screen and (max-width: 680px) {

  .article-content .captioned-image-gallery {
    padding-top: 10px !important;
  }

  .article-content .captioned-image-gallery-images {
    flex-direction: column;
  }

  .article-content .captioned-image-gallery-images:not(:first-child) {
    margin-top: 30px;
  }

  .article-content .captioned-image-gallery h3 {
    font-size: 14pt;
  }

  .article-content .captioned-image-gallery-images figure img {
    max-height: 320px;
  }

}


/* Full Width Sections */

.full-width {
  position: relative;
  background-color: #FBF8F3;
  color: #666666;
  font-size: 18px;
  line-height: 1.5em;
}

.full-width.dark {
  background-color: #444444;
}

.full-width.dark.dark-blue {
  background-color: #3B4753;
}

.full-width.no-background {
  background-color: transparent;
}

.full-width.no-padding-on-top .full-width-inner {
  padding-top: 0;
}

.full-width.how-to {
  background-color: #38A0DA;
}

.full-width.image-container {
  padding: 0;
}

.full-width.image-container iframe {
  margin: 0;
  padding: 0;
}

.full-width.image-container iframe {
  width: 100% !important;
  height: 600px !important;
  max-width: none;
}

.full-width.code pre {
  font-family: 'Source Code Pro', 'Courier New', Courier, monospace;
  font-size: 100%;
  margin: 0;
  color: #FFFFFF;
}

.full-width .full-width-image {
  width: 100%;
  height: 600px;
  padding: 0;
  display: block;
  object-fit: cover;
  max-width: none;
}

.full-width.dark, .full-width.dark h1, .full-width.dark h2, .full-width.dark h3, .full-width.dark p, .full-width.dark li, .full-width.dark a,
.full-width.dark .full-width-inner, .full-width.dark .full-width-inner h1, .full-width.dark .full-width-inner h2, .full-width.dark .full-width-inner h3, .full-width.dark .full-width-inner p, .full-width.dark .full-width-inner li, .full-width.dark .full-width-inner a,
.full-width.how-to, .full-width.how-to h1, .full-width.how-to h2, .full-width.dark h3, .full-width.how-to p, .full-width.how-to li, .full-width.how-to a {
  color: #FFFFFF;
}

.full-width.dark a, .full-width.dark .full-width-inner a, .full-width.how-to a {
  text-decoration: underline;
}


.full-width h1:first-child, .full-width h2:first-child, .full-width h3:first-child {
  margin-top: 0;
}

.full-width .full-width-inner h3 {
  font-family: Helvetica, Arial, san-serif;
  color: #444444;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5em;
  margin: 0 0 20px 0;
}

.full-width .full-width-inner .list-of-links {
  padding-left: 30px;
  list-style-type: none;
  padding: 0;
}

.full-width .full-width-inner .list-of-links  li {
  margin-bottom: 5px;
}

.full-width .full-width-image {
  width: 100%;
}

.full-width .full-width-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.full-width .full-width-video-container > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0;
}

.full-width .full-width-inner {
  padding-top: 100px;
  padding-bottom: 100px;
}

.full-width .full-width-inner.margins-reduced {
  padding-top: 60px;
  padding-bottom: 60px;
}

.full-width .full-width-inner.margins-none {
  padding-top: 0;
  padding-bottom: 0;
}

.full-width .full-width-inner.positioned {
  position: absolute;
}

.full-width .full-width-inner.positioned.top {
  top: 0;
}

.full-width .full-width-inner.positioned.bottom {
  bottom: 0;
}

.full-width .full-width-inner.no-padding {
  padding-top: 0;
  padding-bottom: 0;
}

.full-width .has-column-layout {
  display: flex;
  justify-content: space-between;
}

.full-width .has-column-layout:not(:first-child), .full-width .column-container:not(:first-child) {
  margin-top: 40px;
}

.full-width .full-width-inner .full-width-inner-col {
  flex: 1;
}

.full-width .full-width-inner .full-width-inner-col:not(:last-of-type) {
  margin-right: 5%;
}

@media screen and (max-width: 1260px) {

  .full-width .full-width-inner h3 {
    font-size: 20px;
  }

}

@media screen and (max-width: 992px) {

  .full-width .full-width-inner {
    padding-top: 45px;
    padding-bottom: 45px;
  }

  .full-width:not(.preserve-horizontal-col-layout-on-tablet) .has-column-layout {
    flex-direction: column;
  }

  .full-width:not(.preserve-horizontal-col-layout-on-tablet) .full-width-inner *:last-child {
    margin-bottom: 0;
  }

  .full-width:not(.preserve-horizontal-col-layout-on-tablet) .full-width-inner .full-width-inner-col:not(:last-child) {
    margin-right: 0;
    margin-bottom: 45px;
  }

}

@media screen and (max-width: 576px) {

  .full-width .full-width-inner {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .full-width.image-container iframe {
    height: 400px !important;
  }

  .full-width .full-width-video-container > iframe {
    height: 100% !important;
  }

  .full-width:not(.preserve-horizontal-col-layout-on-tablet) .full-width-inner .full-width-inner-col:not(:last-child) {
    margin-bottom: 30px;
  }

  .full-width.preserve-horizontal-col-layout-on-tablet .has-column-layout {
    flex-direction: column;
  }

  .full-width.preserve-horizontal-col-layout-on-tablet .full-width-inner *:last-child {
    margin-bottom: 0;
  }

  .full-width.preserve-horizontal-col-layout-on-tablet .full-width-inner .full-width-inner-col:not(:last-child) {
    margin-right: 0;
    margin-bottom: 30px;
  }

}


/* Project Partner Logos */

.project-partner-logos {
  display: flex;
  flex-wrap: wrap;
}

.project-partner-logo {
  height: 150px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 75%;
  background-color: transparent;
  width: 20%;
  flex-basis: 20%;
}

@media screen and (max-width: 680px) {

  .project-partner-logo {
    height: 100px;
    width: 25%;
    flex-basis: 25%;
  }

}

@media screen and (max-width: 480px) {

  .project-partner-logo {
    height: 75px;
    width: 33.3%;
    flex-basis: 33.3%;
  }

}

/* Feature Blocks */

.feature-block {
  display: block;
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: row;
}

.feature-block:first-of-type {
  margin-top: -90px;
}

.feature-block:nth-child(2n+1) {
  flex-direction: row-reverse;
}

.feature-block-content, .feature-block-caption {
  box-sizing: border-box;
}

.feature-block-caption {
  width: 60%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feature-block:nth-child(2n+0) .feature-block-caption {
  padding-left: calc((100vw - 1080px) / 2);
}

.feature-block:nth-child(2n+1) .feature-block-caption {
  padding-right: calc((100vw - 1080px) / 2);
}

.feature-block-caption h2,
.feature-block-caption h3 {
  margin-top: 0;
}

.feature-block.full-screen .feature-block-content {
  width: 100vw;
  min-height: 100vh;
  height: auto;
}

.feature-block.full-screen .feature-block-caption h1 {
  font-size: 30px;
  margin-bottom: 10px;
}

.feature-block.full-screen .feature-block-caption small {
  line-height: 1.0em;
}

.feature-block.full-screen .feature-block-caption .feature-block-tile-list ~ p {
  font-size: 15px;
  margin-bottom: 3px;
}

.feature-block.full-screen .content-wrap,
.feature-block.full-screen .content-wrap * {
  color: #FFFFFF;
  line-height: 1.75em;
}

.feature-block.full-screen.dark-text .content-wrap,
.feature-block.full-screen.dark-text .content-wrap * {
  color: #444444;
}

.feature-block.full-screen.dark-text .content-wrap .column p,
.feature-block.full-screen.dark-text .content-wrap .column li {
  font-size: 16px;
  line-height: 1.5em;
}

.feature-block.full-screen .content-wrap {
  width: 800px;
  -webkit-animation-name: rise-gently-using-margin-offset;
  -webkit-animation-duration: 0.5s;
  animation-name: rise-gently-using-margin-offset;
  animation-duration: 0.5s;
}

.feature-block.full-screen.extra-large-content-and-title .content-wrap {
  width: 950px;
}

.feature-block.full-screen.non-leading .content-wrap {
  -webkit-animation: none;
  animation: none;
}

.feature-block.full-screen.category-page {
  height: auto;
  min-height: 70vh;
}

.feature-block.full-screen.category-page .feature-block-content,
.feature-block.full-screen.category-page .feature-block-background {
  min-height: 70vh;
}

.feature-block.full-screen .content-wrap a {
  text-decoration: underline;
}

.feature-block.full-screen .content-wrap h1 {
  font-family: Helvetica, Arial, san-serif;
  font-size: 38px;
  position: relative;
  font-weight: normal;
  letter-spacing: -0.01em;
}

.feature-block.full-screen.extra-large-content-and-title .content-wrap h1 {
  font-family: Helvetica, Arial, san-serif;
  font-size: 52px;
  opacity: 0.5;
}

.feature-block.full-screen.front-page .content-wrap h1 {
  font-family: 'LoveloBlack', Helvetica, Arial, san-serif;
  display: inline-block;
  position: relative;
  background-color: #FFFFFF;
  color: #444444;
  padding: 15px;
  text-align: left;
  transform: rotate(-2deg);
  margin-bottom: 10px;
  line-height: 1.0em;
}

.feature-block.full-screen.front-page .content-wrap h1.leading {
  font-size: 56px;
  left: -20px;
}

.feature-block.full-screen.front-page .content-wrap h1:first-of-type {
  padding-top: 25px;
}

.feature-block.full-screen.front-page .content-wrap h1:last-of-type {
  padding-bottom: 25px;
}

.feature-block.full-screen.extra-large-content-and-title .content-wrap h3 {
  font-family: Helvetica, Arial, san-serif;
  margin-top: 0;
}

.feature-block.full-screen.extra-large-content-and-title .content-wrap h3 a {
  color: inherit;
  text-decoration: none;
}

.feature-block.title-card .content-wrap h1 {
  font-size: 52px;
}

.feature-block.downshifted .feature-block-caption {
  padding-top: 40vh;
}

.feature-block-content {
  height: 100%;
  width: 40%;
}

.feature-block-content .feature-block-content-image {
  display: none;
}

.feature-block-content .feature-block-background {
  min-height: 100vh;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 0;
  padding-top: 90px;
  padding-bottom: 90px;
  box-sizing: border-box;
}

.feature-block-content .feature-block-content-caption {
  display: none;
  color: #FFFFFF;
  position: relative;
  z-index: 3;
  max-width: 450px;
  margin: 0;
}

.feature-block.downshifted .feature-block-content {
  padding-top: 10vh;
}

.feature-block.highlighted {
  background-color: #EE5E54;
  color: #FFFFFF;
  flex-direction: row;
}

.feature-block.highlighted h1,
.feature-block.highlighted p,
.feature-block.highlighted em,
.feature-block.highlighted a {
  color: inherit;
}

.feature-block-image-inset {
  width: calc(((100vw - 1080px) / 2) + (1080px - 650px));
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  filter: grayscale(1.0);
  opacity: 0.1;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.feature-block-tile-list {
  display: flex;
  flex-direction: row;
  margin-bottom: 1.6rem;
}

.feature-block-tile {
  display: block;
  flex: 1;
  padding: 10px;
  transition: 0.3s opacity;
}

.feature-block-tile-list:hover .feature-block-tile {
  opacity: 0.4;
}

.feature-block-tile-list:hover .feature-block-tile:hover {
  opacity: 1.0;
}

.feature-block-tile p {
  font-weight: normal;
  font-size: 15px;
  margin-bottom: 3px;
  line-height: 1.6em;
}

.feature-block-tile p strong {
  display: block;
  font-size: 18px;
  letter-spacing: -0.5px;
}

.feature-block-tile:not(:first-child) {
  margin-left: 15px;
}

.feature-block-tile img {
  display: block;
  margin: 24px auto;
  height: 48px;
}


@media screen and (min-width: 1440px) {

  .feature-block.full-screen .feature-block-caption h1 {
    font-size: 34px;
  }

  .feature-block.full-screen .feature-block-caption {
    padding-left: 90px;
  }

  .feature-block:nth-child(2n+0) .feature-block-caption {
    padding-left: calc((100vw - 1280px) / 2);
  }

  .feature-block:nth-child(2n+1) .feature-block-caption {
    padding-right: calc((100vw - 1280px) / 2);
  }

  .feature-block.full-screen:nth-child(2n+0) .feature-block-caption {
    padding-left: 90px;
  }

  .feature-block.full-screen:nth-child(2n+1) .feature-block-caption {
    padding-right: 90px;
  }

  .feature-block-image-inset {
    width: calc(((100vw - 1280px) / 2) + (1280px - 650px));
  }

}

@media screen and (max-width: 1260px) {

  .feature-block {
    min-height: 100vh;
    height: auto;
  }

  .feature-block.full-screen .feature-block-caption {
    width: 65%;
  }

  .feature-block:nth-child(2n+0) .feature-block-caption {
    padding-left: 70px;
  }

  .feature-block:nth-child(2n+1) .feature-block-caption {
    padding-right: 70px;
  }

  .feature-block.full-screen.extra-large-content-and-title .content-wrap {
    width: 80%;
  }

  .feature-block-image-inset {
    width: calc(100vw - 700px);
  }

}

@media screen and (max-width: 1024px) {

  .feature-block, .feature-block.downshifted {
    min-height: 0;
  }

  .feature-block-caption {
    padding: 45px;
  }

  .feature-block:nth-child(2n+0) .feature-block-caption {
    padding-left: 45px;
  }

  .feature-block:nth-child(2n+1) .feature-block-caption {
    padding-right: 45px;
  }

  .feature-block.downshifted .feature-block-caption {
    padding-top: 10vh;
  }

  .feature-block.downshifted .feature-block-content {
    padding-top: 0;
    padding-bottom: 10vh;
  }

  .feature-block.highlighted .feature-block-caption {
    width: auto;
  }

  .feature-block.full-screen .content-wrap {
    width: 100%;
  }

  .feature-block.full-screen.dark-text .content-wrap .columns {
    flex-direction: column;
  }

  .feature-block-image-inset {
    display: none;
  }

  .feature-block.full-screen.extra-large-content-and-title .content-wrap h1 {
    font-size: 36px;
  }

}

@media screen and (max-width: 768px) {

  .feature-block, .feature-block.downshifted {
    height: auto;
  }

  .feature-block.downshifted .feature-block-caption {
    justify-content: flex-start;
  }

  .feature-block-content {
    padding-top: 0;
    height: 300px;
  }

  .feature-block.downshifted .feature-block-caption {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .feature-block.downshifted .feature-block-content {
    padding-bottom: 0;
  }

  .feature-block.full-screen .feature-block-caption h1 {
    font-size: 26px;
  }

  .feature-block.full-screen.front-page .content-wrap h1 {
    font-size: 28px;
  }

  .feature-block.full-screen.extra-large-content-and-title .content-wrap {
    width: 100%;
  }

}

@media screen and (max-width: 720px) {

  .feature-block-caption {
    width: 70%;
  }

  .feature-block-content {
    width: 30%;
  }

  .feature-block.downshifted .feature-block-caption {
    padding-top: 75px;
    padding-bottom: 75px;
  }

  .feature-block.full-screen .feature-block-caption {
    padding: 110px 60px 45px 60px;
  }

  .feature-block.full-screen .feature-block-caption h1 {
    font-size: 24px;
  }

}

@media screen and (max-width: 576px) {

  .feature-block, .feature-block:nth-child(2n+1) {
    flex-direction: column-reverse;
  }

  .feature-block.full-screen {
    flex-direction: column;
  }

  .feature-block.downshifted .feature-block-content {
    width: 100%;
    height: 350px;
    padding: 0;
  }

  .feature-block.full-screen:not(.front-page) .feature-block-background {
    justify-content: flex-start;
    padding-bottom: 30px;
  }

  .feature-block.full-screen.non-leading .feature-block-background {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .feature-block.full-screen.non-leading .content-wrap h1 {
    font-size: 24px;
  }

  .feature-block.full-screen.front-page .content-wrap h1.leading {
    font-size: 38px;
  }

  .feature-block.full-screen .column-container {
    margin-top: 0;
  }

  .feature-block-caption,
  .feature-block.downshifted .feature-block-caption,
  .feature-block.full-screen .feature-block-caption {
    padding: 30px 15px;
    width: 100%;
  }

  .feature-block.full-screen .content-wrap h1 {
    font-size: 28px;
    margin-bottom: 20px;
  }

  .feature-block.full-screen.front-page,
  .feature-block.full-screen.front-page .feature-block-content,
  .feature-block.full-screen.front-page .feature-block-background {
    min-height: 75vh;
  }

  .feature-block.full-screen.front-page .content-wrap h1 {
    font-size: 4.25vw;
    padding: 10px;
  }

  .feature-block.full-screen.front-page .content-wrap h1:first-of-type {
    padding-top: 10px;
  }

  .feature-block.full-screen.front-page .content-wrap h1:last-of-type {
    padding-bottom: 10px;
  }

  .feature-block.full-screen.non-leading .feature-block-content,
  .feature-block.full-screen.non-leading .feature-block-background {
    min-height: 0;
  }

  .feature-block.full-screen.category-page,
  .feature-block.full-screen.category-page .feature-block-content,
  .feature-block.full-screen.category-page .feature-block-background {
    min-height: 0;
  }

}


/* Feature Sections */

.feature-section {
  display: flex;
  flex-direction: row;
  width: 100%;
  margin: 100px 0 0 0;
  padding: 0;
}

.feature-section.caption-only .feature-section-title {
  height: auto;
}

.feature-section.category-overview .feature-section-image {
  opacity: 0.5;
  filter: grayscale(1);
}

.feature-section .feature-section-caption {
  padding-right: 90px;
  flex: 1;
}

.feature-section .feature-section-caption-content {
  margin-top: 30px;
}

.feature-section .feature-section-title {
  height: 515px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.feature-section .feature-section-title h2 {
  font-family: Helvetica, Arial, sans-serif;
  color: #444444;
  font-size: 48px;
  line-height: 115%;
  margin-top: 20px;
}

.feature-section .feature-section-subtitle {
  font-family: 'Inconsolata', 'Courier New', Courier, monospace;
  font-weight: bold;
  color: #444444;
  font-size: 18px;
  margin-bottom: 23px;
}

.feature-section .feature-section-content {
  min-height: 575px;
  width: 55%;
  position: relative;
}

.feature-section .feature-section-image {
  width: 100%;
  height: 575px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.feature-section .feature-section-quote {
  padding: 60px;
  height: 100%;
  box-sizing: border-box;
  border-left: 5px solid #FE7064;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feature-section .feature-section-quote.article-content {
  margin-top: 0;
}

@media screen and (min-width: 1440px) {

  .feature-section .feature-section-title h2 {
    font-size: 56px;
  }

}

@media screen and (max-width: 1260px) {

  .feature-section .feature-section-title {
    height: 415px;
  }

  .feature-section .feature-section-title h2 {
    font-size: 42px;
  }

  .feature-section .feature-section-content {
    min-height: 475px;
  }

  .feature-section .feature-section-image {
    height: 475px;
  }

}

@media screen and (max-width: 1024px) {

  .feature-section {
    margin-top: 45px;
    margin-bottom: 45px;
    flex-direction: column-reverse;
  }

  .feature-section.with-quote {
    flex-direction: column;
  }

  .feature-section.with-quote .feature-section-caption {
    margin-bottom: 30px;
  }

  .feature-section.category-overview .feature-section-content {
    display: none;
  }

  .feature-section .feature-section-caption {
    width: 100%;
    padding: 0;
    margin-top: 30px;
  }

  .feature-section .feature-section-title {
    height: auto;
  }

  .feature-section .feature-section-title h2 {
    margin: 0;
  }

  .feature-section .feature-section-content {
    min-height: 375px;
    width: 100%;
  }

  .feature-section .feature-section-image {
    height: 375px;
  }

}

@media screen and (max-width: 576px) {

  .feature-section {
    margin: 0;
  }

  .feature-section .feature-section-caption-content {
    margin-top: 15px;
  }

  .feature-section .feature-section-title h2 {
    font-size: 28px;
  }

  .feature-section .feature-section-subtitle {
    margin-bottom: 15px;
  }

  .feature-section .feature-section-quote {
    padding: 0;
    border: none;
  }

}


/* Image and Call to Action */

.image-and-call-to-action {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(0.4 * 1080px + ((100% - 1080px) / 2));
  min-height: 680px;
  z-index: 1;
  min-height: 90px;
}

.image-and-call-to-action .featured-image {
  width: 100%;
  height: 510px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-animation-name: slide-in-gently;
  -webkit-animation-duration: 0.5s;
  animation-name: slide-in-gently;
  animation-duration: 0.5s;
}

.image-and-call-to-action .button,
.image-and-call-to-action .description {
  position: relative;
  left: calc(0.1 * 1080px);
}

.image-and-call-to-action .button:first-child {
  margin-top: 570px;
}

.image-and-call-to-action .description {
  color: #999999;
  font-size: 16px;
  line-height: 1.5em;
  margin: 0;
  margin-top: 20px;
}

.image-and-call-to-action .button,
.image-and-call-to-action .description {
  width: calc(0.3 * 1080px);
}

.image-and-call-to-action .button {
  text-decoration: none;
  margin-top: -55px;
  border: 10px solid #FFFFFF;
  height: 110px;
  width: calc(0.3 * 1080px + 20px);
  left: calc(0.1 * 1080px - 10px);
}

@media screen and (min-width: 1440px) {

  .image-and-call-to-action .button,
  .image-and-call-to-action .description {
    left: calc(0.1 * 1280px);
  }

  .image-and-call-to-action .button {
    left: calc(0.1 * 1280px - 10px);
  }

  .image-and-call-to-action {
    width: calc(0.4 * 1280px + ((100% - 1280px) / 2));
  }

}

@media screen and (max-width: 1260px) {

  .image-and-call-to-action {
    width: calc(100vw - 700px);
    height: 670px;
  }

  .image-and-call-to-action .featured-image {
    height: 420px;
  }

  .image-and-call-to-action .button:first-child {
    margin-top: 470px;
  }

  .image-and-call-to-action .button,
  .image-and-call-to-action .description {
    width: 300px;
  }

}

@media screen and (max-width: 1120px) {

  .image-and-call-to-action .featured-image {
    height: 400px;
  }

  .image-and-call-to-action .button:first-child {
    margin-top: 420px;
  }

  .image-and-call-to-action .button,
  .image-and-call-to-action .description {
    width: calc(100vw - 700px);
    max-width: 300px;
  }

  .image-and-call-to-action .button {
    left: 40px;
  }

  .image-and-call-to-action .description {
    left: 50px;
  }

}

@media screen and (max-width: 992px) {

  .image-and-call-to-action {
    position: static;
    width: 100%;
    height: auto;
    margin-top: -90px;
  }

  .image-and-call-to-action .button,
  .image-and-call-to-action .description {
    display: none;
  }

  .image-and-call-to-action .featured-image {
    -webkit-animation: none;
    animation: none;
  }

}

@media screen and (max-width: 576px) {

  .image-and-call-to-action .featured-image {
    height: 250px;
  }

}


/* Category Lists */

.category-list {
  margin: 60px 0 0 0;
  display: flex;
  flex-wrap: wrap;
}

.category-list-item {
  width: calc(33.33% - 40px);
  margin-bottom: 60px;
  margin-right: 60px;
}

.category-list-item:nth-of-type(3n) {
  margin-right: 0;
}

.category-list-item > a {
  text-decoration: none;
  font-weight: inherit;
  display: block;
}

.category-list-item-featured-image {
  display: none;
}

.category-list-item-featured-image-displayable {
  width: 100%;
  height: 200px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  margin: 0 0 25px 0;
  box-shadow: 0 0 100px rgba(0, 0, 0, 0.1);
}

.category-list-item h3 {
  font-size: 18px;
  font-family: 'Inconsolata', 'Courier New', Courier, monospace;
  color: #666666;
  font-weight: 800;
  margin: 0 0 15px 0;
}

.category-list-item h2 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 24px;
  color: #444444;
  margin: 0 0 20px 0;
  font-weight: normal;
}

.category-list-item p {
  font-family: 'Nunito', Helvetica, Arial, san-serif;
  color: #666666;
  font-size: 18px;
  line-height: 1.5em;
}

.category-list-item a:hover {
  text-decoration: none;
}

.category-list-item .learn-more {
  font-weight: bold;
}

.category-list-item .learn-more:hover {
  text-decoration: underline;
}

@media screen and (max-width: 1024px) {

  .category-list {
    margin: 45px 0;
  }

  .category-list-item {
    width: calc(50% - 22.5px);
    margin-bottom: 45px;
    margin-right: 45px;
  }

  .category-list-item:nth-of-type(2n) {
    margin-right: 0;
  }

}

@media screen and (max-width: 768px) {

  .category-list {
    flex-direction: column;
  }

  .category-list-item {
    width: 100%;
    margin: 0;
    min-height: 0;
  }

}

@media screen and (max-width: 576px) {

  .category-list {
    margin: 30px 0 0 0;
  }

  .category-list-item {
    margin-bottom: 30px;
  }

  .category-list-item h2 {
    font-size: 24px;
  }

}


/* Article Content */

.article-content {
  margin-top: 120px;
  color: #666666;
  position: relative;
}

.article-content h2:first-child {
  margin-top: 0;
}

.article-content blockquote {
  color: #555555;
}

.article-content .author {
  font-size: 13pt;
}

.article-content .author em {
  font-style: normal;
  font-weight: bold;
}

.article-content .author-description {
  color: #999999;
  font-style: oblique;
  font-size: 12pt;
}


.article-content .code, .article-content pre {
  font-family: 'Source Code Pro', 'Courier New', Courier, monospace;
  font-size: 100%;
}

.article-content .article-figure,
.article-content .wp-caption,
.article-content iframe,
.article-content img[class*="wp-image"] {
  margin: 20px 0;
  width: 100% !important;   /* Override pesky inline styling */
}

.article-content img[class*="wp-image"] {
  height: auto !important;  /* Override pesky inline styling */
}

.article-content iframe {
  height: 450px !important;
}

.article-content .article-figure img, .article-content .wp-caption img {
  display: block;
  width: 100%;
  height: auto;
}

.article-content .article-figure figcaption, .article-content .wp-caption .wp-caption-text {
  color: #999999;
  font-size: 18px;
  line-height: 1.5em;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0 !important; /* It's not my fault. WordPress decides to use <p> to describe <figcaptions>. Go <figure>. */
}

.article-content .article-figure img + figcaption, .article-content .wp-caption img + .wp-caption-text {
  margin-top: 20px;
}

.article-content blockquote::before {
  content: '“';
  display: block;
  position: relative;
  left: -20px;
  top: 15px;
  font-size: 96px;
  color: #FE7064;
}

.article-content .quote-source {
  color: #666666;
  font-size: 16px;
  line-height: 24px;
  text-align: right;
}

.article-content blockquote + .quote-source {
  margin-top: 20px;
}

.article-content .quote-source::before {
  content : '- ';
}

.article-content p,  .article-content ul, .article-content ol {
  margin: 0 0 23px 0;
}

.article-content p:empty,
.article-content ul:empty,
.article-content ol:empty {
  display: none;
  margin: 0;
}

.article-content .column-container:last-child p:last-child {
  margin-bottom: 70px;
}

.article-content .column-container {
  position: relative;
  overflow: visible;
}

.article-content > .column-container:first-of-type {
  min-height: 420px;
}

.article-content > .column-container:first-of-type .content-wrap {
  width: 52.5%;
  -webkit-animation-name: rise-gently;
  -webkit-animation-duration: 0.5s;
  animation-name: rise-gently;
  animation-duration: 0.5s;
}

.article-content .column-container:last-child p:last-child {
  margin-bottom: 70px;
}

.article-content .column-container p:last-child,
.article-content .column-container ul:last-child,
.article-content .column-container ol:last-child {
  margin-bottom: 0;
}

.article-content .full-width p,
.article-content .full-width li,
.article-content .full-width blockquote {
  font-size: 18px;
  line-height: 1.5em;
}

.article-content .full-width li {
    margin: 0 0 20px 0;
}

.article-content .column-container .content-wrap {
  width: 60%;
}

.article-content .column-container p:last-child, .article-content .column-container ul:last-child, .article-content .column-container ol:last-child {
  margin-bottom: 0;
}

.article-content .full-width.code p  {
  font-family: 'Source Code Pro', 'Courier New', Courier, monospace;
}

.article-content .full-width + .column-container,
.article-content .wp-block-media-text {
  margin-top: 100px;
}

.article-content .wp-block-media-text:not(.has-media-on-the-right) figure {
  margin-right: 60px;
}

.article-content .full-width + .column-container.full-width-caption {
  margin-top: 30px;
  margin-bottom: 30px;
}

.article-content .column-container.full-width-caption {
  font-size: 16px;
}

.article-content .column-container.full-width-caption.centered {
  text-align: center;
}

.article-content .column-container + .full-width,
.article-content .wp-block-media-text + .full-width {
  margin-top: 100px;
}

.article-content .how-to .column-container .content-wrap {
  width: 100%;
  text-align: center;
}

.article-content .how-to .column-container + .has-column-layout {
  margin-top: 50px;
}

.article-content .how-to .step {
  text-align: center;
}

.article-content .how-to .step img {
  display: block;
  margin: 0 auto 30px auto;
  width: 100px;
  height: 100px;
  object-fit: contain;
}

.article-content .button,
.article-content button,
.article-content input[type="button"] {
  margin-top: 70px;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: normal;
}

.article-content .reference-list h3 {
  font-size: 22px;
  font-weight: bold;
  color: #666666;
  margin: 45px 0 30px 0;
}

.article-content .reference-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.article-content .reference-list ul li {
  color: #999999;
  font-size: 15px;
  line-height: 1.5em;
  margin: 0 0 20px 0;
}

.article-content .wp-block-media-text {
  align-items: stretch;
}

.article-content .wp-block-media-text.has-media-on-the-right {
  grid-template-columns: auto 40%;
}

.article-content .wp-block-media-text .wp-block-media-text__content {
  padding-left: 0;
}

.article-content .wp-block-media-text .wp-block-media-text__media img {
  margin: 0;
}

@media screen and (max-width: 1260px) {

  .article-content {
    margin-top: 90px;
  }

  .article-content > .column-container:first-of-type {
    min-height: 380px;
  }

  .article-content .column-container .content-wrap {
    width: 65%;
  }

  .article-content > .column-container:first-of-type .content-wrap {
    width: 550px;
  }

  .article-content > .column-container:first-of-type p,
  .article-content > .column-container:first-of-type li {
    font-size: 18px;
    margin-bottom: 32px;
  }

  .article-content .full-width p,
  .article-content .full-width li,
  .article-content .full-width blockquote {
    font-size: 16px;
  }

}


@media screen and (max-width: 992px) {

    .article-content {
      margin-top: 0;
    }

    .article-content .column-container .content-wrap {
      width: 100%;
      margin: 0;
      padding: 0;
    }

    .article-content > .column-container:first-of-type {
      min-height: 0;
    }

    .article-content > .column-container:first-of-type .content-wrap {
      width: 100%;
      -webkit-animation: none;
      animation: none;
    }

    .article-content > .column-container:first-of-type,
    .article-content .full-width + .column-container,
    .article-content .column-container + .full-width,
    .article-content .button, .article-content button, .article-content input[type="button"],
    .article-content .wp-block-media-text {
      margin-top: 45px;
    }

    .article-content .how-to .step img {
      width: 90px;
    }

    .article-content .how-to .step figcaption {
      font-size: 16px;
    }

}


@media screen and (max-width: 768px) {

  .article-content .wp-block-media-text {
    grid-template-columns: auto !important;
  }

  .article-content .wp-block-media-text .wp-block-media-text__content {
    padding-right: 0;
  }

  .article-content .wp-block-media-text .wp-block-media-text__media {
    display: none;
  }

  .article-content .wp-block-media-text:not(.has-media-on-the-right) figure {
    display: none;
  }

}

@media screen and (max-width: 576px) {

  .article-content {
    margin-top: 20px;
  }

  .article-content h1, .article-content h2, .article-content h3 {
    font-size: 28px;
    margin-bottom: 16px;
  }

  .article-content p,
  .article-content li,
  .article-content .full-width p,
  .article-content .full-width li,
  .article-content .full-width blockquote {
    line-height: 1.5em;
    font-size: 18px;
  }

  .article-content .article-figure,
  .article-content .wp-caption,
  .article-content iframe,
  .article-content img[class*="wp-image"] {
    margin: 15px 0;
  }

  .article-content iframe {
    height: 300px !important;
  }

  .article-content p,
  .article-content li {
    color: #444444;
  }

  .article-content h2 {
    margin-top: 30px;
  }

  .article-content .reference-list h3 {
    margin-top: 25px;
    margin-bottom: 20px;
  }

  .article-content .reference-list ul li {
    margin-bottom: 15px;
  }

  .article-content > .column-container:first-of-type,
  .article-content .full-width + .column-container,
  .article-content .column-container + .full-width,
  .article-content .button, .article-content button, .article-content input[type="button"],
  .article-content .full-width + .wp-block-media-text,
  .article-content .wp-block-media-text + .full-width {
    margin-top: 25px;
  }

  .full-width .full-width-inner {
    padding-top: 35px;
    padding-bottom: 35px;
  }

  .full-width .full-width-inner .full-width-inner-col:not(:last-of-type) {
    margin-bottom: 0;
  }

  .full-width .full-width-inner h3 {
    margin-bottom: 10px;
    font-size: 18px;
  }

}

/* Footer */

.footer-container-inner {
  width: 65%;
  position: relative;
  margin: 20px 0 30px 0;
  padding: 50px 0 0 0;
  color: #999999;
  font-size: 16px;
  line-height: 1.5em;
}

.footer-container-inner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 300px;
  height: 5px;
  background-color: #EE5E54;
}

.footer-container-inner .footer-header {
  margin-top: 10px;
  margin-bottom: 20px;
}

.footer-container-inner .footer-header,
.footer-container-inner .footer-body {
  color: #777777;
  font-size: 18px;
}

.footer-container-inner .credits {
  margin-bottom: 20px;
}

.footer-container-inner .credits p {
  margin-bottom: 3px;
}

.footer-container-inner .eu-flag-footer {
  width: 60px;
  margin: 0 30px 30px 0;
  flex-shrink: 0;
}

.footer-container-inner .eu-flag-and-footer-header {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}

.footer-project-partner-logos {
  display: flex;
  flex-direction: row;
  margin-bottom: 30px;
}

.footer-project-partner-logos .footer-project-partner-logo {
  height: 200px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  opacity: 0.5;
  filter: grayscale(1.0);
}

.footer-project-partner-logos .footer-project-partner-logo > img {
  width: 80%;
  display: block;
}

@media screen and (max-width: 768px) {

  .footer-container-inner {
    padding-top: 20px;
    width: 100%;
  }

  .footer-project-partner-logos {
    flex-wrap: wrap;
  }

  .footer-project-partner-logos .footer-project-partner-logo {
    flex-basis: 25%;
    height: 150px;
    flex-grow: 0;
  }

}

@media screen and (max-width: 680px) {

  .footer-container-inner::before {
    width: 100%;
  }

  .footer-container-inner {
    margin-bottom: 0;
  }

  .footer-container-inner .eu-flag-footer {
    float: none;
  }

}

@media screen and (max-width: 576px) {

  .footer-project-partner-logos .footer-project-partner-logo {
    height: 75px;
  }

  .footer-container-inner .eu-flag-and-footer-header {
    flex-direction: column;
  }

}
