@font-face {
    font-family: "Solora";
    src: url('../assets/fonts/solora.woff2') format('woff2'),
         url('../assets/fonts/solora.woff') format('woff'),
         url('../assets/fonts/solora.otf');
}
@font-face {
    font-family: "Elcorita";
    src: url('../assets/fonts/elcorita.ttf');
}
@font-face {
    font-family: "Lumia";
    src: url('../assets/fonts/lumia.ttf');
}
@font-face {
    font-family: 'Source Sans Pro';
    src: local("Source Sans 3"),
         url('../assets/fonts/SourceSans3-Light.ttf'),
         url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300');
    font-style: normal;
    font-weight: 300;  
}
@font-face {
    font-family: 'Source Sans Pro';
    src: url('../assets/fonts/SourceSans3-LightItalic.ttf'),
         url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:300i');
    font-style: italic;
    font-weight: 300;  
}
@font-face {
    font-family: 'Source Sans Pro';
    src: url('../assets/fonts/SourceSans3-Regular.ttf'),
         url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:400');
    font-style: normal;
    font-weight: 400;  
}
@font-face {
    font-family: 'Source Sans Pro';
    src: url('../assets/fonts/SourceSans3-Italic.ttf'),
         url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:400i');
    font-style: italic;
    font-weight: 400;  
}

:root{
    --bg-color:   #0E000F;
    --menu-color: #FDFBFF; /* #F8F3FF */
    --text-color: #FDFBFF;
    --bg-position-top: min(54px, max(4vh, 7.5vw));
    --title-font-size: clamp(36px, 11.6vw, 131.25px);
    --title-word-spacing: clamp(-26px, -2.45vw, -10.5px);
    --title-padding-left: min(0.25vw, 2.825px);
    --title-padding-top: min(2.3vw, 26px);
    --subtitle-font-size: min(6vw, 38.5px);
    --subtitle-padding-vertical: min(2vw, 13.16px);
    --subtitle-padding-right: min(3.25vw, 36.75px);
    --subtitle-letter-spacing: min(2.75vw, 22px);
    --icon-size: clamp(26px, calc(var(--subtitle-font-size) + 1.75vw), 58px); /*46.5*/
    --icon-margin-left: calc(var(--title-padding-top) * 1.6); /* *1.5 */
    --second-header-margin-bottom: min(1.875vw, 12px);
    --nav-link-margin-left: clamp(20px, 3.25vw, 36.75px);
    --nav-link-font-size: clamp(19.5px, 2.5vw, 25.275px);
    --nav-txt-pad-top: 55px;
    --nav-txt-pad-sides: min(1vw, 11px);
    --gradient-width: calc((230px + 3vw) * 1.5);
    background-color: var(--bg-color);
    color: var(--text-color);
    font-size: 16px;
    display: block;
    width: 100vw;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    border: 0;
}
:root.preload {
    display: none;
}
* {
    box-sizing: border-box;
    cursor: default;
}
body, div, span, h3, h4, h5, p, a,
img, i, b, ul, li, caption, article {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
body{
    display: block;
    width: 100%;
    max-width: 1131px;
    height: 100%;
    background-color: var(--bg-color);
	-webkit-text-size-adjust: none;
    text-size-adjust: none;
    touch-action: manipulation;
}
body.preload, body.preload * {
    animation: none !important;
    transition: none !important;
}
body::-webkit-scrollbar {
    display: none;
}
@media (min-width: 1131px) {
    body { margin: 0 auto; }
}

/* Header / Title / Subtitle */
/**/
@keyframes glimmer {
    0%, 100% { opacity: 0.39; }
    70% { opacity: 0.88; }
}
@keyframes glimmer2 {
    0%, 100% { opacity: 0.44; }
    65% { opacity: 0.93; }
}
@keyframes glimmerR {
    0%, 100% { opacity: 0.90; }
    70% { opacity: 0.45; }
}
@keyframes glimmer2R {
    0%, 100% { opacity: 0.85; }
    65% { opacity: 0.34; }
}
@keyframes glimmerI {
    0%, 15%, 85%, 100% { opacity: 0.875; }
    50% { opacity: 0.475; }
}
.header-bar {
    transition: opacity 1.1s ease-in-out;
    display: flex; 
    flex-direction: row;
    align-items: center;
    z-index: 12;
}
.header-bar.foot {
    flex-wrap: wrap;
    padding-bottom: 2.75em;
    margin-top: 2.5em;
}
.header-bar.foot p {
    text-decoration: none;
}
body.preload .header-bar{
    opacity: 0;
}
.title {
    font-family: Solora, Copperplate, serif;
    font-size: var(--title-font-size);
    word-spacing: var(--title-word-spacing);
    line-height: 0.9;
    text-align: center;
    text-wrap: nowrap;
    margin: 0 auto;
    padding: var(--title-padding-top) 0 0 var(--title-padding-left);
    text-shadow: 0 -0.5px 0 #F0F0F0, 0 0.5px 0 #312D2FBD, 0 1px 0 #2F2B2DA2;
    z-index: 12;
}
.t1{ color:  #D7C4F5; opacity: 0.90; animation: glimmerR  12s 0s ease-in-out alternate infinite; }
.t2{ color:  #BFCCDA; opacity: 0.44; animation: glimmer2  12s 2s ease-in-out alternate infinite; }
.t3{ color:  #D9C0DD; opacity: 0.85; animation: glimmer2R 16s 11s ease-in-out alternate infinite; }
.t4{ color:  #C4C9F5; opacity: 0.39; animation: glimmer   14s 1s ease-in-out alternate infinite; }
.t5{ color:  #D0B4ED; opacity: 0.44; animation: glimmer2  12s 9.5s ease-in-out alternate infinite; }
.t6{ color:  #CFC6F1; opacity: 0.90; animation: glimmerR  12s 7s ease-in-out alternate infinite; }
.t7{ color:  #B2D0ED; opacity: 0.85; animation: glimmer2R 16s 4.5s ease-in-out alternate infinite; }
.t8{ color:  #D7C4F5; opacity: 0.39; animation: glimmer   14s 10s ease-in-out alternate infinite; }
.t9{ color:  #BFCCDA; opacity: 0.90; animation: glimmerR  12s 3s ease-in-out alternate infinite; }
.t10{ color: #D9C0DD; opacity: 0.44; animation: glimmer2  12s 5.5s ease-in-out alternate infinite; } 
.t11{ color: #C4C9F5; opacity: 0.85; animation: glimmer2R 16s 0s ease-in-out alternate infinite; }
.t12{ color: #D0B4ED; opacity: 0.39; animation: glimmer   14s 6s ease-in-out alternate infinite; }
.t13{ color: #CFC6F1; opacity: 0.90; animation: glimmerR  12s 9s ease-in-out alternate infinite; }

/* Second Header / Subtitle */
/**/
.header-bar.second{
    background: transparent;
    background-image: linear-gradient(to bottom, var(--bg-color) 0%, #170015 94%, rgba(.05,0,.055,0) 100%);
}
.header-bar.secondA{
    background: transparent;
    background-image: linear-gradient(to bottom, var(--bg-color)  0%, #010002 20%, #060606 100%);
}
.header-bar.secondB{
    background: transparent;
    background-image: linear-gradient(to bottom, var(--bg-color)  0%, #170015B0 88%, #17001580 100%);
}
.nav-icon {
    background: transparent;
    cursor: pointer;
    width: var(--icon-size);
    height: var(--icon-size);
    margin-left: var(--icon-margin-left);
    margin-bottom: var(--second-header-margin-bottom);
    z-index: 12;
    will-change: transform;
    transition: transform 0.4s;
}
.nav-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0.85;
}
.nav-icon:not(.hp) img {
    transition: opacity 0.2s;
}
.nav-icon.hp img {
    animation: glimmerI 2.4s 0.6s linear alternate infinite;
}
.nav-icon.open {
    transform: rotate(90deg);
}
.subtitle {
    font-family: Lumia, Garamond, serif;
    font-size: var(--subtitle-font-size);
    letter-spacing: var(--subtitle-letter-spacing);
    text-align: right;
    line-height: 1.1;
    color: var(--menu-color);
    padding: var(--subtitle-padding-vertical) var(--subtitle-padding-right) var(--subtitle-padding-vertical) 0;
    margin-bottom: var(--second-header-margin-bottom);
    flex-grow: 1;
    z-index: 12;
}
.subtitle.about {
    margin-bottom: 0;
}

/* Page / Load */
/**/
.page-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
}
.hero-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    /* width: 100vw; */
    width: 100%;
    height: 100%;
    max-width: 1131px;
    position: absolute;
    top: calc(var(--title-font-size) * 1.23);
}
.hero {
    flex-grow: 1;
    position: relative;
    top: 0%;
    height: 100%;
    width: 100%;
    max-width: 1131px;
    overflow: hidden;
    background-color: var(--bg-color);
    background-position: right top, right var(--bg-position-top);
    background-attachment: local;
    background-repeat: no-repeat;
    background-size: cover, 150%;
    background-image: linear-gradient(to left, 
                        var(--bg-color)    2.5%,
                        rgba(0,0,0,0)    9%, 
                        rgba(.05,0,.055,.1) 85%, 
                        rgba(.05,0,.055,.8) 97.5%,
                        var(--bg-color)    100%), 
                        url(../images/hero.jpg);

    transition: opacity 0.75s 0.3s ease-in-out, transform 0.675s 0.3s ease-in-out;
    opacity: 1;
    z-index: 1;
}
body.preload .hero {
    opacity: 0;
    transform: translateY(1rem);
}

/* Input / Type */
/**/
input, select, textarea { appearance: none; }
a { text-decoration: none; }
body {
    font-family: "Source Sans Pro", Helvetica, sans-serif;
    font-weight: 300;
    line-height: 1.45;
}
b { font-weight: 400; }
i { font-style: italic; }
p { margin: 0 0 1rem 0; }
h3, h4, h5 {
    text-decoration: none;
    font-weight: 300;
    letter-spacing: -0.05em;
    margin: 0 0 0.75rem 0;
}
h3 { font-size: 1.25rem; line-height: 1.5; }
h4 { font-size: 1rem; line-height: 1.1; }
h5 { font-size: 0.95rem; line-height: 1.1; }
h3.no-margin { margin: 0; line-height: 1.15; }
h4.no-margin { margin: 0; }

.footer {
    appearance: none;
    text-decoration: none;
    display: block;
    padding: 0;
    font-family: Solora, Lumia;
    letter-spacing: 0.125em;
    text-align: center;
    white-space: nowrap;
    text-transform: uppercase;
    text-overflow: ellipsis;
    overflow: hidden;
    /* font-size-adjust: cap-height 0.3; */
    background-color: transparent;
    color: #9DC8D4D5 !important;
    flex-grow: 1;
    z-index: 12;
}

/* Nav */
/**/
@keyframes slideInLeft {
    0% { transform: translate3d(-350px, 0, 0);  visibility: visible; }
    100% { transform: translate3d(0, 0, 0); }
}
@keyframes slideOutLeft {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-350px, 0, 0);  visibility: hidden; }
}
@keyframes wiggle {
    0% { transform: skew(0) rotate(0);}
    40% { transform: skew(8deg) rotate(0);} 
    80% { transform: skew(4.75deg) rotate(6deg);} 
    100% { transform: skew(0) rotate(0); }
}
@keyframes wiggle2 {
    0% { transform: skew(0) rotate(0);}
    40% { transform: skew(6.5deg) rotate(0);} 
    80% { transform: skew(3.5deg) rotate(2deg);} 
    100% { transform: skew(0) rotate(0); }
}
.nav {
    position: absolute;
    top: 0%;
    z-index: 11;
}
.nav :not(.open), .nav:not(.open) {
    pointer-events: none;
}
.nav > li {
    color: var(--menu-color);
    list-style-type: none;
    text-align: left;
    padding: var(--nav-txt-pad-top) var(--nav-txt-pad-sides) var(--nav-txt-pad-sides) var(--nav-txt-pad-sides);
    transform: translate3d(-350px, 0, 0);
    animation-fill-mode: both;
    animation-timing-function: ease-in-out;
}
.nav.hp > li:nth-child(1) { 
        padding: calc(var(--nav-txt-pad-top) * 1.5) var(--nav-txt-pad-sides) var(--nav-txt-pad-sides) var(--nav-txt-pad-sides);
}
.nav > li.open:not(.unopened) {
    animation-name: slideInLeft;
    animation-duration: 0.3s;
    visibility: visible;
}
.nav > li:not(.open):is(.unopened) {
    animation-name: slideOutLeft;
    animation-duration: 0.15s;
    visibility: hidden;
}
.nav > li:not(.open):not(.unopened) {
    animation-name: slideOutLeft;
    animation-duration: 0.15s;
    visibility: visible;
}
.nav > li.open:nth-child(1) { animation-delay: 0s; }
.nav > li.open:nth-child(2) { animation-delay: 0.066666s; }
.nav > li.open:nth-child(3) { animation-delay: 0.133333s; }
.nav > li.open:nth-child(4) { animation-delay: 0.2s; }
.nav > li:not(open):nth-child(1) { animation-delay: 0.1s; }
.nav > li:not(open):nth-child(2) { animation-delay: 0.066666s; }
.nav > li:not(open):nth-child(3) { animation-delay: 0.033333s; }
.nav > li:not(open):nth-child(4) { animation-delay: 0s; }
.nav-link {
    display: inline-block;
    background: transparent;
    color: var(--menu-color);
    font-family: Solora;
    font-size: var(--nav-link-font-size);
    margin-left: var(--nav-link-margin-left);
    text-decoration: none;
    width: auto;
    opacity: 0.9;
    animation-timing-function: ease-in-out;
    animation-duration: 0.2s;
    transform-origin: 80% 20%;
    z-index: 11;
}
.nav-link.gal {
    opacity: 0.95;
}
.nav-link.nm:hover, .nav-link.nm:active {
    animation-name: wiggle;
}
.nav-link.w2.nm:hover, .nav-link.w2.nm:active {
    animation-name: wiggle2;
}
.grad {
    position: absolute;
    height: inherit;
    width: var(--gradient-width);
    background-color: transparent;
    background-image: linear-gradient( to left, rgba(0,0,0,0) 0%, rgba(0,0,0,.3) 20%, rgba(0,0,0,.7) 100%);
    transform: translateX(-350px);
    visibility: hidden;
    z-index: 10;
}
.grad.gal {
    top: 0;
    height: 100%;
    background-image: linear-gradient( to left, rgba(0,0,0,0) 0%, rgba(0,0,0,.35) 20%, rgba(0,0,0,.95) 100%);
}
.grad.open {
    animation-duration: 0.4s;
    animation-fill-mode: both;
    animation-name: slideInLeft;
    visibility: visible;
}
.grad:not(.open) {
    animation-duration: 0.15s;
    animation-timing-function: ease-in;
    animation-fill-mode: forwards;
    animation-name: slideOutLeft;
    visibility: visible;
}

/* Lists */
/**/
ul { padding-left: 1rem; margin: 0 0 2rem 0; }
ul li { padding-left: 0.5rem; }
ul.actions {
    display: flex;
    cursor: default;
    list-style: none;
    margin-left: -1rem;
    padding-left: 0;
    padding-top: 0.25rem;
}
ul.actions li {
    padding: 0 0 0 1rem;
    vertical-align: middle;
}

/* Buttons */  
/**/  
.button {
    appearance: none;
    text-decoration: none;
    user-select: none;
    cursor: pointer;
    display: inline-block;
    max-width: 20rem;
    border: 0;
    border-radius: 3.75em;
    height: 3.75em;
    padding: 0 2.5em;
    line-height: 3.75em;
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0.125em;
    text-align: center;
    white-space: nowrap;
    text-transform: uppercase;
    text-overflow: ellipsis;
    overflow: hidden;
    background-color: transparent;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
    color: #000000 !important;
    transition: box-shadow 0.2s ease-in-out, color 0.2s 0.05s ease-in-out;
}
.button.small {
    border-radius: 3.325em;
    height: 3.325em;
    padding: 0 2em;
    line-height: 3.325em;
    font-size: 0.6rem;
}
.button.nm:hover {
    box-shadow: inset 0 0 0 1px #47D3E5;
    color: #47D3E5 !important;
}

/* Image / Gallery */
/**/
.image {
    border: 0;
    border-radius: 4px;
    display: inline-block;
    position: relative;
}
.image img { display: block; }
.gallery-wrapper {
    position: relative;
    z-index: 10;
    margin: 0 auto;
    width: 100%;
    max-width: 1131px;
    overflow-x: hidden;
}
.gallery {
    color: var(--text-color);
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    width: 100%;
    background-color: var(--bg-color);
    box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.075);
    text-align: center;
    margin: auto;
}
.gallery.about {
    background-color: #17001580;
    box-shadow: none;
}
body.preload .gallery.onload-fade-in article, body.preload .gallery.onload-fade-in article .image img {
    opacity: 0;
}
.gallery.onload-fade-in article, .gallery.onload-fade-in article .image img {
    transition: opacity 0.75s ease-in-out;
    transition-delay: 2.25s;
}
.gallery.onload-fade-in article:nth-child(1), .gallery.onload-fade-in article:nth-child(1)  .image img { transition-delay: 0s; }
.gallery.onload-fade-in article:nth-child(2), .gallery.onload-fade-in article:nth-child(2)  .image img { transition-delay: 0.15s; }
.gallery.onload-fade-in article:nth-child(3), .gallery.onload-fade-in article:nth-child(3)  .image img { transition-delay: 0.30s; }
.gallery.onload-fade-in article:nth-child(4), .gallery.onload-fade-in article:nth-child(4)  .image img { transition-delay: 0.45s; }
.gallery.onload-fade-in article:nth-child(5), .gallery.onload-fade-in article:nth-child(5)  .image img { transition-delay: 0.60s; }
.gallery.onload-fade-in article:nth-child(6), .gallery.onload-fade-in article:nth-child(6)  .image img { transition-delay: 0.75s; }
.gallery.onload-fade-in article:nth-child(7), .gallery.onload-fade-in article:nth-child(7)  .image img { transition-delay: 0.90s; }
.gallery.onload-fade-in article:nth-child(8), .gallery.onload-fade-in article:nth-child(8)  .image img { transition-delay: 1.05s; }
.gallery.onload-fade-in article:nth-child(9), .gallery.onload-fade-in article:nth-child(9)  .image img { transition-delay: 1.20s; }
.gallery.onload-fade-in article:nth-child(10), .gallery.onload-fade-in article:nth-child(10) .image img { transition-delay: 1.35s; }
.gallery.onload-fade-in article:nth-child(11), .gallery.onload-fade-in article:nth-child(11) .image img { transition-delay: 1.50s; }
.gallery.onload-fade-in article:nth-child(12), .gallery.onload-fade-in article:nth-child(12) .image img { transition-delay: 1.65s; }
.gallery.onload-fade-in article:nth-child(13), .gallery.onload-fade-in article:nth-child(13) .image img { transition-delay: 1.80s; }
.gallery.onload-fade-in article:nth-child(14), .gallery.onload-fade-in article:nth-child(14) .image img { transition-delay: 1.95s; }
.gallery.onload-fade-in article:nth-child(15), .gallery.onload-fade-in article:nth-child(15) .image img { transition-delay: 2.10s; }
.gallery.onload-fade-in article:nth-child(16), .gallery.onload-fade-in article:nth-child(16) .image img { transition-delay: 2.25s; }

.gallery .button.nm {
    background-color: transparent;
    box-shadow: inset 0 0 0 1px white;
    color: var(--text-color) !important;
}
.gallery .button:not(.nm) {
    background-color: transparent;
    box-shadow: inset 0 0 0 1px #47D3E5;
    color: #47D3E5 !important;;
}
.gallery .button.nm:hover, .gallery .button.nm:active {
    box-shadow: inset 0 0 0 1px #47D3E5;
    color: #47D3E5 !important;
}
.gallery article { /* includes .lw default */
    overflow: hidden;
    position: relative;
    width: 49.5%;
    padding: 0.75px;
}
.gallery article.c{
    width: 33%;
}

@media (max-width: 960px) {
    .gallery article.c { width: 49.5%; }
}
@media (max-width: 720px) {
    .gallery article.lw { width: 99%; }
    .gallery article.lw .caption { padding: 1rem; }
}
@media (max-width: 640px) {
    .gallery article.c, .gallery article.lw { width: 98%; margin: 0.75px auto; }
    .gallery article.c .caption, .gallery article.lw .caption { padding: 1rem; }
}


.gallery article.about {
    width: 90%;
    padding: 0;
    margin: 3% auto;
    max-width: 600px;
    box-shadow: 0 0 28px -10px #EFD3EE88;
}
.gallery article .image {
    transition: opacity 0.2s ease-in-out;
    display: block;
    width: 100%;
    border-radius: 0;
}
.gallery article .image img {
    display: block;
    width: 100%;
    border-radius: 0;
}
.gallery article .vignette {
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    z-index: 1;
}
.gallery article .vignette.v2 {
    box-shadow: inset 0 0 14px #100012;
}
.gallery article .vignette.v3 {
    background-image: radial-gradient(ellipse 70% 60% at center, rgba(0,0,0,0) 0%, rgba(0,0,0,.2) 70%, rgba(.02,0,.10,.9) 100%);
}
.gallery article .vignette.v4 {
    box-shadow: inset 0 0 6rem rgba(.05,.05,.05,.98);
}
.gallery article .vignette.v5 {
    box-shadow: inset 0 0 2rem rgb(0,0,.06);
}
.gallery article .caption {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    pointer-events: none;
    transition: opacity 0.6s 0.1s ease-in-out;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    opacity: 0;
    padding: 2rem;
    z-index: 2;
    font-size: 0.8rem; /* p */
}
.gallery article.lw .caption {
    font-size: 0.85rem;
}
.gallery article .caption a {
    pointer-events: auto;
}
.gallery article .caption > * {
    max-width: 100%;
}
.gallery article .caption > :last-child {
    margin-bottom: 0;
}
.gallery article.visible:not(.nm) .caption, .gallery article.nm:hover .caption.visible {
    opacity: 1;
}
.gallery article .caption h3:not(.no-margin) {
    margin-bottom: 0.75rem;
}
.gallery article .caption p {
    max-width: 480px;
}
/* h3 { font-size: 1.25rem; line-height: 1.5; }
h4 { font-size: 1rem; line-height: 1.1; }
h5 { font-size: 0.95rem; line-height: 1.1; }
h3.no-margin { margin: 0; line-height: 1.15; }
h4.no-margin { margin: 0; }
/*collections*/
@media (min-width: 960px) and (max-width: 1080px) {
    .gallery article.c .caption { font-size: 0.75rem }
    .gallery article.c .caption h3 { font-size: 1.175rem; }
    .gallery article.c .caption h4 { font-size: 0.975rem; }
    .gallery article.c .caption h3.no-margin { line-height: 1.175 }
    .gallery article.c .caption h4.no-margin { line-height: 1.15 }
    .gallery article.c .caption h5 { font-size: 0.925rem; }
    .gallery article.c .caption p { margin: 0 0 0.75rem 0; }
}
@media (min-width: 640px) and (max-width: 800px) {
    .gallery article.c .caption { font-size: 0.7rem }
    .gallery article.c .caption h3 { font-size: 1.125rem; }
    .gallery article.c .caption h4 { font-size: 0.95rem; }
    .gallery article.c .caption h3.no-margin { line-height: 1.175 }
    .gallery article.c .caption h4.no-margin { line-height: 1.15 }
    .gallery article.c .caption h5 { font-size: 0.9rem; }
    .gallery article.c .caption p { margin: 0 0 0.5rem 0; }
}
@media (min-width: 720px) and (max-width: 810px) {
    .gallery article.lw .caption { font-size: 0.8rem }
    .gallery article.lw .caption h3 { font-size: 1.175rem; }
    .gallery article.lw .caption h3:not(.no-margin) { line-height: 1.3; }
    .gallery article.lw .caption h4 { font-size: 0.975rem; }
    .gallery article.lw .caption h3.no-margin { line-height: 1.175 }
    .gallery article.lw .caption h4.no-margin { line-height: 1.1 }
    .gallery article.lw .caption h5 { font-size: 0.925rem; }
    .gallery article.lw .caption p { margin: 0 0 0.75rem 0; line-height: 1.35; }
}
@media (min-width: 570px) and (max-width: 720px) {
    .gallery article.lw .caption { font-size: 0.9rem }
    .gallery article.lw .caption h3 { font-size: 1.325rem; }
    .gallery article.lw .caption h4 { font-size: 1.05rem; }
}
@media (max-width: 440px) {
    .gallery article .caption { font-size: 0.75rem }
    .gallery article .caption h3 { font-size: 1.2rem; }
    .gallery article .caption h3:not(.no-margin) { line-height: 1.3; }
    .gallery article .caption h4 { font-size: 0.975rem; }
    .gallery article .caption h3.no-margin { line-height: 1.175 }
    .gallery article .caption h4.no-margin { line-height: 1.1 }
    .gallery article .caption h5 { font-size: 0.925rem; }
    .gallery article .caption p { margin: 0 0 0.75rem 0; }
}