
:root {
--cms-banner-side-padding: 5px;
--cms-content-side-padding: 10px;
--cms-image-button-gap: 50px;
--cms-gallery-nav-button-size: 40px;
--cms-gallery-nav-button-transition: 0.3s;
--cms-gallery-max-columns: 7;
--cms-main-width: 42rem;
--cms-sidebar-width: 12rem;
--cms-hover-colour: hsl(37, 92%, 70%);
--cms-main-link-colour: hsl(217, 59%, 43%);
--cms-second-link-colour: hsl(217, 34%, 40%);
--cms-banner-link-colour: hsl(210, 100%, 77%);
--cms-banner-field-shadow: hsl(216, 78%, 54%);
--cms-menu-bar-colour: hsl(217, 44%, 22%);
--cms-content-button-border: hsl(218, 43%, 60%);
--cms-timestamp-colour: hsl(0, 0%, 50%);
--cms-list-marker-colour: hsl(0, 0%, 39%);
--cms-heading-colour: hsl(208, 16%, 16%);
--cms-gallery-banner-width: 1040px;
--cms-swiper-max-width: 1061px;
--cms-gallery-max-width: 1611px;
--cms-gallery-control-top-offset: clamp(0px,
245px,
50vh - 2rem - 38px);
--cms-gallery-control-inset: 30px;
--cms-gallery-slider-max-width: clamp(
1611px,
50% + 1061px / 2,
2211px);
--cms-gallery-slider-top-margin: clamp(0px, 100vh - 900px, 1rem);
--cms-image-margins: 20px;
--cms-min-container-width: 540px;
--cms-max-container-width: 1041px;
--cms-max-image-loop-width: 850px;
}
@font-face {
font-family: 'existencelight';
src: url('/_static/1.42/photo_cms/css/fonts/Existence-Light-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'cms-icon-font';
src:
url('/_static/1.42/photo_cms/css/fonts/cms-icon-font.woff') format('woff'),
url('/_static/1.42/photo_cms/css/fonts/cms-icon-font.svg#cms-icon-font') format('svg');
font-weight: normal;
font-style: normal;
}
html {
height: 100%;
scroll-behavior: smooth;
}
body {
min-height: 100lvh;
font-family: 'Open Sans', sans-serif;
font-size: 100%;
color: #444;
background: white;
display: flex;
flex-direction: column;
}
figure {
margin: 0;
}
figcaption,
h1, h2, h3, h4, h5, h6 {
font-family: 'Montserrat', sans-serif;
color: var(--cms-heading-colour);
text-wrap: balance;
}
h1, h2, h3 {
font-weight: 300;
}
a,
#menu-bar .dropdown-item {
font-weight: 600;
}
a:any-link,
button {
transition: color 200ms;
}
a:any-link {
text-decoration: none;
color: var(--cms-main-link-colour);
}
a:hover,
#menu-bar__inner .cms-menu-bar__item:hover,
#toc-button:hover {
color: var(--cms-hover-colour);
}
#footer a:any-link,
.cms-banner-links a:any-link {
color: var(--cms-banner-link-colour);
font-weight: bold;
}
#footer a:hover,
.cms-banner-links a:hover {
color: var(--cms-hover-colour);
}
#flex-container {
display: flex;
flex-direction: column;
flex: 1 0 auto;
}
#scrollup-header {
position: fixed;
top:0;
left: 0;
right: 0;
background: rgba(0, 0, 0, 70%);
color: white;
font-size: 90%;
z-index: 20;
transform: translateY(-100%);
transition: transform 300ms,
visibility 300ms steps(1, end), max-height 300ms steps(1, end);
visibility: hidden;
overflow: hidden;
max-height: 0;
}
#scrollup-header.cms-expanded {
visibility: visible;
transform: translateY(0);
transition: transform 300ms;
max-height: 100vh;
}
#scrollup-header-content {
display: flex;
flex: 1 1 auto;
line-height: 1;
overflow: hidden;
}
#scrollup-header-content + * {
flex: 0 0 auto;
}
#scrollup-header-inner {
padding: 0 var(--cms-content-side-padding);
box-sizing: content-box;
display: flex;
}
#scrollup-header .cms-home-inner a {
border: 1px solid #676767;
}
#banner {
padding: 0 var(--cms-banner-side-padding);
text-align: center;
background: black;
overflow: hidden;
position: relative;
z-index: 30;
flex: 0 0 auto;
}
#banner .cms-banner-content {
margin: 0 auto;
}
#banner-top {
color: white;
box-sizing: content-box;
padding: 0 calc(var(--cms-content-side-padding) - var(--cms-banner-side-padding));
margin: 0 auto;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: space-between;
}
.cms-banner-content {
display: inline-block;
padding: 0.25rem 0.5em;
white-space: nowrap;
flex: 0 1 auto;
overflow: hidden;
text-overflow: ellipsis;
text-align: left;
}
.cms-banner-content .cms-home-link {
background:  url("/_static/1.42/photo_cms/images/logo-top.png") no-repeat left bottom;
display: inline-block;
height: 2rem;
width: 2rem;
border-radius: 2rem;
vertical-align: middle;
}
.cms-banner-content.cms-banner-content--home {
text-overflow: clip;
line-height: 1.5;
}
.cms-banner-button {
font-size: 1.2rem;
color: white;
margin: 0.5rem 0;
background: transparent;
border: 0;
padding: 0;
}
.cms-banner-button:any-link {
color: white;
}
.cms-banner-button:hover {
color: var(--cms-hover-colour);
}
.cms-banner-button,
.cms-banner-button > * {
display: inline-block;
}
#site-search-form {
white-space: nowrap;
flex: 0 0 auto;
}
#search-button {
display: inline-block;
}
#search-button > * {
vertical-align: middle;
}
.cms-search-field {
background: white;
border: 0;
padding: 0;
border-radius: 1em;
max-width: calc(100vw - 6em);
width: 0;
visibility: hidden;
transition: visibility 0s linear 300ms, width 300ms;
}
.cms-search-field.cms-expanded {
padding: 0 0.25em 0 0.5em;
margin-left: 0.5em;
width: 15em;
visibility: visible;
transition: visibility 0s linear 0s, width 300ms;
}
.cms-icon-search::before {
content: "\e8b6";
}
.cms-search-field:focus {
box-shadow: 0px 0px 10px 5px var(--cms-banner-field-shadow);
outline: 0 none;
}
#menu-bar {
background: var(--cms-menu-bar-colour);
padding: 0 var(--cms-content-side-padding);
}
#toc-menu,
#menu-bar .dropdown-menu  {
--bs-dropdown-link-color: var(--cms-main-link-colour);
--bs-dropdown-link-hover-color: var(--cms-hover-colour);
}
#menu-bar__inner {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
#menu-bar__inner > *:not(:last-child) {
margin-right: 0.75rem;
}
#menu-bar__inner .cms-menu-bar__item {
color: white;
border-color: transparent;
font-size: 100%;
background: transparent;
letter-spacing: 0.2em;
font-variant: small-caps;
font-weight: normal;
padding: 0.1em 0 0.2em 0;
position: relative;
white-space: normal;
text-align: left;
}
.cms-menu-bar__item::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
width: 100%;
height: 3px;
transform: scaleX(0);
background-color: var(--cms-hover-colour);
transition: transform 0.3s;
}
.cms-menu-bar__item.dropdown-toggle.show::before,
.cms-menu-bar__item:focus-visible::before,
.cms-menu-bar__item:hover::before {
transform: scaleX(1);
}
#content {
flex: 1 0 auto;
}
#content-top {
margin-top: 0.75rem;
}
#content-top-rhs {
float: right;
display: flex;
flex-direction: column;
align-items: stretch;
margin-left: 1rem;
}
.cms-loop-control,
[class^="cms-icon-"], [class*=" cms-icon-"] {
font-family: 'cms-icon-font' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
letter-spacing: 0;
-webkit-font-feature-settings: "liga";
-moz-font-feature-settings: "liga=1";
-moz-font-feature-settings: "liga";
-ms-font-feature-settings: "liga" 1;
font-feature-settings: "liga";
-webkit-font-variant-ligatures: discretionary-ligatures;
font-variant-ligatures: discretionary-ligatures;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.cms-icon-close::before {
content: "\e5cd";
}
.cms-icon-top::before {
content: "\f077";
border-top: 0.1em solid currentColor;
}
#scrollup-header-inner,
.cms-page-heading,
.cms-map-frag,
.cms-fragment-heading,
.cms-middle,
.cms-middle-content {
max-width: var(--cms-main-width);
margin-left: auto;
margin-right: auto;
}
.cms-middle-content {
box-sizing: content-box;
padding: 0 var(--cms-content-side-padding);
}
.cms-hidden {
display: none !important;
}
.cms-breadcrumb i {
font-style: normal;
margin: 0 0.2em;
font-weight: bold;
}
#banner-top .cms-breadcrumb__leaf {
color: #ddd;
}
.cms-banner-content .cms-breadcrumb {
display: inline;
}
.cms-banner-content .cms-breadcrumb__group {
display: none;
}
#content-top #breadcrumb {
padding-top: calc(1px + 0.25rem);
margin-right: 5px;
}
.cms-main-breadcrumb {
font-size: 90%;
font-family: 'Montserrat', sans-serif;
}
.cms-main-breadcrumb .cms-home-link::before {
content: "Home";
}
.cms-main-breadcrumb a {
font-weight: normal;
}
.cms-main-breadcrumb .cms-breadcrumb__leaf {
opacity: 0.75;
}
.cms-timestamp-row {
font-family: 'Montserrat', sans-serif;
text-align: right;
}
.cms-timestamp-row span {
font-size: 0.9rem;
font-weight: 300;
}
.cms-timestamp-row span:first-of-type {
color: #666;
font-variant: small-caps;
}
.cms-timestamp-row span:last-of-type {
padding-left: 0.25em;
}
#toc-button {
font-family: 'Montserrat', sans-serif;
font-variant: small-caps;
font-size: 90%;
text-decoration: none;
border: 1px solid var(--cms-content-button-border);
background: transparent;
color: var(--cms-main-link-colour);
min-width: 100%;
padding: .25rem .75rem;
}
#toc-button:focus-visible {
color: white;
background-color: var(--cms-main-link-colour);
}
#toc-menu .dropdown-header:not(:first-child) {
border-top: 1px solid rgba(0, 0, 0, .1);
margin-top: 0.5rem;
}
.cms-page-heading,
.cms-sidebar-header {
font-size:1.5rem;
font-weight: 300;
font-family: 'Montserrat', sans-serif;
line-height: 1.2;
margin-top: 1rem;
margin-bottom: 1rem;
}
.cms-page-heading {
text-align: center;
width: fit-content;
padding: 0 var(--cms-content-side-padding);
box-sizing: content-box;
}
.cms-page-heading__inner {
display: inline-block;
}
#sidebars {
display: none;
width: calc(var(--cms-main-width) +
2 * var(--cms-sidebar-width) +
20px + 2rem);
margin: 0 auto;
}
@media (min-width: 73rem) {
#sidebars {
display: block
}
#content-top-rhs {
display: none;
}
}
#left-sidebar {
float: left;
width: var(--cms-sidebar-width);
box-sizing: border-box;
}
#right-sidebar {
float: right;
width: fit-content;
max-width: var(--cms-sidebar-width);
box-sizing: border-box;
}
#right-sidebar-content {
text-align: right;
padding-left: 1rem;
}
.cms-sidebar-header__label,
#right-sidebar-content div:not(:first-child) {
font-size: 0.9rem;
}
.cms-sidebar-header__label {
font-family: 'Open Sans', sans-serif;
font-variant: small-caps;
letter-spacing: 0.1rem;
}
#left-sidebar-content {
padding-right: 1rem;
font-family: 'Montserrat', sans-serif;
font-size: 0.8rem;
border-right: 1px solid #dbdbdb;
}
#left-sidebar-content a {
display: block;
margin: 0.3em 0 0.6em 0.8em;
font-weight: normal;
}
.cms-sidebar-group {
margin-bottom: 2em;
}
.cms-sidebar-group header {
color: #888;
}
.cms-fragment {
margin: 1em auto 1.75em auto;
}
.cms-fragment--clear-sidebars {
clear: both;
}
.cms-fragment iframe {
width: 100%;
max-height: 100vh;
}
.cms-fragment svg {
max-height: 80vh;
max-width: 100%;
margin: 0 auto;
overflow: visible;
}
.cms-fragment__image-text {
max-width: max-content;
margin: 0 auto;
}
.cms-fragment__text h1,
.cms-fragment__text h2,
.cms-fragment__text h3,
.cms-fragment__text h4,
.cms-fragment__text h5 {
text-align: center;
margin-top: 0.5em;
font-weight: 300;
}
.cms-fragment__text h1,
.cms-fragment__text h2,
.cms-fragment__text h3 {
font-size: 1.5rem;
}
.cms-fragment__text-content nav {
background: #fcfcfc;
padding: 1em;
border: 1px solid #eee;
}
.cms-fragment__text-content img {
max-width: 100%;
}
.cms-fragment__text-content table {
margin: 1em auto;
border: 1px solid #c8c8c8;
}
.cms-fragment__text-content table th {
background-color: #dbdbdb;
border: 1px solid #c8c8c8;
padding: 0.5em;
}
.cms-fragment__text-content table td {
border: 1px solid #c8c8c8;
padding: 0.5em;
}
.cms-fragment__text-content a img {
box-shadow: 3px 3px 10px #aaa;
}
.cms-fragment__text-content > p:last-child {
margin-bottom: 0;
}
.cms-fragment-heading {
text-align: center;
font-size: 1.5em;
margin-bottom: 0.5em;
}
.cms-fragment:nth-of-type(n+2) .cms-fragment-heading {
margin-top: 2rem;
}
.cms-fragment__figure {
width: 100%;
}
.cms-fragment__figure--text-width {
--cms-max-container-width: var(--cms-main-width);
margin: 0 auto;
}
.cms-fragment-link {
position: relative;
padding-right: 1.4em;
padding-left: 1.4em;
}
.cms-fragment-link__here {
position: absolute;
width: 1.3em;
bottom: 0;
font-size: 75%;
text-align: right;
opacity: 0;
transition: opacity 200ms ease-in-out;
}
.cms-fragment-link__here:focus-visible,
.cms-fragment-link:hover > .cms-fragment-link__here {
opacity: 1;
}
.cms-image-loop {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
width: min(100%,
var(--cms-main-width),
var(--cms-max-image-loop-width),
max(100% - var(--cms-image-margins),
var(--cms-min-container-width)));
height: auto;
max-height: clamp(250px, 100vh - 8rem, 125vw);
padding: 0;
border: 0;
margin: 0 auto;
clear: both;
}
.cms-image-loop__image {
position: absolute;
transition: opacity 800ms;
height: auto;
width: auto;
max-height: 100%;
flex: 0 1 auto;
display: block;
box-sizing: border-box;
margin: 0 auto;
box-shadow: 3px 3px 10px #ccc;
text-align: center;
}
.cms-image-loop__image--hidden {
visibility: hidden !important;
opacity: 0;
}
.cms-image-loop__image--faded {
opacity: 0;
}
.cms-image-container {
margin: 0 auto 0.5rem auto;
position: relative;
width: min(100%,
var(--cms-max-container-width),
max(100% - var(--cms-image-margins),
var(--cms-min-container-width)));
--cms-image-ar: 10;
--cms-image-bg: none;
}
.cms-image-container img {
height: auto;
background: var(--cms-image-bg);
max-width: calc((100vh - 5rem) * var(--cms-image-ar));
display: block;
box-sizing: border-box;
margin: 0 auto;
text-align: center;
}
.cms-img-d img {
box-shadow: 3px 3px 10px #ccc;
}
img:not([src]) {
visibility: hidden;
}
.cms-loop-control {
display: block;
padding: 0;
position: absolute;
font-size: 25px;
text-align: center;
color: black;
background: rgba(255, 255, 255, 0.67);
top: 50%;
left: 50%;
right: auto;
width: 50px;
height: 50px;
margin-top: -25px;
margin-left: -25px;
border-radius: 50%;
border: 0;
}
.cms-loop-control--faded {
opacity: 0;
transition: opacity 600ms;
}
@keyframes cms-rotate {
to {transform: rotate(360deg);}
}
@keyframes cms-border-toggle {
0% {
border-color: transparent transparent #606060 #606060;
}
50% {
border-color: #ddd  #ddd transparent transparent;
}
}
.cms-loop-control::before {
display: block;
box-sizing: border-box;
height: 100%;
width: 100%;
border-radius: 50%;
border: 5px solid transparent;
border-color: #606060 #606060 #ddd #ddd;
animation: 6s linear infinite cms-rotate;
content: "";
}
.cms-loop-control.cms-paused::before {
animation-play-state: paused;
}
.cms-loop-control::after {
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
line-height: 40px;
content: "\e034";
box-sizing: border-box;
border-radius: 50%;
border: 5px solid transparent;
animation: 6s steps(1) infinite cms-border-toggle;
}
.cms-loop-control.cms-paused::after {
content: "\e037";
animation-play-state: paused;
}
.cms-loop-control + .visually-hidden::before {
content: "Slideshow running";
}
.cms-loop-control.cms-paused + .visually-hidden::before {
content: "Slideshow paused";
}
#gallery-container {
display: flex;
flex-direction: column;
flex: 1 0 auto;
min-height: 100lvh;
}
.cms--gallery-banner {
max-width: var(--cms-gallery-banner-width);
}
#gallery-slider {
flex: 1 0 auto;
margin: var(--cms-gallery-slider-top-margin) auto 0;
width: 100%;
max-width: var(--cms-gallery-slider-max-width);
position: relative;
}
#gallery-slider .cms-fragment {
margin-top: 1rem;
}
.cms-slider-control {
pointer-events: auto;
position: absolute;
z-index: 10;
cursor: pointer;
background-image: url("/_static/1.42/photo_cms/images/arrows.svg");
background-repeat: no-repeat;
background-size: 50px;
width: 25px;
height: 75px;
margin: 1rem 0 0 0;
top: var(--cms-gallery-control-top-offset);
}
a[href="./"].cms-slider-control {
display: none;
}
a[href="./"].cms-slider-control .visually-hidden::before {
content: "Up: ";
}
.cms-slider-control--prev {
left: var(--cms-gallery-control-inset);
right: auto;
background-position: -25px 0px;
}
.cms-slider-control--prev:hover {
background-position: 0px 0px;
}
.cms-slider-control--next {
right: var(--cms-gallery-control-inset);
left: auto;
background-position: -25px -77px;
}
.cms-slider-control--next:hover {
background-position: 0px -77px;
}
#gallery-page-close {
font-size: 150%;
margin: 0;
line-height: 2rem;
flex: 0 0 auto;
display: inline-block;
}
#gallery-page-close > * {
font-weight: bold;
}
.swiper-slide:not(.swiper-slide-active) button,
.swiper-slide:not(.swiper-slide-active) a {
visibility: hidden;
}
.swiper-slide:not(.swiper-slide-active) figcaption,
.swiper-slide:not(.swiper-slide-active) .cms-fragment__text {
visibility: hidden;
opacity: 0;
}
.swiper-slide-active figcaption,
.swiper-slide-active .cms-fragment__text {
visibility: visible;
opacity: 1;
transition: visibility 0s linear 0s, opacity 800ms;
}
.swiper-slide .cms-fragment {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.swiper-slide .cms-caption {
margin: 1rem 0 0 0;
font-weight: 300;
}
.swiper-slide .cms-fragment__text-content {
margin: 1rem auto 0 auto;
color: #666;
}
.swiper-slide .cms-footnote {
margin: 0.5rem auto 0 auto;
}
@media (max-width: 1226px) {
#gallery-slider .cms-slider-control {
display: none;
}
#gallery-slider .cms-image-container img {
box-shadow: none;
}
#gallery-slider .cms-slider-content-next,
#gallery-slider .cms-slider-content-prev {
display: inline-block;
}
#gallery-container #gallery-slider {
margin-top: 0;
}
}
.cms-swiper-container {
width: 100%;
position: relative;
margin: 0 auto;
max-width: var(--cms-swiper-max-width);
}
.cms-home-inner {
vertical-align: middle;
display: inline-flex;
font-family: existencelight;
letter-spacing: 0.15em;
align-items: center;
}
.cms-home-inner a {
font-size: 1.2rem;
padding: 0.1em 0.5em;
border-radius: 1em;
height: 100%;
}
@media (max-width: 360px) {
.cms-home-inner a {
font-size: 16px;
}
}
.cms-home-inner a:any-link {
background: #444;
color: white;
}
.cms-home-inner a:hover {
color: var(--cms-hover-colour);
}
.cms-home-inner span {
font-weight: 400;
}
.cms-home-inner b {
font-weight: 700;
}
.cms-icon-menu::before {
content: "\e5d2";
}
#site-menu-button {
position: relative;
display: inline-block;
flex: 0 0 auto;
}
#site-menu-button.cms-expanded::after {
color: white;
display: block;
position: absolute;
left: calc(50%   -  0.5em);
top: 100%;
height: 0;
width: 0;
content: "";
border-bottom: 1em solid;
border-right: 0.5em solid transparent;
border-top: 0;
border-left: 0.5em solid transparent;
}
#site-menu-container {
overflow: hidden;
visibility: hidden;
max-height: 0;
transition: max-height 250ms steps(1, end), visibility 250ms steps(1, end);
}
#site-menu-container.cms-expanded {
visibility: visible;
max-height: 9999rem;
transition: none;
}
#site-menu {
background: white;
clear: both;
text-align: left;
border-radius: 5px;
max-width: 1200px;
margin: 0 auto;
margin-bottom: 5px;
overflow: hidden;
position: relative;
transform: translateY(-100%);
transition: transform 250ms;
}
#site-menu-container.cms-expanded #site-menu {
transform: translateY(0);
}
#site-menu .cms-site-menu-control {
float: right;
padding: 2px;
border: 1px solid #ccc;
border-radius: 6px;
display: block;
margin: 0 4px 4px 4px;
}
#site-menu ul  {
padding-left: 2rem;
}
#site-menu ul ul  {
padding-left: 1rem;
}
#site-menu .cms-submenu-group > ul {
padding-left: 0;
}
#site-menu > p {
margin: 0.5rem 0 0.5rem 1rem;
}
#site-menu li  {
display: block;
}
#site-menu li li li {
display: inline-block;
}
#site-menu > ul > li > h4 {
margin-left: -1em;
margin-right: 0.5em;
padding-left: 1em;
letter-spacing: 0.2em;
font-variant: small-caps;
font-size: 1.2em;
background: #eee;
}
#site-menu li li h4 {
font-size: 1.1em;
margin: 0;
}
#site-menu li li.cms-submenu-group {
border-left: 5px solid #eee;
padding-left: 5px;
}
#site-menu li li.cms-submenu-group:not(:last-child) {
margin: 0 1em 0.5em 0;
}
#site-menu a {
margin-right: 1.5em;
}
#site-menu > ul > li  {
margin-bottom: 1em;
}
#footer {
flex: 0 0 auto;
color: white;
background: #222;
padding: 1em 0;
clear: both;
}
.cms-link-row {
text-align: center;
display: flex;
justify-content: center;
overflow: hidden;
}
#footer-line {
text-align: center;
margin: 0.5em auto 0.5em auto;
font-size: 75%;
}
.cms-link-row a {
flex: initial;
border-left: 1px solid white;
padding: 0 0.5em;
}
.cms-link-row a:first-of-type {
border-left: none;
}
.cms-thumb {
background-repeat: no-repeat;
background-color: #eee;
border-color: #aaa;
border-style: solid;
border-width: 1px;
box-shadow: 3px 3px 10px #aaa;
display: block;
box-sizing: content-box;
}
.cms-thumb.cms-thumb--default {
max-width: calc(100% - 2px);
border-width: 0;
height: 100px;
width: 100px;
background: no-repeat right/contain url('/_static/1.42/photo_cms/images/favicon-180x180.png');
}
.cms-child-nav--circular_thumbs .cms-thumb {
border-radius: 50%;
}
a .cms-thumb {
cursor: pointer;
}
a:hover .cms-thumb {
box-shadow: 3px 3px 10px #555;
opacity: 0.8;
transition: box-shadow 200ms, opacity cubic-bezier(.42,1.85,.9,1.65) 200ms;
}
a:active .cms-thumb {
opacity: 0.5;
}
.cms-page-nav {
flex: 0 0 auto;
clear: both;
margin: 1.5rem auto 0.5rem auto;
width: 100%;
display: flex;
justify-content: space-between;
align-items: flex-start;
font-family: 'Montserrat', sans-serif;
}
.cms-page-nav--article {
max-width: calc(42em + 20px);
padding: 0 var(--cms-content-side-padding);
}
.cms-slider-content-prev:hover,
.cms-slider-content-next:hover {
color: var(--cms-hover-colour);
}
.cms-slider-content-prev:focus-visible,
.cms-slider-content-next:focus-visible {
color: white;
background-color: var(--cms-main-link-colour);
}
.cms-slider-content-prev,
.cms-slider-content-next {
display: none;
background: rgba(0, 0, 0, 0.5);
border: 1px solid #bbb;
text-decoration: none;
color: white;
border-radius: 50%;
padding: 0;
font-family: 'cms-icon-font' !important;
font-size: calc(var(--cms-gallery-nav-button-size) - 4px);
font-weight: bold;
height: var(--cms-gallery-nav-button-size);
width: var(--cms-gallery-nav-button-size);
line-height: var(--cms-gallery-nav-button-size);
position: absolute;
top: calc(clamp(20%, 33vmin, 50%) - var(--cms-gallery-nav-button-size) / 2);
}
.swiper-wrapper:not(.cms-user-activity) .swiper-slide-active .cms-slider-content-prev {
left: calc(-2 * var(--cms-gallery-nav-button-size));
visibility: hidden;
transition: left var(--cms-gallery-nav-button-transition),
visibility var(--cms-gallery-nav-button-transition);
}
.swiper-wrapper.cms-user-activity .cms-slider-content-prev {
left: calc(var(--cms-gallery-nav-button-size) / 3);
transition: left var(--cms-gallery-nav-button-transition);
}
.swiper-wrapper:not(.cms-user-activity) .swiper-slide-active .cms-slider-content-next {
right: calc(-2 * var(--cms-gallery-nav-button-size));
visibility: hidden;
transition: right var(--cms-gallery-nav-button-transition),
visibility var(--cms-gallery-nav-button-transition);
}
.swiper-wrapper.cms-user-activity .cms-slider-content-next {
right: calc(var(--cms-gallery-nav-button-size) / 3);
transition: right var(--cms-gallery-nav-button-transition);
}
.swiper-slide:first-of-type .cms-slider-content-prev,
.swiper-slide:last-of-type .cms-slider-content-next {
visibility: hidden;
}
.cms-slider-content-next::after {
content: "\e409";
}
.cms-slider-content-prev::after {
content: "\e408";
}
.cms-page-nav a {
font-weight: normal;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}
.cms-page-nav__prev,
.cms-page-nav__up,
.cms-page-nav__next {
flex: 0 1 15em;
position: relative;
min-height: 1rem;
}
.cms-page-nav__prev {
text-align: left;
padding-left: 1.2em;
}
.cms-page-nav__next {
text-align: right;
padding-right: 1.2em;
}
.cms-page-nav__up {
text-align: center;
padding: 0 0.5em;
}
.cms-page-nav__up:first-child:last-child {
flex: auto;
padding: 0;
}
.cms-page-nav__next a::after,
.cms-page-nav__prev a::before,
.cms-page-nav__up a::before {
display: inline-block;
height: auto;
width: auto;
min-width: 1.2em;
font-family: 'cms-icon-font' !important;
}
.cms-page-nav__next a::after {
position: absolute;
top:0;
content: "\e409";
right: 0;
}
.cms-page-nav__prev a::before {
position: absolute;
top:0;
content: "\e408";
left: 0;
}
.cms-page-nav__prev.cms-page-nav--parent a::before,
.cms-page-nav__next.cms-page-nav--parent a::after,
.cms-page-nav__up a::before {
left: 0;
font-family: sans-serif;
content: "\2191";
}
.cms-node-timestamp {
font-family: 'Open Sans', sans-serif;
color: var(--cms-timestamp-colour);
float: right;
margin-left: 1rem;
font-weight: normal;
}
.cms-changelog {
padding: 0;
display: flex;
flex-direction: column;
}
.cms-changelog__entry {
list-style-type: none;
padding-top: 1em;
}
.cms-changelog__thumbs {
float: left;
width: 132px;
margin-right: 1em;
}
.cms-changelog__thumbs .cms-thumb {
margin: 0 0 0.2em auto;
}
.cms-changelog__heading-container {
display: flow-root;
}
.cms-changelog__heading {
font-size: 1.1rem;
margin: 0 0 0.25rem 0;
}
.cms-changelog__heading a {
font-weight: bold;
color: var(--cms-second-link-colour);
}
.cms-changelog__heading a:hover {
color: var(--cms-hover-colour);
}
.cms-changelog__heading a:not(:last-child)::after {
content: ", ";
}
.cms-changelog__detail {
display: inline;
}
.cms-changelog__suffix,
.cms-changelog--inline .cms-changelog__item {
display: inline;
}
.cms-changelog--list .cms-changelog__thumbs {
margin-right: 1.8em;
}
.cms-changelog--list .cms-changelog__heading {
margin-left: -0.8em;
}
.cms-changelog--list .cms-changelog__item {
display: block;
margin-bottom: 0.5em;
padding-left: 0.8em;
}
.cms-changelog--list .cms-changelog__item::before {
margin-left: -0.8em;
width: 0.4em;
margin-right: 0.4em;
height: 0.4em;
border-radius: 0.2em;
background: currentColor;
display: inline-block;
content: "";
vertical-align: middle;
color: var(--cms-list-marker-colour);
}
@media (max-width: 380px) {
.cms-changelog__heading {
display: none;
}
.cms-changelog__heading-container .cms-node-timestamp {
float: left;
margin-left: 0;
font-weight: bold;
}
.cms-changelog--list .cms-changelog__heading-container .cms-node-timestamp {
margin-left: -0.8em;
}
}
.cms-map-frag > * {
display: block;
text-align: center;
margin-left: auto;
margin-right: auto;
}
.cms-map-frag__small {
margin-top: 0.5em;
width: fit-content;
margin-bottom: 1em;
font-size: 80%;
padding: 0 var(--cms-content-side-padding);
text-wrap: balance;
}
.cms-gallery-footer,
.cms-gallery-nav {
width: 100%;
max-width: calc(160px * var(--cms-gallery-max-columns));
display: grid;
grid-template-columns: repeat(auto-fill, 160px);
padding: 0;
margin: 0 auto 1rem auto;
align-items: center;
justify-content: center;
}
.cms-gallery-footer__row {
grid-column: 1 / -1;
}
.cms-gallery-nav a {
display: block;
}
.cms-gallery-nav li {
display: block;
margin: 4px;
}
.cms-gallery-nav  .cms-thumb {
margin: 0 auto 0 auto;
}
.cms-group-heading {
font-size: 1.2rem;
margin-bottom: 1rem;
margin-top: 0.5rem;
}
.cms-group-heading--home {
font-size: 1.2rem;
margin-bottom: 1rem;
margin-top: 0.5rem;
display: flex;
flex-direction: row;
font-variant: small-caps;
letter-spacing: 0.2em;
text-align: center;
}
.cms-group-heading--home::before,
.cms-group-heading--home::after {
content: "";
flex: 1 1 0.5rem;
border-bottom: 1px solid #dbdbdb;
margin: auto 0;
}
.cms-group-heading--home span::before,
.cms-group-heading--home span::after {
content: "";
background: #ccc;
height: 0.5rem;
width: 0.5rem;
flex: 0 0 0.5rem;
margin: auto 1rem;
transform: scaleY(0.5) rotate(45deg);
}
@media (max-width: 18rem) {
.cms-page-nav__next,
.cms-page-nav__prev,
.cms-group-heading--home span::before,
.cms-group-heading--home span::after {
display: none;
}
.cms-page-nav__up {
flex-grow: 1;
}
}
.cms-group-heading--home span {
display: flex;
flex: 0 0 auto;
width: min-content;
min-width: min-content;
max-width: max-content;
}
.cms-child-nav:not(:last-child)::after  {
content: "";
width: 50%;
display: block;
margin: 1rem auto 2rem auto;
border-bottom: 1px solid #dbdbdb;
}
.cms-branch-nav {
padding: 0 0 0 1rem;
list-style: none;
display: flex;
flex-direction: column;
margin: 0;
}
.cms-branch-nav.cms-branch-nav--home {
padding-left: 0
}
.cms-branch-nav__thumb {
display: flex;
justify-content: flex-start;
align-items: flex-end;
margin-bottom: 1rem;
flex-wrap: wrap-reverse;
}
a.cms-branch-nav__label {
font-weight: bold;
color: var(--cms-second-link-colour);
font-size: 1.4rem;
}
a.cms-branch-nav__label:hover {
color: var(--cms-hover-colour);
}
.cms-child-nav--circular_thumbs .cms-branch-nav__thumb,
.cms-branch-nav--home .cms-branch-nav__thumb {
align-items: center;
}
.cms-branch-nav--home a.cms-branch-nav__label {
font-size: 1.2rem;
font-family: Montserrat;
font-weight: normal;
letter-spacing: 0.05em;
font-variant: small-caps;
}
.cms-branch-nav__thumb-container {
flex: 0 0 auto;
width: 152px;
margin: 0 1em 0.2em 0;
}
.cms-branch-nav__thumb .cms-branch-nav__detail {
flex: 1 0 12em;
}
.cms-branch-nav__thumb  .cms-thumb {
margin: 0 0 0 auto;
}
.cms-branch-nav__text {
margin-bottom: 0.5rem;
}
.cms-branch-nav__text .cms-branch-nav__detail {
display: inline;
}
.cms-branch-nav__text:last-child {
margin-bottom: 1rem;
}
.cms-branch-nav__text::before {
color: #bbb;
font-size: 1.25em;
line-height: 0.8;
content: '\2022';
display: inline-block;
width: 1rem;
margin-left: -1rem;
text-align: center;
vertical-align: middle;
}
.cms-caption {
text-align: center;
font-size: 1.2rem;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
color: inherit;
line-height: 1.3;
}
.cms-footnote {
color: #666;
margin: 0.4rem auto 0 auto;
font-size: 80%;
text-align: center;
line-height: 1.875;
}
.cms-footnote > * {
display: inline-block;
text-align: left;
}
.cms-footnote a {
font-weight: normal;
}
