@font-face {
  font-family: 'MyriadPro';
  src: url(/styles/fonts/MyriadPro-Light.otf);
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: 'MyriadPro';
  src: url(/styles/fonts/MyriadPro-Regular.otf);
  font-weight: 400;
  font-style: normal; }

@font-face {
  font-family: 'MyriadPro';
  src: url(/styles/fonts/MyriadPro-Semibold.otf);
  font-weight: 600;
  font-style: normal; }

@font-face {
  font-family: 'MyriadPro';
  src: url(/styles/fonts/MyriadPro-Bold.otf);
  font-weight: 700;
  font-style: normal; }

html {
  font-size: 16px; }

body {
  font-family: 'MyriadPro', sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 400;
  padding-top: 0;
  margin-bottom: 0; }
  @media only screen and (max-width: 767px) {
  body {
    font-size: 0.875rem; } }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem; }

h1, .h1 {
  font-size: 2.75rem; }
  @media only screen and (max-width: 1199px) {
  h1, .h1 {
    font-size: 2.25rem; } }
  @media only screen and (max-width: 991px) {
  h1, .h1 {
    font-size: 2rem; } }
  @media only screen and (max-width: 767px) {
  h1, .h1 {
    font-size: 1.75rem; } }

h2, .h2 {
  font-size: 2.375rem; }
  @media only screen and (max-width: 1199px) {
  h2, .h2 {
    font-size: 2rem; } }
  @media only screen and (max-width: 991px) {
  h2, .h2 {
    font-size: 1.75rem; } }

h3, .h3 {
  font-size: 2rem; }
  @media only screen and (max-width: 1199px) {
  h3, .h3 {
    font-size: 1.75rem; } }
  @media only screen and (max-width: 991px) {
  h3, .h3 {
    font-size: 1.625rem; } }
  @media only screen and (max-width: 767px) {
  h3, .h3 {
    font-size: 1.375rem; } }

h4, .h4 {
  font-size: 1.75rem; }
  @media only screen and (max-width: 1199px) {
  h4, .h4 {
    font-size: 1.5rem; } }
  @media only screen and (max-width: 767px) {
  h4, .h4 {
    font-size: 1.375rem; } }

h5, .h5 {
  font-size: 1.5rem; }
  @media only screen and (max-width: 1199px) {
  h5, .h5 {
    font-size: 1.375rem; } }

h6, .h6 {
  font-size: 1.25rem; }

p.large {
  font-size: 1.25rem; }
  @media only screen and (max-width: 1199px) {
  p.large {
    font-size: 1.125rem; } }
  @media only screen and (max-width: 767px) {
  p.large {
    font-size: 1rem; } }

a {
  color: #430f07;
  text-decoration: underline;
  -webkit-transition: all 0.15s ease-in-out 0s;
  transition: all 0.15s ease-in-out 0s; }
  a:hover, a:focus {
    color: #bf3024; }

.custom-button {
  display: inline-block;
  background: #bf3024;
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-size: 0.9em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  padding: 1rem 2rem 0.875rem;
  -webkit-transition: all 0.15s ease-in-out 0s;
  transition: all 0.15s ease-in-out 0s;
  /* ------------------------- */
  /* -------- NAVBAR --------- */
  /* ------------------------- */ }
  .custom-button:hover, .custom-button:focus {
    background: #430f07;
    color: #fff; }

.navbar-default {
  min-height: 0;
  background: #fff;
  border: 0;
  border-radius: 0;
  margin-bottom: 0; }
  .navbar-default .navbar-header {
    -ms-flex-negative: 0;
    flex-shrink: 0; }
  .navbar-default .logo img {
    width: 16rem; }
  .navbar-default .navbar-toggle {
    background: #bf3024;
    border: 0;
    border-radius: 0;
    margin-right: 0; }
    .navbar-default .navbar-toggle .icon-bar {
      background: #fff; }
  .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:active {
    background: #430f07; }
  @media only screen and (max-width: 1199px) {
  .navbar-default .logo img {
    width: 15rem; } }

@media only screen and (min-width: 992px) {
  .navbar-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 2rem;
    padding: 2rem 0;
    margin: 0 auto; }

  .navbar-collapse {
    padding: 0; }

  .navbar-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.25rem 1.5rem; }
    .navbar-nav:before, .navbar-nav:after {
      display: none; }
    .navbar-nav > li {
      border-bottom: 0; }
      .navbar-nav > li > a {
        color: #bf3024 !important;
        font-size: 1rem;
        font-weight: 600;
        padding: 0; }
      .navbar-nav > li:hover {
        border-bottom: 0; }
        .navbar-nav > li:hover > a {
          color: #430f07 !important; }
        .navbar-nav > li:hover > .submenu {
          top: 1.625rem; }
      .navbar-nav > li.active {
        border-bottom: 0; }
        .navbar-nav > li.active > a {
          color: #430f07 !important; } }

@media only screen and (max-width: 991px) {
  /* ----------------------------------------------------- */
  /* -- CUSTOM ------------------------------------------- */
  /* ----------------------------------------------------- */
    .navbar-default .logo img {
      width: 10rem;
      padding-top: 0.375rem;
      margin-left: 0; }
    .navbar-collapse ul li a {
      line-height: 20px; }
    .navbar-default .navbar-nav > li > a {
      color: #430f07; } }

.page-wrapper {
  background: #f6f6f6; }
  .page-wrapper .page-wrapper-inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 1920px;
    min-height: 100vh;
    background: #fff;
    margin-left: auto;
    margin-right: auto; }
    .page-wrapper .page-wrapper-inner .page-content {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      padding-bottom: 3rem; }

body:not(.body-index) .page-content {
  border-top: 1px solid #ddd;
  padding-top: 1.5rem;
  padding-bottom: 3rem; }
  @media only screen and (max-width: 991px) {
    body:not(.body-index) .page-content {
      padding-top: 0.75rem; } }

footer.page-footer {
  position: relative;
  bottom: auto;
  height: auto;
  background: #f0f7e8;
  color: #430f07;
  line-height: 1.4;
  padding: 0;
  padding-top: 3rem; }
  footer.page-footer a {
    color: #430f07;
    text-decoration: none; }
  footer.page-footer a:hover {
    text-decoration: underline;
    opacity: 1; }
  footer.page-footer img {
    padding-left: 0; }
  footer.page-footer .static-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-top: 1px solid #430f07;
    font-size: 0.875rem;
    padding-top: 1.125rem;
    padding-bottom: 1.125rem; }
  @media only screen and (max-width: 991px) {
  footer.page-footer .static-footer {
    display: block;
    text-align: center; } }
  @media only screen and (max-width: 767px) {
  footer.page-footer {
    font-size: unset;
    text-align: unset; } }

.editor-footer .footer-column {
  margin-bottom: 2rem; }
  .editor-footer .footer-column img {
    width: 100%;
    max-width: 14rem;
    margin-left: 0; }
  @media only screen and (max-width: 991px) {
  .editor-footer {
    text-align: center; }
    .editor-footer .footer-column img {
      margin-left: auto; } }

.wrap-bg {
  background-color: #eee;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover; }

.product-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
  gap: 2rem; }
  .product-tiles a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    font-weight: 700;
    text-decoration: underline; }
  .product-tiles a .icon {
    -ms-flex-negative: 0;
    flex-shrink: 0; }
    .product-tiles a .icon img {
      width: 6rem; }
  @media only screen and (max-width: 1199px) {
  .product-tiles a .icon img {
    width: 5rem; } }
  @media only screen and (max-width: 991px) {
  .product-tiles {
    grid-template-columns: repeat(2, 1fr);
    max-width: 500px;
    margin-left: auto;
    margin-right: auto; } }
  @media only screen and (max-width: 480px) {
  .product-tiles {
    grid-template-columns: 1fr;
    max-width: 200px; }
    .product-tiles a .icon img {
      width: 4rem; } }

.hp-carousel .item {
  background-color: #430f07;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover; }
  .hp-carousel .item .content {
    max-width: 1170px;
    padding: 8rem 1rem 10rem;
    margin: 0 auto; }
    .hp-carousel .item .content p {
      color: #fff;
      text-shadow: 0 0 1rem rgba(0, 0, 0, .5);
      line-height: 1.2;
      margin: 0; }
    .hp-carousel .item .content .title {
      font-size: 4rem;
      font-weight: 700; }
    .hp-carousel .item .content .description {
      font-size: 2.25rem;
      font-weight: 600;
      margin-top: 1rem; }
  @media only screen and (max-width: 1199px) {
  .hp-carousel .item .content {
    max-width: 970px;
    padding: 6rem 1rem 8rem; }
    .hp-carousel .item .content .title {
      font-size: 3.25rem; }

    .hp-carousel .item .content .description {
      font-size: 1.75rem; } }
  @media only screen and (max-width: 991px) {
  .hp-carousel .item .content {
    max-width: 750px;
    padding: 5rem 1rem; }
    .hp-carousel .item .content .title {
      font-size: 2.75rem; }

    .hp-carousel .item .content .description {
      font-size: 1.5rem; } }
  @media only screen and (max-width: 767px) {
  .hp-carousel .item .content {
    max-width: 100%;
    text-align: center;
    padding: 4rem 1rem; }
    .hp-carousel .item .content .title {
      font-size: 2rem; }

    .hp-carousel .item .content .description {
      font-size: 1.25rem; } }

.custom-articles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem; }
  .custom-articles .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.5rem; }
  .custom-articles .item .image {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 8rem; }
    .custom-articles .item .image:hover {
      opacity: 0.9; }
  .custom-articles .item .content {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .custom-articles .item .content .date {
      line-height: 1;
      white-space: nowrap;
      margin: 0; }
    .custom-articles .item .content .heading {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      margin: 0;
      margin-top: 0.75rem; }
      .custom-articles .item .content .heading a {
        text-decoration: none; }
        .custom-articles .item .content .heading a:hover {
          color: #bf3024; }
    .custom-articles .item .content .read-more {
      text-align: right;
      margin: 0;
      margin-top: 1rem; }
      .custom-articles .item .content .read-more a {
        color: #bf3024; }
        .custom-articles .item .content .read-more a:hover {
          color: #430f07; }
  @media only screen and (max-width: 991px) {
  .custom-articles {
    gap: 3rem; }
    .custom-articles .item {
      gap: 1rem; }
      .custom-articles .item .image {
        width: 7rem; } }
  @media only screen and (max-width: 767px) {
  .custom-articles {
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 1px solid rgba(0, 0, 0, .15); }
    .custom-articles .item {
      border-bottom: 1px solid rgba(0, 0, 0, .15);
      padding: 1rem 0; } }
  @media only screen and (max-width: 400px) {
  .custom-articles .item .image {
    width: 5rem; } }

.contact-tiles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem; }
  .contact-tiles .tile {
    background: #eee;
    padding: 1rem; }
  .contact-tiles .tile .name {
    font-size: 1.125em;
    font-weight: 600;
    margin: 0; }
  .contact-tiles .tile .position {
    font-weight: 300;
    margin: 0;
    margin-top: 0.125rem; }
  .contact-tiles .tile .contacts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5px;
    margin: 0.75rem 0 0; }
    .contact-tiles .tile .contacts span {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: 5px; }
    .contact-tiles .tile .contacts .fa {
      -ms-flex-negative: 0;
      flex-shrink: 0;
      min-width: 12px;
      color: #bf3024; }
    .contact-tiles .tile .contacts a {
      color: #430f07;
      text-decoration: underline;
      word-break: break-word; }
      .contact-tiles .tile .contacts a:hover {
        color: #bf3024; }
  @media only screen and (max-width: 1199px) {
  .contact-tiles {
    grid-template-columns: repeat(3, 1fr); } }
  @media only screen and (max-width: 991px) {
  .contact-tiles {
    grid-template-columns: repeat(2, 1fr); } }
  @media only screen and (max-width: 600px) {
  .contact-tiles {
    grid-template-columns: 1fr; } }
