@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Text:wght@300;400;500;600;700&display=swap');

@page {
	size: letter;
}

#menu-button, 
#css-only-menu-button,
.navigation,
.image_mainHeader,
.flexContentLeftSidebar > *:nth-child(1),
.flexContentRightSidebar > *:nth-child(2),
.banner_mainArticleContent,
.container-cta,
.text_cta,
.image_mainFooter,
.top-of-page-link,
.email,
#svg-inline {
	display: none;
}

.logo-header {
	width: 30%;
	margin-bottom: 1.25rem;
}

body {
	height: min-content;
	font-family: 'Red Hat Text', sans-serif;
    font-size: 1.15rem;
	margin:0;
	padding:0;
}

.heading_mainHeader {
    font-size: clamp(1.25rem,7.5vw,2rem);
    font-weight: 600;
    text-align: center;
    width: auto;
    max-width: 45ch;
    border-bottom: 1px solid lightslategray;
    padding: 1rem 0.25rem 0.5rem 0.25rem;
    margin: 0 auto;
    z-index: 1;
}

.subtext_mainHeader {
    width: 100%;
    max-width: 60ch;
    text-align: center;
    font-size: clamp(1.15rem,4.5vw,1.65rem);
    padding: 1rem 0.25rem 1.5rem 0.25rem;
    margin: 0 auto;
    z-index: 1;
}

.heading_mainArticleContent {
    font-size: clamp(1.15rem,6vw,1.5rem);
    font-weight: 700;
    text-align: center;
    padding: 1.15rem 0 1.15rem 0;
	border-top: 1px solid lightslategray;
	border-bottom: 1px solid lightslategray;
}

.subHeading_mainArticleContent {
    font-size: clamp(1.15rem,3.5vw,1.35rem);
    font-weight: 500;
    text-align: center;
}

/* TEXT CONTENT & LEFT IMAGE SIDEBAR */
.flexContentLeftSidebar {
	display: inline;
}

.flexContentLeftSidebar > *:nth-child(2) {
    height: auto;
    margin-bottom: 0;
}

/* TEXT CONTENT & RIGHT IMAGE SIDEBAR */
.flexContentRightSidebar {
	display: inline;
}

.flexContentRightSidebar > *:nth-child(1) {
    height: auto;
    padding-bottom: 0;
    margin-bottom: 0;
}

/* GALLERY SPECIFICATIONS MULTI-COLUMN TEXT BLOCK */
.multiColumnGallerySpecs {
    display: flex;
    flex-flow: row wrap;
    align-content: start;
    justify-content: center;

    column-count: 2;
    column-width: clamp(20ch,30ch,35ch);
    column-rule: 1px solid lightslategray;
    column-gap: 3.5rem;
    margin: 0 auto;
    /*padding: 1.15rem 0;*/
}
.multiColumnGallerySpecs > * {
    width: 36ch;
    max-width: 100%;
}

@media (max-width: 40ch) {
    .multiColumnGallerySpecs {
    column-count: 1;
  }
}

.lightbox {
	page-break-inside: avoid;
}

/* FLEXBOX CARD LAYOUT */
.cards_3wideflex {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    padding-bottom: 1rem;
    width: 100%;
}

.card_3wideflexcards {
    flex: 0 1 30%;
    height: max-content;
    width: clamp(30ch,25vw,35ch);
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 0.25rem;
    justify-content: space-between;
    text-decoration: none;
}

.thumbnail_img_card {
    object-fit: cover;
    width: 100%;
    height: 100%;
    }

.fotorama_3widecard {
    align-self: center;
    flex: 0 1 100%;
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
}

.textContainer_card {
    display: flex;
    flex-flow: column wrap;
    align-items: center;
    max-width: 100%;
}

.header_card {
    text-align: center;
    font-weight: 700;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 1rem 0 0.5rem 0;
	color: black;
}

.paragraph_card {
    text-align: center;
    font-weight: normal;
    max-width: 80%;
    margin: 0;
    padding: 0.5rem 0 1rem 0;
	color: black;
}

/* THUMBNAILS GALLERY LAYOUT */
.thumbnail_gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
    gap: 0.25rem;
    margin: 0;
    padding: 0.25rem;
}

/* THUMBNAIL IMAGE W/ TEXT OVERLAY */
.image__thumbnail {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.image__img {
    display: block;
    width: 100%;
}

.image__title {
    font-size: clamp(1rem,4.5vw,1.05rem);
    font-weight: 700;
	text-decoration: none;
    margin: 0;
    padding: 0.1rem;
    width: auto;
}

.image__description {
    font-size: clamp(1rem,3vw,1.15rem);
	text-decoration: none;
    margin: 0;
    padding: 0.1rem;
}

.heading_mainFooter {
    font-size: clamp(1.25rem,6vw,2rem);
    font-weight: 600;
    text-align: center;
    width: 100%;
    margin: 0 auto;
	padding: 1.15rem 0 1.15rem 0;
	border-top: 1px solid lightslategray;
	border-bottom: 1px solid lightslategray;
}
/*FOOTER SECTION STYLES ------------------*/
/*--------------------------------------*/
footer.page-footer {
    position: relative;
    box-sizing: border-box;
    width: clamp(275px,100%,100%);
    height: auto;
    margin: 0;
    display: flex;
    flex-flow: row nowrap;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
}

#flex-footer {
    position: relative;
    box-sizing: border-box;
    width: clamp(275px,100%,100%);
    margin: 0;
    /*GRID DEFINITION*/
    display: grid;
    grid: "breadcrumbnav breadcrumbnav"
            "address topofpagelink"
            "copyright copyright"
            /   auto auto;    
}

#flex-footer>nav.breadcrumb-nav {
    position: relative;
    grid-area: breadcrumbnav;
    justify-self: stretch;
    align-self: center;
}

#flex-footer > .footer-content {
    position: relative;
    grid-area: address;
    justify-self: start;
    align-self: start;
}

#flex-footer > .footer-sidebar {
    position: relative;
    grid-area: topofpagelink;
    justify-self: end;
    align-self: start;
}

#flex-footer > .copyright {
    position: relative;
    grid-area: copyright;
    justify-self: end;
    align-self: center;
}

.breadcrumb-nav ol {
    align-content: center;
    justify-content: center;
    text-align: center;
    margin: 0;
    padding: 0;
    padding-top:.25rem;
    padding-bottom: 0.5rem;
}

.breadcrumb-nav li {
    display: inline-block;
    margin: 0;
    padding: 0;
}

.breadcrumb-nav li:first-child::before {
    content: "";
    margin: 0;
    padding: 0;
}

.breadcrumb-nav li::before {
    content: "> ";
    margin: 0;
    padding: 0;
}

.footer-address-block {
    text-align: left;
}

a.link-logo-footer {
    position: relative;
    margin: 0;
    padding: 0;
}

svg.logo-footer {
    position: relative;
    top: 0%;
    left: 0%;
    margin: auto;
}

address {
    margin: 1rem 0;
    margin-bottom: 0;
    padding: 0;
}

.address-footer {
    margin: 0;
    padding: 0;
}

.email-link {
    padding-right: 4rem;
    padding-bottom: 2rem;
}

.email-icon {
    display: inline-block;
    width: 1.75rem;
    vertical-align: text-top;
    margin: 0.25rem 0.6rem;
}

.copyright {
    display: inline;
    margin: 0;
    padding-top: 0.25rem;
    padding-bottom: 0.5rem;
    text-align: right;
}

.page-footer {
    background-color: var(--colour-footer);
    color: var(--colour-text);
    border-top: 1px solid var(--colour-secondaryaccents);
}

.breadcrumb-nav ol {
    border-bottom: 1px solid var(--colour-secondaryaccents);
}

.breadcrumb-nav li {
    font-family: 'Red Hat Text', sans-serif;
    font-weight: 500;
    font-size: 0.85rem;
}

.breadcrumb-nav a {
    color: var(--colour-primaryaccents);
    font-family: 'Red Hat Text', sans-serif;
    font-weight: 500;
    font-size: 0.85rem;
}

svg.logo-footer {
    width: 7rem;
}

address a {
    text-decoration: none;
    font-family: 'Red Hat Text', sans-serif;
    font-weight: 400;
    color: var(--colour-text);
}

a.address-footer:first-child {
    margin-bottom: 0.125rem;
}

.address-footer {
    font-style: normal;
    font-family: 'Red Hat Text', sans-serif;
    font-weight: 400;
    font-size: 1rem;
}

span.phonenumber {
    font-weight: 700
}

.copyright {
    color: var(--colour-text);
    font-family: 'Red Hat Text', sans-serif;
    font-size: 1rem;
    font-weight: 300;
}

.semibold {
    font-weight: 600;
}

.bold {
    font-weight: 700;
}

.italic {
    font-style: italic;
    padding-right: 0.25rem;
}

.underline {
    text-decoration: underline;
}

.bold_italic {
    font-weight: 700;
    font-style: italic;
}

.centered_bold_italic {
    text-align: center;
    font-weight: 700;
    font-style: italic;
}