@charset "UTF-8";
/* ===================

  00. fonts
  01. reset
  02. variables
  03. typography
  04. helpers
  05. layout
  06. grid
  07. blockquote
  08. form
  09. header
  10. buttons
  11. navigation
  12. sections
  13. footer
  14. list
  15. thumbnail
  16. lightbox

====================== */
/*
  00. fonts (static only — no variable fonts)
*/
/* 300 */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("../../fonts/Inter-Light-BETA.woff2") format("woff2");
}
@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url("../../fonts/Inter-LightItalic-BETA.woff2") format("woff2");
}
/* 400 */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../../fonts/Inter-Regular.woff2") format("woff2");
}
@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("../../fonts/Inter-Italic.woff2") format("woff2");
}
/* 600 */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../../fonts/Inter-SemiBold.woff2") format("woff2");
}
@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url("../../fonts/Inter-SemiBoldItalic.woff2") format("woff2");
}
/* 700 */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../../fonts/Inter-Bold.woff2") format("woff2");
}
@font-face {
    font-family: "Inter";
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url("../../fonts/Inter-BoldItalic.woff2") format("woff2");
}
/* Site font stack */
body {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
/* =============
    01. reset
================ */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}
body {
    margin: 0;
}
main {
    display: block;
}
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}
hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}
pre {
    font-family: monospace, monospace;
    font-size: 1em;
}
a {
    background-color: transparent;
}
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}
b, strong {
    font-weight: bolder;
}
code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}
small {
    font-size: 80%;
}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}
img {
    border-style: none;
}
button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}
button, input {
    overflow: visible;
}
button, select {
    text-transform: none;
}
button, [type="button"], [type="reset"], [type="submit"] {
    -webkit-appearance: button;
}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}
fieldset {
    padding: 0.35em 0.75em 0.625em;
}
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}
progress {
    vertical-align: baseline;
}
textarea {
    overflow: auto;
}
[type="checkbox"], [type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
    height: auto;
}
[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}
details {
    display: block;
}
summary {
    display: list-item;
}
template {
    display: none;
}
[hidden] {
    display: none;
}
/* =================
    02. variables
====================*/
/* ==================
    03. typography
 ====================*/
html {
    font-size: 16px;
    color: #000000;
}
body {
    font-weight: 400;
    font-family: "Inter";
}
p, .list li {
    font-size: 1.1rem;
    line-height: 1.6;
    font-weight: 400;
    color: #000000;
}
@media screen and (max-width: 640px) {
    p, .list li {
        font-size: 1rem;
    }
}
a {
    transition: all .2s;
}
h1, h2, h3, a.thumb .caption .title, h4, a.thumb .caption .tag, h5, h6 {
    margin: .5rem 0;
}
h1 + h1, h1 + h2, h1 + h3, a.thumb .caption h1 + .title, h1 + h4, a.thumb .caption h1 + .tag, h1 + h5, h1 + h6, h2 + h1, h2 + h2, h2 + h3, a.thumb .caption h2 + .title, h2 + h4, a.thumb .caption h2 + .tag, h2 + h5, h2 + h6, h3 + h1, a.thumb .caption .title + h1, h3 + h2, a.thumb .caption .title + h2, h3 + h3, a.thumb .caption .title + h3, a.thumb .caption h3 + .title, a.thumb .caption .title + .title, h3 + h4, a.thumb .caption .title + h4, a.thumb .caption h3 + .tag, a.thumb .caption .title + .tag, h3 + h5, a.thumb .caption .title + h5, h3 + h6, a.thumb .caption .title + h6, h4 + h1, a.thumb .caption .tag + h1, h4 + h2, a.thumb .caption .tag + h2, h4 + h3, a.thumb .caption .tag + h3, a.thumb .caption h4 + .title, a.thumb .caption .tag + .title, h4 + h4, a.thumb .caption .tag + h4, a.thumb .caption h4 + .tag, a.thumb .caption .tag + .tag, h4 + h5, a.thumb .caption .tag + h5, h4 + h6, a.thumb .caption .tag + h6, h5 + h1, h5 + h2, h5 + h3, a.thumb .caption h5 + .title, h5 + h4, a.thumb .caption h5 + .tag, h5 + h5, h5 + h6, h6 + h1, h6 + h2, h6 + h3, a.thumb .caption h6 + .title, h6 + h4, a.thumb .caption h6 + .tag, h6 + h5, h6 + h6 {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 1rem;
}
h1 a, h2 a, h3 a, a.thumb .caption .title a, h4 a, a.thumb .caption .tag a, h5 a, h6 a, p a, .list li a, .btn a {
    text-decoration: none;
    color: #000000;
    border-bottom: 1px solid #000000;
    padding-bottom: 4px;
}
h1 a:hover, h2 a:hover, h3 a:hover, a.thumb .caption .title a:hover, h4 a:hover, a.thumb .caption .tag a:hover, h5 a:hover, h6 a:hover, p a:hover, .list li a:hover, .btn a:hover {
    color: #000000;
    border-bottom: none;
}
h1 {
    letter-spacing: -.1rem;
    font-size: 4rem;
    font-weight: 700;
}
@media screen and (max-width: 1024px) {
    h1 {
        font-size: 3rem;
    }
}
@media screen and (max-width: 640px) {
    h1 {
        font-size: 2rem;
        letter-spacing: 0;
    }
}
@media screen and (max-width: 400px) {
    h1 {
        font-size: 1.8rem;
    }
}
h2 {
    font-size: 2.75rem;
    color: #000000;
    letter-spacing: -.025em;
    font-weight: 700;
}
@media screen and (max-width: 1024px) {
    h2 {
        font-size: 2.25rem;
    }
}
@media screen and (max-width: 640px) {
    h2 {
        font-size: 1.75rem;
    }
}
@media screen and (max-width: 400px) {
    h2 {
        font-size: 1.45rem;
    }
}
h3, a.thumb .caption .title {
    font-size: 2rem;
    font-weight: normal;
    letter-spacing: -.05rem;
    padding-bottom: 0 !important;
}
@media screen and (max-width: 1024px) {
    h3, a.thumb .caption .title {
        font-size: 1.85rem;
    }
}
@media screen and (max-width: 640px) {
    h3, a.thumb .caption .title {
        font-size: 1.35rem;
        letter-spacing: 0;
    }
}
h4, a.thumb .caption .tag {
    font-size: 1.35rem;
    text-transform: capitalize;
    letter-spacing: .1rem;
    font-weight: bold;
    color: #000000;
}
@media screen and (max-width: 640px) {
    h4, a.thumb .caption .tag {
        letter-spacing: .05rem;
        font-size: 1.5rem;
    }
}
h5 {
    font-size: 1.35rem;
    font-weight: normal;
    margin-top: 2rem;
}
@media screen and (max-width: 640px) {
    h5 {
        letter-spacing: .05rem;
        font-size: 1.25rem;
    }
}
h6 {
    font-size: 1rem;
    text-transform: capitalize;
    letter-spacing: .1rem;
    font-weight: normal;
}
/* ==============
    04. helpers
================= */
@media screen and (min-width: 640px) {
    .w-0 {
        width: 0% !important;
    }
    .h-0 {
        height: 0% !important;
    }
    .pv-0 {
        padding-top: 0rem !important;
        padding-bottom: 0rem !important;
    }
    .ph-0 {
        padding-left: 0rem !important;
        padding-right: 0rem !important;
    }
    .pt-0 {
        padding-top: 0rem !important;
    }
    .pb-0 {
        padding-bottom: 0rem !important;
    }
    .p-0 {
        padding: 0rem !important;
    }
    .mv-0 {
        margin-top: 0rem !important;
        margin-bottom: 0rem !important;
    }
    .mh-0 {
        margin-left: 0rem !important;
        margin-right: 0rem !important;
    }
    .mt-0 {
        margin-top: 0rem !important;
    }
    .mb-0 {
        margin-bottom: 0rem !important;
    }
    .m-0 {
        margin: 0rem !important;
    }
    .font-size-0 {
        font-size: 0rem !important;
    }
    .opacity-0 {
        opacity: 0 !important;
    }
    .w-1 {
        width: 10% !important;
    }
    .h-1 {
        height: 10% !important;
    }
    .pv-1 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .ph-1 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    .pt-1 {
        padding-top: 1rem !important;
    }
    .pb-1 {
        padding-bottom: 1rem !important;
    }
    .p-1 {
        padding: 1rem !important;
    }
    .mv-1 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .mh-1 {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }
    .mt-1 {
        margin-top: 1rem !important;
    }
    .mb-1 {
        margin-bottom: 1rem !important;
    }
    .m-1 {
        margin: 1rem !important;
    }
    .font-size-1 {
        font-size: 1rem !important;
    }
    .opacity-1 {
        opacity: 0.1 !important;
    }
    .w-2 {
        width: 20% !important;
    }
    .h-2 {
        height: 20% !important;
    }
    .pv-2 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
    .ph-2 {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
    .pt-2 {
        padding-top: 2rem !important;
    }
    .pb-2 {
        padding-bottom: 2rem !important;
    }
    .p-2 {
        padding: 2rem !important;
    }
    .mv-2 {
        margin-top: 2rem !important;
        margin-bottom: 2rem !important;
    }
    .mh-2 {
        margin-left: 2rem !important;
        margin-right: 2rem !important;
    }
    .mt-2 {
        margin-top: 2rem !important;
    }
    .mb-2 {
        margin-bottom: 2rem !important;
    }
    .m-2 {
        margin: 2rem !important;
    }
    .font-size-2 {
        font-size: 2rem !important;
    }
    .opacity-2 {
        opacity: 0.2 !important;
    }
    .w-3 {
        width: 30% !important;
    }
    .h-3 {
        height: 30% !important;
    }
    .pv-3 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .ph-3 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }
    .pt-3 {
        padding-top: 3rem !important;
    }
    .pb-3 {
        padding-bottom: 3rem !important;
    }
    .p-3 {
        padding: 3rem !important;
    }
    .mv-3 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .mh-3 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }
    .mt-3 {
        margin-top: 3rem !important;
    }
    .mb-3 {
        margin-bottom: 3rem !important;
    }
    .m-3 {
        margin: 3rem !important;
    }
    .font-size-3 {
        font-size: 3rem !important;
    }
    .opacity-3 {
        opacity: 0.3 !important;
    }
    .w-4 {
        width: 40% !important;
    }
    .h-4 {
        height: 40% !important;
    }
    .pv-4 {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }
    .ph-4 {
        padding-left: 4rem !important;
        padding-right: 4rem !important;
    }
    .pt-4 {
        padding-top: 4rem !important;
    }
    .pb-4 {
        padding-bottom: 4rem !important;
    }
    .p-4 {
        padding: 4rem !important;
    }
    .mv-4 {
        margin-top: 4rem !important;
        margin-bottom: 4rem !important;
    }
    .mh-4 {
        margin-left: 4rem !important;
        margin-right: 4rem !important;
    }
    .mt-4 {
        margin-top: 4rem !important;
    }
    .mb-4 {
        margin-bottom: 4rem !important;
    }
    .m-4 {
        margin: 4rem !important;
    }
    .font-size-4 {
        font-size: 4rem !important;
    }
    .opacity-4 {
        opacity: 0.4 !important;
    }
    .w-5 {
        width: 50% !important;
    }
    .h-5 {
        height: 50% !important;
    }
    .pv-5 {
        padding-top: 5rem !important;
        padding-bottom: 5rem !important;
    }
    .ph-5 {
        padding-left: 5rem !important;
        padding-right: 5rem !important;
    }
    .pt-5 {
        padding-top: 5rem !important;
    }
    .pb-5 {
        padding-bottom: 5rem !important;
    }
    .p-5 {
        padding: 5rem !important;
    }
    .mv-5 {
        margin-top: 5rem !important;
        margin-bottom: 5rem !important;
    }
    .mh-5 {
        margin-left: 5rem !important;
        margin-right: 5rem !important;
    }
    .mt-5 {
        margin-top: 5rem !important;
    }
    .mb-5 {
        margin-bottom: 5rem !important;
    }
    .m-5 {
        margin: 5rem !important;
    }
    .font-size-5 {
        font-size: 5rem !important;
    }
    .opacity-5 {
        opacity: 0.5 !important;
    }
    .w-6 {
        width: 60% !important;
    }
    .h-6 {
        height: 60% !important;
    }
    .pv-6 {
        padding-top: 6rem !important;
        padding-bottom: 6rem !important;
    }
    .ph-6 {
        padding-left: 6rem !important;
        padding-right: 6rem !important;
    }
    .pt-6 {
        padding-top: 6rem !important;
    }
    .pb-6 {
        padding-bottom: 6rem !important;
    }
    .p-6 {
        padding: 6rem !important;
    }
    .mv-6 {
        margin-top: 6rem !important;
        margin-bottom: 6rem !important;
    }
    .mh-6 {
        margin-left: 6rem !important;
        margin-right: 6rem !important;
    }
    .mt-6 {
        margin-top: 6rem !important;
    }
    .mb-6 {
        margin-bottom: 6rem !important;
    }
    .m-6 {
        margin: 6rem !important;
    }
    .font-size-6 {
        font-size: 6rem !important;
    }
    .opacity-6 {
        opacity: 0.6 !important;
    }
    .w-7 {
        width: 70% !important;
    }
    .h-7 {
        height: 70% !important;
    }
    .pv-7 {
        padding-top: 7rem !important;
        padding-bottom: 7rem !important;
    }
    .ph-7 {
        padding-left: 7rem !important;
        padding-right: 7rem !important;
    }
    .pt-7 {
        padding-top: 7rem !important;
    }
    .pb-7 {
        padding-bottom: 7rem !important;
    }
    .p-7 {
        padding: 7rem !important;
    }
    .mv-7 {
        margin-top: 7rem !important;
        margin-bottom: 7rem !important;
    }
    .mh-7 {
        margin-left: 7rem !important;
        margin-right: 7rem !important;
    }
    .mt-7 {
        margin-top: 7rem !important;
    }
    .mb-7 {
        margin-bottom: 7rem !important;
    }
    .m-7 {
        margin: 7rem !important;
    }
    .font-size-7 {
        font-size: 7rem !important;
    }
    .opacity-7 {
        opacity: 0.7 !important;
    }
    .w-8 {
        width: 80% !important;
    }
    .h-8 {
        height: 80% !important;
    }
    .pv-8 {
        padding-top: 8rem !important;
        padding-bottom: 8rem !important;
    }
    .ph-8 {
        padding-left: 8rem !important;
        padding-right: 8rem !important;
    }
    .pt-8 {
        padding-top: 8rem !important;
    }
    .pb-8 {
        padding-bottom: 8rem !important;
    }
    .p-8 {
        padding: 8rem !important;
    }
    .mv-8 {
        margin-top: 8rem !important;
        margin-bottom: 8rem !important;
    }
    .mh-8 {
        margin-left: 8rem !important;
        margin-right: 8rem !important;
    }
    .mt-8 {
        margin-top: 8rem !important;
    }
    .mb-8 {
        margin-bottom: 8rem !important;
    }
    .m-8 {
        margin: 8rem !important;
    }
    .font-size-8 {
        font-size: 8rem !important;
    }
    .opacity-8 {
        opacity: 0.8 !important;
    }
    .w-9 {
        width: 90% !important;
    }
    .h-9 {
        height: 90% !important;
    }
    .pv-9 {
        padding-top: 9rem !important;
        padding-bottom: 9rem !important;
    }
    .ph-9 {
        padding-left: 9rem !important;
        padding-right: 9rem !important;
    }
    .pt-9 {
        padding-top: 9rem !important;
    }
    .pb-9 {
        padding-bottom: 9rem !important;
    }
    .p-9 {
        padding: 9rem !important;
    }
    .mv-9 {
        margin-top: 9rem !important;
        margin-bottom: 9rem !important;
    }
    .mh-9 {
        margin-left: 9rem !important;
        margin-right: 9rem !important;
    }
    .mt-9 {
        margin-top: 9rem !important;
    }
    .mb-9 {
        margin-bottom: 9rem !important;
    }
    .m-9 {
        margin: 9rem !important;
    }
    .font-size-9 {
        font-size: 9rem !important;
    }
    .opacity-9 {
        opacity: 0.9 !important;
    }
    .w-10 {
        width: 100% !important;
    }
    .h-10 {
        height: 100% !important;
    }
    .pv-10 {
        padding-top: 10rem !important;
        padding-bottom: 10rem !important;
    }
    .ph-10 {
        padding-left: 10rem !important;
        padding-right: 10rem !important;
    }
    .pt-10 {
        padding-top: 10rem !important;
    }
    .pb-10 {
        padding-bottom: 10rem !important;
    }
    .p-10 {
        padding: 10rem !important;
    }
    .mv-10 {
        margin-top: 10rem !important;
        margin-bottom: 10rem !important;
    }
    .mh-10 {
        margin-left: 10rem !important;
        margin-right: 10rem !important;
    }
    .mt-10 {
        margin-top: 10rem !important;
    }
    .mb-10 {
        margin-bottom: 10rem !important;
    }
    .m-10 {
        margin: 10rem !important;
    }
    .font-size-10 {
        font-size: 10rem !important;
    }
    .opacity-10 {
        opacity: 1 !important;
    }
}
.w-0 {
    width: 0 !important;
}
.h-0 {
    height: 0 !important;
}
.pv-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.ph-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.pt-0 {
    padding-top: 0 !important;
}
.pb-0 {
    padding-bottom: 0 !important;
}
.p-0 {
    padding: 0 !important;
}
.mv-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.mh-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.mt-0 {
    margin-top: 0 !important;
}
.mb-0 {
    margin-bottom: 0 !important;
}
.m-0 {
    margin: 0 !important;
}
.behind {
    z-index: -1;
    position: relative;
}
.h-full {
    height: 100vh;
}
.w-full {
    width: 100vw;
}
.text-center {
    text-align: center;
}
.text-left {
    text-align: left;
}
.text-right {
    text-align: right;
}
.d-flex {
    display: flex;
}
.v-center {
    align-items: center;
}
.v-bottom {
    align-items: flex-end;
}
.v-top {
    align-items: flex-start;
}
.h-center {
    justify-content: center;
}
.h-right {
    justify-content: flex-end;
}
.h-left {
    justify-content: flex-start;
}
.weight-lighter {
    font-weight: 100;
}
.weight-light {
    font-weight: 300;
}
.bold {
    font-weight: 600;
}
.border-top {
    border-top: 1px solid #ddd;
}
.border-bottom {
    border-bottom: 1px solid #ddd;
}
.bg-light {
    background-color: #ddd;
}
.bg-black {
    background-color: #000000;
}
.bg-black header.main-header {
    background-color: #000000;
}
.bg-black header.main-header a img {
    filter: invert(1) grayscale(1);
}
.bg-black ul li a:not(.active) {
    color: #fff !important;
}
.bg-black ul li a.active {
    color: #FF4F4F !important;
}
.bg-black * {
    border-color: rgba(255, 255, 255, 0.15);
}
.bg-black.nav-open {
    background: #000000;
}
.bg-black p, .bg-black .list li, .list .bg-black li {
    color: rgba(255, 255, 255, 0.6);
}
.bg-grey {
    background-color: #ccc;
}
.bg-accent {
    background-color: #FF4F4F;
}
.color-light {
    color: #ddd;
}
.color-black {
    color: #000000;
}
.color-dark {
    color: #777;
}
.color-grey {
    color: #ccc;
}
.color-accent {
    color: #FF4F4F;
}
/* =============
    05. layout
================ */
#about h5 {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 1rem 0;
}
#contact h2 {
    padding-top: 1rem;
}
.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 116px;
}
@media screen and (max-width: 1024px) {
    .container {
        padding: 0 30px;
    }
}
@media screen and (max-width: 640px) {
    .container {
        padding: 0;
    }
}
.content {
    padding: 0 4rem;
}
.content img {
    max-width: 100%;
    vertical-align: top;
}
@media screen and (max-width: 1024px) {
    .content {
        padding: 0 2rem;
    }
    .content img {
        margin-bottom: 1rem;
    }
}
#pay h2 {
    padding-top: 1rem;
}
/* ============
    06. grid
=============== */
div[class^=grid-], .grid {
    display: flex;
    flex-flow: row wrap;
    justify-content: baseline;
}
div[class^=grid-].masonry, .grid.masonry {
    margin-right: -2rem;
}
div[class^=grid-].masonry .thumb, .grid.masonry .thumb {
    transition: none;
}
div[class^=grid-] img, .grid img {
    max-width: 100%;
}
div[class^=grid-] div[class^=col-], .grid div[class^=col-] {
    box-sizing: border-box;
    padding-right: 2rem;
}
div[class^=grid-] div[class^=col-]:last-child, .grid div[class^=col-]:last-child {
    padding-right: 0;
}
@media screen and (max-width: 640px) {
    div[class^=grid-]:not(.masonry), .grid:not(.masonry) {
        margin-right: 0;
    }
    div[class^=grid-] div[class^=col-], .grid div[class^=col-] {
        padding-right: 0;
    }
}
div[class^=grid-].no-space, .grid.no-space {
    margin-right: 0;
}
div[class^=grid-].no-space div[class^=col-], .grid.no-space div[class^=col-] {
    padding-right: 0;
}
div[class^=grid-] .col-1, .grid .col-1 {
    width: 8.33333%;
}
div[class^=grid-] .offset-1, .grid .offset-1 {
    padding-left: 8.33333%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-1, .grid .offset-1 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-2, .grid .col-2 {
    width: 16.66667%;
}
div[class^=grid-] .offset-2, .grid .offset-2 {
    padding-left: 16.66667%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-2, .grid .offset-2 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-3, .grid .col-3 {
    width: 25%;
}
div[class^=grid-] .offset-3, .grid .offset-3 {
    padding-left: 25%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-3, .grid .offset-3 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-4, .grid .col-4 {
    width: 33.33333%;
}
div[class^=grid-] .offset-4, .grid .offset-4 {
    padding-left: 33.33333%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-4, .grid .offset-4 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-5, .grid .col-5 {
    width: 41.66667%;
}
div[class^=grid-] .offset-5, .grid .offset-5 {
    padding-left: 41.66667%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-5, .grid .offset-5 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-6, .grid .col-6 {
    width: 50%;
}
div[class^=grid-] .offset-6, .grid .offset-6 {
    padding-left: 50%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-6, .grid .offset-6 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-7, .grid .col-7 {
    width: 58.33333%;
}
div[class^=grid-] .offset-7, .grid .offset-7 {
    padding-left: 58.33333%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-7, .grid .offset-7 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-8, .grid .col-8 {
    width: 66.66667%;
}
div[class^=grid-] .offset-8, .grid .offset-8 {
    padding-left: 66.66667%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-8, .grid .offset-8 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-9, .grid .col-9 {
    width: 75%;
}
div[class^=grid-] .offset-9, .grid .offset-9 {
    padding-left: 75%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-9, .grid .offset-9 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-10, .grid .col-10 {
    width: 83.33333%;
}
div[class^=grid-] .offset-10, .grid .offset-10 {
    padding-left: 83.33333%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-10, .grid .offset-10 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-11, .grid .col-11 {
    width: 91.66667%;
}
div[class^=grid-] .offset-11, .grid .offset-11 {
    padding-left: 91.66667%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-11, .grid .offset-11 {
        padding-left: 0;
    }
}
div[class^=grid-] .col-12, .grid .col-12 {
    width: 100%;
}
div[class^=grid-] .offset-12, .grid .offset-12 {
    padding-left: 100%;
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .offset-12, .grid .offset-12 {
        padding-left: 0;
    }
}
@media screen and (max-width: 1300px) {
    div[class^=grid-] .col-lg-1, .grid .col-lg-1 {
        width: 8.33333%;
    }
    div[class^=grid-] .offset-lg-1, .grid .offset-lg-1 {
        padding-left: 8.33333%;
    }
    div[class^=grid-] .col-lg-2, .grid .col-lg-2 {
        width: 16.66667%;
    }
    div[class^=grid-] .offset-lg-2, .grid .offset-lg-2 {
        padding-left: 16.66667%;
    }
    div[class^=grid-] .col-lg-3, .grid .col-lg-3 {
        width: 25%;
    }
    div[class^=grid-] .offset-lg-3, .grid .offset-lg-3 {
        padding-left: 25%;
    }
    div[class^=grid-] .col-lg-4, .grid .col-lg-4 {
        width: 33.33333%;
    }
    div[class^=grid-] .offset-lg-4, .grid .offset-lg-4 {
        padding-left: 33.33333%;
    }
    div[class^=grid-] .col-lg-5, .grid .col-lg-5 {
        width: 41.66667%;
    }
    div[class^=grid-] .offset-lg-5, .grid .offset-lg-5 {
        padding-left: 41.66667%;
    }
    div[class^=grid-] .col-lg-6, .grid .col-lg-6 {
        width: 50%;
    }
    div[class^=grid-] .offset-lg-6, .grid .offset-lg-6 {
        padding-left: 50%;
    }
    div[class^=grid-] .col-lg-7, .grid .col-lg-7 {
        width: 58.33333%;
    }
    div[class^=grid-] .offset-lg-7, .grid .offset-lg-7 {
        padding-left: 58.33333%;
    }
    div[class^=grid-] .col-lg-8, .grid .col-lg-8 {
        width: 66.66667%;
    }
    div[class^=grid-] .offset-lg-8, .grid .offset-lg-8 {
        padding-left: 66.66667%;
    }
    div[class^=grid-] .col-lg-9, .grid .col-lg-9 {
        width: 75%;
    }
    div[class^=grid-] .offset-lg-9, .grid .offset-lg-9 {
        padding-left: 75%;
    }
    div[class^=grid-] .col-lg-10, .grid .col-lg-10 {
        width: 83.33333%;
    }
    div[class^=grid-] .offset-lg-10, .grid .offset-lg-10 {
        padding-left: 83.33333%;
    }
    div[class^=grid-] .col-lg-11, .grid .col-lg-11 {
        width: 91.66667%;
    }
    div[class^=grid-] .offset-lg-11, .grid .offset-lg-11 {
        padding-left: 91.66667%;
    }
    div[class^=grid-] .col-lg-12, .grid .col-lg-12 {
        width: 100%;
    }
    div[class^=grid-] .offset-lg-12, .grid .offset-lg-12 {
        padding-left: 100%;
    }
}
@media screen and (max-width: 1024px) {
    div[class^=grid-] .col-md-1, .grid .col-md-1 {
        width: 8.33333%;
    }
    div[class^=grid-] .offset-md-1, .grid .offset-md-1 {
        padding-left: 8.33333%;
    }
    div[class^=grid-] .col-md-2, .grid .col-md-2 {
        width: 16.66667%;
    }
    div[class^=grid-] .offset-md-2, .grid .offset-md-2 {
        padding-left: 16.66667%;
    }
    div[class^=grid-] .col-md-3, .grid .col-md-3 {
        width: 25%;
    }
    div[class^=grid-] .offset-md-3, .grid .offset-md-3 {
        padding-left: 25%;
    }
    div[class^=grid-] .col-md-4, .grid .col-md-4 {
        width: 33.33333%;
    }
    div[class^=grid-] .offset-md-4, .grid .offset-md-4 {
        padding-left: 33.33333%;
    }
    div[class^=grid-] .col-md-5, .grid .col-md-5 {
        width: 41.66667%;
    }
    div[class^=grid-] .offset-md-5, .grid .offset-md-5 {
        padding-left: 41.66667%;
    }
    div[class^=grid-] .col-md-6, .grid .col-md-6 {
        width: 50%;
    }
    div[class^=grid-] .offset-md-6, .grid .offset-md-6 {
        padding-left: 50%;
    }
    div[class^=grid-] .col-md-7, .grid .col-md-7 {
        width: 58.33333%;
    }
    div[class^=grid-] .offset-md-7, .grid .offset-md-7 {
        padding-left: 58.33333%;
    }
    div[class^=grid-] .col-md-8, .grid .col-md-8 {
        width: 66.66667%;
    }
    div[class^=grid-] .offset-md-8, .grid .offset-md-8 {
        padding-left: 66.66667%;
    }
    div[class^=grid-] .col-md-9, .grid .col-md-9 {
        width: 75%;
    }
    div[class^=grid-] .offset-md-9, .grid .offset-md-9 {
        padding-left: 75%;
    }
    div[class^=grid-] .col-md-10, .grid .col-md-10 {
        width: 83.33333%;
    }
    div[class^=grid-] .offset-md-10, .grid .offset-md-10 {
        padding-left: 83.33333%;
    }
    div[class^=grid-] .col-md-11, .grid .col-md-11 {
        width: 91.66667%;
    }
    div[class^=grid-] .offset-md-11, .grid .offset-md-11 {
        padding-left: 91.66667%;
    }
    div[class^=grid-] .col-md-12, .grid .col-md-12 {
        width: 100%;
    }
    div[class^=grid-] .offset-md-12, .grid .offset-md-12 {
        padding-left: 100%;
    }
}
@media screen and (max-width: 640px) {
    div[class^=grid-] .col-sm-1, .grid .col-sm-1 {
        width: 8.33333%;
    }
    div[class^=grid-] .col-sm-2, .grid .col-sm-2 {
        width: 16.66667%;
    }
    div[class^=grid-] .col-sm-3, .grid .col-sm-3 {
        width: 25%;
    }
    div[class^=grid-] .col-sm-4, .grid .col-sm-4 {
        width: 33.33333%;
    }
    div[class^=grid-] .col-sm-5, .grid .col-sm-5 {
        width: 41.66667%;
    }
    div[class^=grid-] .col-sm-6, .grid .col-sm-6 {
        width: 50%;
    }
    div[class^=grid-] .col-sm-7, .grid .col-sm-7 {
        width: 58.33333%;
    }
    div[class^=grid-] .col-sm-8, .grid .col-sm-8 {
        width: 66.66667%;
    }
    div[class^=grid-] .col-sm-9, .grid .col-sm-9 {
        width: 75%;
    }
    div[class^=grid-] .col-sm-10, .grid .col-sm-10 {
        width: 83.33333%;
    }
    div[class^=grid-] .col-sm-11, .grid .col-sm-11 {
        width: 91.66667%;
    }
    div[class^=grid-] .col-sm-12, .grid .col-sm-12 {
        width: 100%;
    }
}
@media screen and (max-width: 400px) {
    div[class^=grid-] .col-xs-1, .grid .col-xs-1 {
        width: 8.33333%;
    }
    div[class^=grid-] .col-xs-2, .grid .col-xs-2 {
        width: 16.66667%;
    }
    div[class^=grid-] .col-xs-3, .grid .col-xs-3 {
        width: 25%;
    }
    div[class^=grid-] .col-xs-4, .grid .col-xs-4 {
        width: 33.33333%;
    }
    div[class^=grid-] .col-xs-5, .grid .col-xs-5 {
        width: 41.66667%;
    }
    div[class^=grid-] .col-xs-6, .grid .col-xs-6 {
        width: 50%;
    }
    div[class^=grid-] .col-xs-7, .grid .col-xs-7 {
        width: 58.33333%;
    }
    div[class^=grid-] .col-xs-8, .grid .col-xs-8 {
        width: 66.66667%;
    }
    div[class^=grid-] .col-xs-9, .grid .col-xs-9 {
        width: 75%;
    }
    div[class^=grid-] .col-xs-10, .grid .col-xs-10 {
        width: 83.33333%;
    }
    div[class^=grid-] .col-xs-11, .grid .col-xs-11 {
        width: 91.66667%;
    }
    div[class^=grid-] .col-xs-12, .grid .col-xs-12 {
        width: 100%;
    }
}
/* =================
    07. blockquote
==================== */
blockquote {
    margin: 0;
}
blockquote .text {
    font-size: 2.85rem;
    line-height: 1.1;
    font-weight: 700;
    color: #000000;
}
blockquote .author {
    padding-top: 2rem;
}
blockquote .author:before {
    content: "― ";
}
@media screen and (max-width: 1024px) {
    blockquote .text {
        font-size: 1.5rem;
    }
}
@media screen and (max-width: 640px) {
    blockquote {
        margin-bottom: 1rem;
    }
}
/* ============
    08. form
=============== */
@media screen and (max-width: 1024px) {
    form .col {
        width: 100% !important;
    }
}
input, textarea {
    display: block;
    background: #f0f0f0;
    border: 0;
    width: 100%;
    -webkit-appearance: none !important;
    border-radius: 0;
    padding: 1.5rem;
    margin: 0.5rem 0 1.5rem;
    box-sizing: border-box;
    transition: box-shadow .3s;
}
input:focus, textarea:focus {
    box-shadow: inset 0 -1px 0 #000000;
    outline: none;
}
@media screen and (max-width: 640px) {
    input, textarea {
        padding: 1rem;
    }
}
textarea {
    height: 10rem;
}
/* ============== 
    09. Header 
================= */
header.main-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem;
    background: #fff;
    z-index: 9999;
}
header.main-header .brand {
    display: block;
    z-index: 10000;
}
header.main-header .brand img {
    height: 1rem;
    display: block;
}
/* ===============
    10. Buttons
================== */
.btn {
    text-decoration: none;
    padding: 1rem;
    border: 0;
    font-weight: bold;
    letter-spacing: 0.05rem;
    color: #fff;
    background-color: #FF4F4F;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color .3s;
}
.btn:hover {
    background-color: #000000;
}
/* ==================
    11. Navigation
===================== */
.nav-trigger {
    display: block;
    cursor: pointer;
    width: 25px;
    height: 12px;
    position: fixed;
    top: 2.1rem;
    right: 2rem;
    z-index: 10001;
}
.nav-trigger span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #000000;
    left: 0;
    transition: .3s ease-in-out;
}
.nav-trigger span:nth-child(1) {
    top: 0px;
}
.nav-trigger span:nth-child(2) {
    top: 10px;
}
nav.main-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9998;
    transform: translateY(-100%);
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
nav.main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
nav.main-nav ul li {
    font-size: 3.5rem;
    padding: 0 0 .5rem 0;
    opacity: 0;
    transition: opacity 0.4s ease;
}
nav.main-nav ul li a {
    color: #000000;
    font-weight: 700;
    letter-spacing: -.1rem;
    text-decoration: none;
}
body.nav-open {
    overflow: hidden;
}
body.nav-open nav.main-nav {
    transform: translateY(0);
}
body.nav-open nav.main-nav ul li {
    opacity: 1;
    transition-delay: 0.6s;
}
body.nav-open .nav-trigger span {
    transition: top 0.2s ease, transform 0.2s ease 0.2s;
}
body.nav-open .nav-trigger span:nth-child(1) {
    top: 5px;
    transform: rotate(45deg);
}
body.nav-open .nav-trigger span:nth-child(2) {
    top: 5px;
    transform: rotate(-45deg);
}
ul.secondary-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}
ul.secondary-nav li {
    display: inline-block;
    margin-left: 2rem;
}
ul.secondary-nav li:first-child {
    margin-left: 0;
}
ul.secondary-nav li a {
    text-decoration: none;
    font-size: 1.2rem;
    color: #000000;
}
ul.secondary-nav li a.active {
    font-weight: 700;
}
@media screen and (max-width: 640px) {
    ul.secondary-nav li {
        display: block;
        text-align: left;
        margin: 1rem 0;
    }
}
@media screen and (min-width: 1025px) {
    ul.secondary-nav.filters li.filter-trigger {
        display: none !important;
    }
    ul.secondary-nav.filters li {
        display: inline-block;
        margin-left: 2rem;
    }
}
@media screen and (max-width: 1024px) {
    ul.secondary-nav.filters {
        text-align: left;
        width: 100%;
        padding: 0;
        margin-bottom: 0;
    }
    ul.secondary-nav.filters li.filter-trigger {
        display: block !important;
        cursor: pointer;
        position: relative;
        padding: 1rem 40px 1rem 1rem;
        line-height: 1.1;
        z-index: 10;
        margin-bottom: 0;
    }
    ul.secondary-nav.filters li:not(.filter-trigger) {
        will-change: max-height, opacity;
        display: block;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        padding: 0 1rem;
        margin: 0;
        transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s linear, padding 0.6s cubic-bezier(0.4, 0, 0.2, 1), margin 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    }
    ul.secondary-nav.filters li.filter-trigger:before, ul.secondary-nav.filters li.filter-trigger:after {
        content: "";
        position: absolute;
        right: 1rem;
        top: 50%;
        width: 16px;
        height: 3px;
        background: #000000;
        margin-top: -1px;
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        display: block;
    }
    ul.secondary-nav.filters li.filter-trigger:before {
        transform: rotate(0deg);
    }
    ul.secondary-nav.filters li.filter-trigger:after {
        transform: rotate(90deg);
    }
    body.filters-open ul.secondary-nav.filters li:not(.filter-trigger) {
        max-height: 50px;
        opacity: 1;
        padding: 0.8rem 1rem;
    }
    body.filters-open ul.filters li.filter-trigger:before {
        transform: rotate(180deg);
    }
    body.filters-open ul.filters li.filter-trigger:after {
        transform: rotate(180deg);
    }
}
/* ===============
  12. sections
================== */
section {
    padding: 5rem 0;
}
section.hero {
    padding: 13rem 0;
}
@media screen and (max-width: 1024px) {
    section.hero {
        padding: 7rem 0;
    }
}
.content > section:first-child {
    margin-top: 7rem;
}
/* ===========
  13. footer
============== */
footer {
    padding: 5rem 3rem;
    font-size: 1rem;
    line-height: 1.3;
    color: #000000;
}
footer a {
    color: #000000 !important;
    text-decoration: none;
}
@media screen and (max-width: 640px) {
    footer {
        padding: 2rem 2rem;
    }
    footer ul.secondary-nav {
        padding: 0;
    }
    footer ul.secondary-nav li {
        text-align: right;
    }
}
/* ===========
  14. list
============== */
.list {
    padding: 0;
    list-style: none;
}
.list li {
    margin-left: 3rem;
    padding-bottom: 1rem;
    position: relative;
}
.list li:before {
    content: '—';
    position: absolute;
    left: -3rem;
}
ul.comments {
    list-style: none;
    padding: 0;
}
ul.comments li.comment {
    margin: 0 0 2rem;
    padding: 0;
}
ul.comments li.comment:last-child {
    margin-bottom: 0;
}
ul.comments li.comment .author {
    margin-bottom: 1rem;
}
ul.comments li.comment .author .author-avatar {
    float: left;
    margin: 0 1rem 0 0;
}
ul.comments li.comment .author .author-avatar img {
    vertical-align: top;
    width: 3rem;
}
ul.comments li.comment .author .comment-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
ul.comments li.comment .author .comment-info .author-name {
    font-size: 1rem;
}
ul.comments li.comment .author .comment-info .comment-date {
    color: #777;
    font-size: .8rem;
    text-transform: capitalize;
    margin-top: 1rem;
}
ul.comments li.comment .comment-body p, ul.comments li.comment .comment-body .list li, .list ul.comments li.comment .comment-body li {
    line-height: 1.5;
    font-size: 1.1rem;
}
ul.comments li.comment ul.comments {
    border-left: 1px solid #ddd;
    padding: 0 2rem;
    margin: 2rem 0;
}
ul.comments li.comment ul.comments li.comment .comment-body p, ul.comments li.comment ul.comments li.comment .comment-body .list li, .list ul.comments li.comment ul.comments li.comment .comment-body li {
    font-size: 1.1rem;
}
/* ================
  15. thumbnail
=================== */
a.thumb {
    position: relative;
    text-decoration: none;
    display: block;
    float: left;
    color: #fff;
}
a.thumb img {
    display: block;
}
a.thumb .caption {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 1rem;
    opacity: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding: 2rem;
    background-color: rgba(0, 0, 0, 0.8);
    transition: opacity .2s;
}
a.thumb .caption .tag {
    font-size: 1rem;
    color: #ffffff;
}
a.thumb:hover .caption {
    opacity: 1;
}
@media screen and (max-width: 1024px) {
    a.thumb .caption {
        position: relative;
        text-align: left;
        opacity: 1;
        margin: 0;
        padding: 0;
        padding-top: 1rem;
        background-color: transparent;
    }
    a.thumb .caption .tag {
        color: #000000;
    }
    a.thumb .caption .title {
        color: #000000;
    }
}
@media screen and (max-width: 640px) {
    a.thumb .caption .tag {
        margin-top: 0 !important;
        font-size: .7rem;
    }
    a.thumb .caption .title {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}
.item {
    padding: 1rem;
    box-sizing: border-box;
    margin-left: -1rem;
}
/* ==============
  16. lightbox
 ================ */
.gallery.masonry {
    opacity: 0;
    transition: opacity .2s ease;
}
body.masonry-ready .gallery.masonry {
    opacity: 1;
}
/* Story arrow indicator */
.gallery a.thumb .thumb-media {
    position: relative;
}
.gallery a.thumb .case-arrow {
    position: absolute;
    right: 14px;
    bottom: 14px;
    opacity: 1;
    transition: opacity .25s ease;
    pointer-events: none;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    z-index: 5;
}
@media (hover: hover) and (pointer: fine) {
    .gallery a.thumb:hover .case-arrow {
        opacity: 0;
    }
}
@media (max-width: 1024px) {
    .gallery a.thumb .case-arrow {
        display: none;
    }
}
/* Video thumbnail support */
.gallery a.thumb {
    position: relative;
    display: block;
}
.gallery a.thumb img, .gallery a.thumb video.thumb-video {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}
.gallery a.thumb video.thumb-video {
    pointer-events: none;
}
@media screen and (max-width: 1024px) {
    .gallery a.thumb video.thumb-video {
        margin-bottom: 1rem;
    }
    .gallery a.thumb iframe.thumb-yt {
        margin-bottom: 1rem;
    }
}
/*
   Story page grid images — natural height, matched across columns
*/
#pages .grid {
    margin-right: -2rem;
    align-items: stretch;
}
#pages .grid [class*="col-"] {
    box-sizing: border-box;
    padding-right: 2rem !important;
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 640px) {
    #pages .grid {
        margin-right: 0;
    }
    #pages .grid [class*="col-"] {
        padding-right: 0 !important;
        display: block;
    }
    #pages .grid .story-lb-trigger {
        margin-bottom: 1rem;
    }
    #pages .grid [class*="col-"]:last-child .story-lb-trigger {
        margin-bottom: 0;
    }
}
#pages .grid .story-lb-trigger {
    display: block;
    flex: 1;
    overflow: hidden;
    cursor: pointer;
    min-height: 0;
}
#pages .grid .story-lb-trigger img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    margin-bottom: 0;
}
/* Lightbox */
#lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999997;
    user-select: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.4s;
}
#lightbox.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
#lightbox .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0.9;
    z-index: -1;
    cursor: zoom-out;
}
#lightbox .loader {
    height: 40px;
    width: 40px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -20px;
    margin-left: -20px;
}
#lightbox .lb-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#lightbox .lb-img img {
    max-width: 100%;
    max-height: 100%;
    box-sizing: border-box;
    padding: 2rem;
}
#lightbox .lb-img img.zoomable {
    cursor: zoom-in;
}
#lightbox .lb-img img.zoomable.zoomed {
    cursor: zoom-out;
}
#lightbox .video-container {
    max-width: 96vw;
    max-height: 90vh;
    width: min(96vw, calc(90vh * 16 / 9));
    height: min(90vh, calc(96vw * 9 / 16));
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
    background: #000000;
}
#lightbox .video-container iframe, #lightbox .video-container video {
    width: 100%;
    height: 100%;
    display: block;
    background: #000000;
}
/* Nav arrows */
.prev-lightbox-item, .next-lightbox-item {
    position: fixed;
    top: 50%;
    height: 60px;
    width: 60px;
    margin-top: -30px;
    z-index: 999999;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), left 0.3s ease, right 0.3s ease;
}
.prev-lightbox-item:hover, .next-lightbox-item:hover {
    opacity: 1;
}
.prev-lightbox-item:after, .prev-lightbox-item:before, .next-lightbox-item:after, .next-lightbox-item:before {
    content: "";
    position: absolute;
    display: block;
    width: 20px;
    height: 3px;
    top: 50%;
    left: 50%;
    margin-left: -7px;
    background: #ffffff;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s ease;
}
.prev-lightbox-item {
    left: 20px;
    transform: rotate(180deg);
}
.prev-lightbox-item:hover {
    left: 10px;
}
.next-lightbox-item {
    right: 20px;
}
.next-lightbox-item:hover {
    right: 10px;
}
.prev-lightbox-item:before, .next-lightbox-item:before {
    transform: rotate(45deg);
    margin-top: -6px;
}
.prev-lightbox-item:after, .next-lightbox-item:after {
    transform: rotate(-45deg);
    margin-top: 6px;
}
#lightbox:not(.show) .prev-lightbox-item:before, #lightbox:not(.show) .next-lightbox-item:before, #lightbox:not(.show) .prev-lightbox-item:after, #lightbox:not(.show) .next-lightbox-item:after {
    transform: rotate(0deg);
    margin-top: 0;
}
/* Close button */
.close-lightbox {
    height: 60px;
    width: 60px;
    opacity: 0.6;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99999999;
    cursor: pointer;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
}
.close-lightbox:hover {
    transform: scale(1.1);
    opacity: 1;
}
.close-lightbox:after, .close-lightbox:before {
    content: "";
    position: absolute;
    display: block;
    width: 24px;
    height: 3px;
    top: 50%;
    left: 50%;
    margin-left: -12px;
    background: white;
}
.close-lightbox:before {
    transform: rotate(45deg);
}
.close-lightbox:after {
    transform: rotate(-45deg);
}
#lightbox:not(.show) .close-lightbox:before, #lightbox:not(.show) .close-lightbox:after {
    transform: rotate(0deg);
}
@media screen and (max-width: 640px) {
    #lightbox .lb-img img {
        padding: 1rem;
    }
    #lightbox .video-container {
        max-width: 92vw;
        max-height: 85vh;
        width: min(92vw, calc(85vh * 16 / 9));
        height: min(85vh, calc(92vw * 9 / 16));
    }
}