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

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

@font-face {
  font-family: 'Montserrat';
  src: url(/styles/fonts/Montserrat-Medium.otf);
  font-weight: 500;
  font-style: normal; }

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

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

html {
  font-size: 16px; }

body {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 300;
  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: 300;
  line-height: 1.3;
  letter-spacing: 0.15rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem; }
  h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong, .h1 strong, .h2 strong, .h3 strong, .h4 strong, .h5 strong, .h6 strong {
    font-weight: 600; }

h1, .h1 {
  font-size: 1.875rem; }
  @media only screen and (max-width: 767px) {
  h1, .h1 {
    font-size: 1.625rem; } }

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

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

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

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

h6, .h6 {
  font-size: 1.25rem; }
  @media only screen and (max-width: 767px) {
  h6, .h6 {
    font-size: 1.125rem; } }

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

a {
  color: #1c1c1c;
  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: #e58200; }

strong {
  font-weight: 600; }

.custom-button {
  display: inline-block;
  background: none;
  border: 1px solid #1c1c1c;
  border-radius: 0;
  color: #1c1c1c;
  font-size: 0.875rem;
  line-height: 1.2;
  font-weight: 300;
  text-align: center;
  text-decoration: none !important;
  padding: 0.75rem 2rem 0.6875rem;
  -webkit-transition: all 0.15s ease-in-out 0s;
  transition: all 0.15s ease-in-out 0s; }
  .custom-button:hover, .custom-button:focus {
    background: #1c1c1c;
    color: #fff; }

.uppercase {
  text-transform: uppercase;
  /* ----------------------------------------------------- */
  /* -- CUSTOM ------------------------------------------- */
  /* ----------------------------------------------------- */ }

.page-wrapper {
  background: #eee; }
  .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-color: #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; }

.custom-header {
  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;
  background: #1c1c1c;
  padding: 2rem;
  margin-bottom: 1.5rem; }
  .custom-header .logo {
    width: 20rem; }
  .custom-header .burger-button-open {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    background: none;
    border: 0;
    border-radius: 0;
    color: #fff;
    text-transform: uppercase;
    -webkit-transition: all 0.15s ease-in-out 0s;
    transition: all 0.15s ease-in-out 0s; }
    .custom-header .burger-button-open .text {
      font-size: 0.875rem;
      font-weight: 300; }
    .custom-header .burger-button-open .burger {
      position: relative;
      width: 3rem;
      height: 3rem; }
      .custom-header .burger-button-open .burger span {
        position: absolute;
        left: 50%;
        width: 2.5rem;
        height: 2px;
        background: #fff;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        -webkit-transition: all 0.15s ease-in-out 0s;
        transition: all 0.15s ease-in-out 0s; }
        .custom-header .burger-button-open .burger span:nth-child(1) {
          top: calc(50% - 13px); }
        .custom-header .burger-button-open .burger span:nth-child(2) {
          top: calc(50% - 1px); }
        .custom-header .burger-button-open .burger span:nth-child(3) {
          top: calc(50% + 11px); }
    .custom-header .burger-button-open:hover {
      color: rgba(255, 255, 255, .7); }
      .custom-header .burger-button-open:hover .burger span {
        background: rgba(255, 255, 255, .7); }
  @media only screen and (max-width: 767px) {
  .custom-header {
    gap: 1rem;
    padding: 1rem; }
    .custom-header .logo {
      width: 11rem; }

    .custom-header .burger-button-open {
      gap: 1rem; }
      .custom-header .burger-button-open .text {
        display: none; }
      .custom-header .burger-button-open .burger {
        width: 1.75rem;
        height: 1.75rem; }
        .custom-header .burger-button-open .burger span {
          width: 1.75rem; }
          .custom-header .burger-button-open .burger span:nth-child(1) {
            top: calc(50% - 10px); }
          .custom-header .burger-button-open .burger span:nth-child(3) {
            top: calc(50% + 8px); } }

body.body-index .custom-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: none;
  z-index: 10; }

.burger-menu {
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  background: #1c1c1c;
  padding: 1rem;
  z-index: 900; }
  .burger-menu .burger-button-close {
    position: fixed;
    top: 2.5rem;
    right: 2rem;
    width: 3rem;
    height: 3rem;
    background: none;
    border: 0;
    border-radius: 0; }
    .burger-menu .burger-button-close .inner {
      position: relative; }
      .burger-menu .burger-button-close .inner:before, .burger-menu .burger-button-close .inner:after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        width: 2.5rem;
        height: 2px;
        background: #fff;
        -webkit-transition: all 0.15s ease-in-out 0s;
        transition: all 0.15s ease-in-out 0s; }
      .burger-menu .burger-button-close .inner:before {
        -webkit-transform: translateX(-50%) rotate(45deg);
        transform: translateX(-50%) rotate(45deg); }
      .burger-menu .burger-button-close .inner:after {
        -webkit-transform: translateX(-50%) rotate(-45deg);
        transform: translateX(-50%) rotate(-45deg); }
    .burger-menu .burger-button-close:hover .inner:before, .burger-menu .burger-button-close:hover .inner:after {
      background: rgba(255, 255, 255, .8); }
  .burger-menu .menu-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 3rem; }
  .burger-menu .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2rem 1rem;
    text-align: center;
    margin-bottom: 0; }
    .burger-menu .menu a {
      color: #fff;
      font-size: 2rem;
      line-height: 1.2;
      font-weight: 300;
      text-decoration: none;
      text-transform: uppercase;
      padding: 1rem;
      -webkit-transition: all 0.15s ease-in-out 0s;
      transition: all 0.15s ease-in-out 0s; }
      .burger-menu .menu a:hover {
        text-decoration: underline; }
    .burger-menu .menu .submenu {
      display: none; }
  .burger-menu .languages {
    color: rgba(255, 255, 255, .7); }
    .burger-menu .languages a {
      color: rgba(255, 255, 255, .7);
      text-decoration: none; }
      .burger-menu .languages a.active {
        text-decoration: underline; }
      .burger-menu .languages a:hover {
        text-decoration: underline; }
  @media only screen and (max-width: 991px) {
  .burger-menu .burger-button-close {
    top: 3rem;
    right: 2.5rem;
    width: 2rem;
    height: 2rem; }
    .burger-menu .burger-button-close .inner:before, .burger-menu .burger-button-close .inner:after {
      width: 2.25rem; }
  .burger-menu .menu {
    gap: 1rem 0.5rem; }
    .burger-menu .menu a {
      font-size: 1.5rem;
      padding: 0.5rem; } }
  @media only screen and (max-width: 767px) {
  .burger-menu .burger-button-close {
    top: 1.25rem;
    right: 0.75rem; }
    .burger-menu .burger-button-close .inner:before, .burger-menu .burger-button-close .inner:after {
      width: 1.75rem;
      height: 1px; }
  .burger-menu .menu a {
    font-size: 1.25rem; } }
  @media only screen and (max-width: 500px) {
  .burger-menu .menu a {
    font-size: 1rem; } }

footer.page-footer {
  position: relative;
  bottom: auto;
  height: auto;
  background: #1c1c1c;
  color: rgba(255, 255, 255, .7);
  line-height: unset;
  letter-spacing: 0.03rem;
  margin-top: 5rem;
  overflow: hidden; }
  footer.page-footer a {
    color: rgba(255, 255, 255, .7);
    text-decoration: none; }
    footer.page-footer a:hover {
      color: #fff;
      opacity: 1; }
  footer.page-footer .static-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .7);
    font-size: 0.75rem;
    font-weight: 300;
    text-transform: uppercase;
    padding-top: 1rem;
    padding-bottom: 3rem;
    margin: 0 auto; }
    footer.page-footer .static-footer a {
      text-decoration: none;
      -webkit-transition: all 0.15s ease-in-out 0s;
      transition: all 0.15s ease-in-out 0s; }
  @media only screen and (max-width: 767px) {
  footer.page-footer {
    font-size: unset;
    text-align: unset; }
    footer.page-footer .static-footer {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      text-align: center; } }

.footer-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  font-size: 0.875rem;
  white-space: nowrap;
  padding: 3rem 0; }
  .footer-content .column.column-1 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1; }
    .footer-content .column .logo {
      width: 15rem;
      padding: 0;
      margin-left: 0;
      opacity: 0.7; }
    .footer-content .column .fa-instagram {
      color: rgba(255, 255, 255, .7);
      font-size: 2rem;
      margin-left: 5rem; }
      .footer-content .column .fa-instagram:hover {
        color: #fff; }
  @media only screen and (max-width: 767px) {
  .footer-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem;
    text-align: center; }
    .footer-content .column .fa-instagram {
      margin-left: 0; } }

.custom-carousel .item {
  background-color: #333;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  height: 100vh;
  max-height: 1100px; }

.masonry-gallery-index-wrapper {
  overflow: hidden; }

.masonry-gallery {
  list-style: none !important;
  padding: 0 !important;
  margin: 1.5rem -0.5rem; }
  .masonry-gallery li {
    display: block;
    float: left;
    width: 33.33333%;
    padding: 0.5rem;
    opacity: 0; }
    .masonry-gallery li.animate {
      -webkit-transform: translateY(14rem);
      transform: translateY(14rem);
      -webkit-animation: moveUp 0.5s ease forwards;
      animation: moveUp 0.5s ease forwards; }
    .masonry-gallery li a {
      display: block;
      color: #1c1c1c;
      text-decoration: none !important; }
      .masonry-gallery li a .title {
        line-height: 1.3;
        text-align: center;
        margin-top: 0.5rem;
        margin-bottom: 1rem; }
      .masonry-gallery li a:hover {
        opacity: 0.8; }
  .masonry-gallery.masonry-gallery-index {
    margin: 0.5rem -2.5rem; }
    .masonry-gallery.masonry-gallery-index li {
      padding: 2.5rem; }
      .masonry-gallery.masonry-gallery-index li a .title {
        letter-spacing: 0.1rem;
        text-transform: uppercase;
        margin-top: 1.5rem;
        margin-bottom: 0; }
  @media only screen and (max-width: 1199px) {
  .masonry-gallery.masonry-gallery-index {
    margin: 2rem -1rem; }
    .masonry-gallery.masonry-gallery-index li {
      padding: 1rem 1rem 2rem; } }
  @media only screen and (max-width: 991px) {
  .masonry-gallery li {
    width: 50%; } }
  @media only screen and (max-width: 550px) {
  .masonry-gallery li {
    width: 100%; }
  .masonry-gallery.masonry-gallery-index {
    margin: 2rem -0.5rem; }
    .masonry-gallery.masonry-gallery-index li {
      padding: 0.5rem 0.5rem 1.5rem; }
      .masonry-gallery.masonry-gallery-index li a .title {
        margin-top: 1rem; } }

.masonry-gallery li.shown, .no-js .masonry-gallery li, .no-cssanimations .masonry-gallery li {
  opacity: 1; }

@-webkit-keyframes moveUp {
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes moveUp {
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: 4rem; }
  .portfolio-grid .tile {
    text-align: center;
    text-decoration: none !important; }
    .portfolio-grid .tile p {
      letter-spacing: 0.1rem;
      margin-top: 1.5rem;
      margin-bottom: 0; }
    .portfolio-grid .tile.tile-1 {
      grid-row: span 2; }
    .portfolio-grid .tile.tile-2 {
      grid-column: 2;
      grid-row: 1; }
    .portfolio-grid .tile.tile-3 {
      grid-column: 2;
      grid-row: 2; }
    .portfolio-grid .tile.tile-4 {
      grid-column: 3;
      grid-row: span 2; }
  @media only screen and (max-width: 1199px) {
  .portfolio-grid {
    gap: 2rem; } }
  @media only screen and (max-width: 991px) {
  .portfolio-grid {
    gap: 2rem 1rem; } }
  @media only screen and (max-width: 767px) {
  .portfolio-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto; }
    .portfolio-grid .tile {
      grid-column: auto !important;
      grid-row: auto !important; } }
