:root {
	--c-black: #000;
	--c-white: #fff;
	--c-almost-black: #121212;
	--c-almost-white: #f8f4f0;
	--c-light-grey: #d7d7d7;
	--c-dark-grey: #404040;
}

/* DEV-UTILITY: Accessible visibility */
.no-display, .visuallyhidden { border: 0; clip: rect(0 0 0 0); -webkit-clip-path: inset(50%); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap;}

/* DEV-STYLE: ST-001
   NAME: Global document and link presentation
   FOR: SHARED
   ACTIVE: yes
*/
body { background-color: var(--body-bg-color); color: var(--body-color); }

a { color: var(--link-color); transition: all .2s ease-in-out;}
a:hover, a:active, a:focus { color: var(--link-hover-color)}


.legal-row .layout-wrap { padding: 0 1.6rem; border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px; border-top: 1px solid var(--c-grey);padding-top: 1rem }


#mainContent .content-wrap { background-color: #fff; border-radius: 10px;}


/*
  banner layout treatment
*/
.banner {  background-color: var(--banner-row-bg-color) } 
.banner .layout-wrap { background-color: var(--banner-layoutrow-bg-color);  } 


/* DEV-STYLE: ST-025
   NAME: Standard banner
   FOR: CB-003, CB-007
   ACTIVE: yes
*/
.site-title { color: var(--bnr-title-color); font-size: var(--bnr-title-size); font-weight: var(--bnr-title-weight); }
.site-strapline { color: var(--bnr-strapline-color); font-size: var(--bnr-strapline-size); font-weight: var(--bnr-strapline-weight); }

/* Site branding */
.site-branding { 
	--branding-gap: 2rem;
    --branding-logo-gap: 2rem;
    --branding-logo-max-width: 12rem;

    width: 100%;
}

/* ---------------------------------------------------------
   Shared logo behaviour
   --------------------------------------------------------- */
.site-branding .logos { display: grid;grid-auto-flow: column;grid-auto-columns: auto;justify-content: start;align-items: center;gap: var(--branding-logo-gap);}
.site-branding .logos a {display: block;width: auto;}
.site-branding .logos img {display: block;width: clamp(40rem, 12vw, var(--branding-logo-max-width));max-width: 100%;height: auto;}
.site-branding { text-decoration: none;}
/* ---------------------------------------------------------
   Logos above title
   --------------------------------------------------------- */
.site-branding.logos-above {display: grid;gap: var(--branding-gap);}

/* ---------------------------------------------------------
   Logos alongside title
   --------------------------------------------------------- */
.site-branding.logos-inline {display: grid;grid-template-columns: auto minmax(0, 1fr);align-items: center;gap: var(--branding-gap);}



/* ---------------------------------------------------------
   Optional normal mobile stacking
   --------------------------------------------------------- */
@media (max-width: 700px) {

    /* Only components explicitly given .mobile-stack change layout at the normal mobile breakpoint.*/
    .site-branding.mobile-stack .logos {grid-auto-flow: row;grid-template-columns: 1fr;}

    /* For logo-inline, also move the title underneath when mobile stacking has been requested.*/
    .site-branding.logos-inline.mobile-stack {grid-template-columns: 1fr;align-items: start;}

    /* Default stacked alignment is left */
    .site-branding.mobile-stack .logos {justify-items: start;}
    .site-branding.mobile-stack .brand-copy {text-align: left;}

    /* Optional centred stacked treatment */
    .site-branding.mobile-stack.mobile-stack-center .logos {justify-items: center;}
    .site-branding.mobile-stack.mobile-stack-center .brand-copy {text-align: center;}
}

/* ---------------------------------------------------------
   Forced narrow-screen fallback
   --------------------------------------------------------- */
@media (max-width: 420px) {
    /* At very narrow widths, always stack the logos, regardless of whether .mobile-stack is present. */
    .site-branding .logos { grid-auto-flow: row; grid-template-columns: 1fr;}

    /* An inline branding layout also becomes one column because there is no longer enough useful horizontal space for logos + title. */
    .site-branding.logos-inline {grid-template-columns: 1fr;align-items: start;}

    /* Default forced-stack alignment */
    .site-branding .logos {justify-items: start;}
    .site-branding .brand-copy {text-align: left;}

    /* Preserve centred preference if requested */
    .site-branding.mobile-stack-center .logos {justify-items: center;}
    .site-branding.mobile-stack-center .brand-copy { text-align: center; }
}




/* Banner actions */
.banner-actions { display: flex; gap: 1rem; }

/* Actions stacked vertically */
.banner-actions.stacked { flex-direction: column; }

/* Actions side by side */
.banner-actions.inline { flex-direction: row; flex-wrap: wrap; }

/* Action links */
.banner-actions a { display: flex; align-items: center; gap: 0.75rem; min-width: 0; padding: 1rem 1.25rem; font-weight: 700; line-height: 1.2; text-decoration: none; }

/* Optional icon */
.banner-actions a img,
.banner-actions a svg { flex: 0 0 auto; }

/* Allow stacked actions to fill their column */
.banner-actions.stacked a { width: 100%; }

/* Small screens */
@media (max-width: 700px) {
    .banner-actions.inline { flex-direction: column; }
    .banner-actions.inline a { width: 100%; }
}


/* DEV-STYLE: ST-037
   NAME: Partner carousel composition
   FOR: CB-004
   ACTIVE: yes
*/
.carousel-row { margin-bottom: 40px;}
.carousel-row  div.title { text-align: center; margin-bottom: 1.2rem; font-size: 1.5rem; color: var(--crsl-title-color) }




/* DEV-STYLE: ST-029
   NAME: Social links
   FOR: CB-013
   PREFIX: soc
   ACTIVE: yes
*/

/* social media links */


a.social {
	position: relative;
	display: block;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	padding: 0;
	margin: 0;
	text-indent: -9999px;
	overflow: hidden;
	background-color: transparent;
	color: var(--soc-icon-txt-color);
}

a.social::before {
	content: "";
	position: absolute;
	inset: 0;

	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

[data-theme="light"],
[data-theme="hclight"] {
	a.social.twitter::before { background-image: url("../img/icons/icon-x-twitter-dark.png"); }
	a.social.rss::before { background-image: url("../img/icons/icon-rss-feed-dark.png"); }
	a.social.facebook::before { background-image: url("../img/icons/icon-facebook-dark.png"); }
	a.social.linkedin::before { background-image: url("../img/icons/icon-linkedin-dark.png"); }
	a.social.instagram::before { background-image: url("../img/icons/icon-instagram-dark.png"); }
}
[data-theme="dark"],
[data-theme="hcdark"] {
	a.social.twitter::before { background-image: url("../img/icons/icon-x-twitter-light.png"); }
	a.social.rss::before { background-image: url("../img/icons/icon-rss-feed-light.png"); }
	a.social.facebook::before { background-image: url("../img/icons/icon-facebook-light.png"); }
	a.social.linkedin::before { background-image: url("../img/icons/icon-linkedin-light.png"); }
	a.social.instagram::before { background-image: url("../img/icons/icon-instagram-light.png"); }
}


/* DEV-STYLE: ST-035
   NAME: Back-to-top control
   FOR: CB-005
   PREFIX: bu
   ACTIVE: yes
*/

/* back to top */
.back-up-row {  margin-top: 3rem; }
.back-up-row .layout-wrap { text-align: center; background-color: var(--bkup-bg-color); padding: 2rem 0; border-top-left-radius: 10px;border-top-right-radius: 10px;}
.back-up{ color: var(--bkup-txt-color); text-decoration: none; padding: 0; position: relative; display: inline-block; }


[data-theme="light"],
[data-theme="hclight"] {
	.back-up:before {	background-image: url(../img/icons/icons-back-to-top-dark.png);  }
}
[data-theme="dark"],
[data-theme="hcdark"]  {
	.back-up:before {	background-image: url(../img/icons/icons-back-to-top-light.png); }
}





/* DEV-STYLE: ST-081
   NAME: Logo row
   FOR: SHARED
   VARIANT: .logo-row
   ACTIVE: no
*/
.logo-row .layout-wrap { background-color: var(--lr-bg-color); padding: 1em 0 }
/*.logo-row img { margin-left: 2rem; max-width: 100%;} */

/* DEV-STYLE: ST-002
   NAME: Page-row surface system
   FOR: SHARED
   ACTIVE: yes
*/
.top-row { background-color: var(--top-row-bg-color) }
.top-row .layout-wrap { background-color: var(--top-layoutrow-bg-color) }
.search-row {  background-color: var(--search-row-bg-color);}
.search-row .layout-wrap {  background-color: var(--search-layoutrow-bg-color); padding: 0 1rem 1rem 1rem; border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px; }
.nav-row {  background-color: var(--nav-row-bg-color) }
.nav-row .layout-wrap {  background-color: var(--nav-layoutrow-bg-color) }
.content-row { background-color: var(--content-row-bg-color) }
.content-row .layout-wrap { background-color: var(--content-layoutrow-bg-color) }

/* DEV-STYLE-CONTINUATION: ST-034 */
.footer-row { background-color: var(--footer-row-bg-color); color: var(--footer-txt-color); padding: 0 0 2.5rem 0;}
.footer-row .layout-row { background-color: var(--footer-row-bg-color); }
.footer-row .layout-row .layout-wrap { background-color: var(--footer-layout-wrap-bg-color); }

.footer-row a { color: var(--footer-link-color); transition: all .2s ease-in-out; text-decoration: var(--footer-link-decoration)}

.footer-row a:hover, 
.footer-row a:active, 
.footer-row a:focus { color: var(--footer-link-hover-color); text-decoration: var(--footer-link-hover-decoration)}

/* DEV-STYLE: ST-020
   NAME: Content metadata
   FOR: SHARED
   PREFIX: cnt
   ACTIVE: yes
*/

/* content specific */

.issue-title { color: var(--cnt-issue-title-txt-color); font-size: 1rem; background-color: var(--cnt-issue-title-bg-color); padding: 1rem; margin-bottom: 1rem }

.pub-date { display: block; margin: 1rem 0; color: var(--cnt-pub-date-txt-color)}


/* DEV-STYLE: ST-076
   NAME: Slick carousel controls
   FOR: SHARED
   PREFIX: crsl
   ACTIVE: yes
*/

/* carousel and buttons */

.slick-loading .slick-list { background: #fff url('./ajax-loader.gif') center center no-repeat; }
.slick-list { margin: 0 3rem 0 2.5rem }

.slick-prev,
.slick-next { font-size: 0;line-height: 0;position: absolute;top: 50%;display: block;padding: 0;-webkit-transform: translate(0, -50%);-ms-transform: translate(0, -50%);transform: translate(0, -50%);cursor: pointer;border: none;outline: none;background: transparent;
   color: var(--icon-btn-txt-color);width: var(--crsl-btn-size);height: var(--crsl-btn-size);
}
.slick-prev { left: -5px; }
[dir='rtl'] .slick-prev { right: -5px; left: auto; }
.slick-next { right: 5px; }
[dir='rtl'] .slick-next { right: auto; left: -5px; }

.slick-next:before,
.slick-prev:before {content: "";display: inline-block;width: var(--crsl-btn-size);height: var(--crsl-btn-size);background-color: var(--crsl-btn-color);background-repeat: no-repeat;background-position: center;    background-size: var(--crsl-btn-size);	transition: background 0.25s ease;    border-radius: 50%;    flex-shrink: 0;}
.slick-prev:before, .slick-next:before {font-size: var(--crsl-btn-size);color: var(--crsl-btn-color);}

.slick-next:before { background-image: url("../img/icons/icon-right-arrow-light.png"); }	
.slick-prev:before { background-image: url("../img/icons/icon-left-arrow-light.png"); }		
[dir='rtl'] .slick-next:before { background-image: url("../img/icons/icon-left-arrow-light.png"); }
[dir='rtl'] .slick-prev:before { background-image: url("../img/icons/icon-right-arrow-light.png"); }

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before { background-color: var(--crsl-btn-hover-color); }    
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before { opacity: .25; }
/* Dots */
.slick-dotted.slick-slider { margin-bottom: 30px; }

.slick-dots { position: absolute; bottom: -35px; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; }
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer; }
.slick-dots li button { font-size: 0;line-height: 0;display: block;width: 20px;height: 20px;padding: 5px;cursor: pointer;color: transparent;border: 0;outline: none;background: transparent;}
.slick-dots li button:hover,
.slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1; }
.slick-dots li button:before{font-size: 46px;line-height: 20px;position: absolute;top: 0;left: 0;width: 20px;height: 20px;content: '•';text-align: center;opacity: .25;color: black;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
.slick-dots li.slick-active button:before { opacity: .75; color: black; }




	
/* DEV-STYLE: ST-009
   NAME: Circular icon link
   FOR: SHARED
   PREFIX: icon-btn
   ACTIVE: yes
*/

/* icon buttons */	

.icon-btn { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--icon-btn-txt-color); } 
/* DEV-STYLE: ST-079
   NAME: Icon link with text below
   FOR: SHARED
   VARIANT: .icon-btn.txt-bottom
   ACTIVE: yes
*/
.icon-btn.txt-bottom { flex-direction: column; align-items: center; }
.icon-btn.txt-left { flex-direction: row; align-items: left; flex-direction: row-reverse }
.icon-btn:before { 
	content: "";
    width: var(--icon-btn-circle-size);
    height: var(--icon-btn-circle-size);
    background-color: var(--icon-btn-circle-bg-color);
    background-repeat: no-repeat;
    background-position: center;
    background-size: var(--icon-btn-size);
	transition: background 0.25s ease;
    border-radius: 50%;
    flex-shrink: 0;
}
.icon-btn.up-arrow:before { background-image: url("../img//icons/icon-up-arrow-light.png"); }	
.icon-btn.rss::before { background-image: url("../img/icons/icon-rss-feed-light.png"); }
.icon-btn.twitter::before { background-image: url("../img/icons/icon-x-twitter-dark.png"); }
.icon-btn.facebook::before { background-image: url("../img/icons/icon-facebook-dark.png"); }
.icon-btn.linkedin::before { background-image: url("../img/icons/icon-linkedin-dark.png"); }
.icon-btn.instagram::before { background-image: url("../img/icons/icon-instagram-dark.png"); }

.icon-btn.up-arrow.dark::before { background-image: url("../img//icons/icon-up-arrow-dark.png"); }	
.icon-btn.rss.dark::before { background-image: url("../img/icons/icon-rss-feed-dark.png"); }
.icon-btn.twitter.dark::before { background-image: url("../img/icons/icon-x-twitter-dark.png"); }
.icon-btn.facebook.dark::before { background-image: url("../img/icons/icon-facebook-dark.png"); }
.icon-btn.linkedin.dark::before { background-image: url("../img/icons/icon-linkedin-dark.png"); }
.icon-btn.instagram.dark::before { background-image: url("../img/icons/icon-instagram-dark.png"); }


.icon-btn:hover,
.icon-btn:active { color: var(--icon-btn-hover-txt-color); }

.icon-btn:hover:before,
.icon-btn:active:before { background-color: var(--icon-btn-circle-hover-bg-color); }






/* DEV-STYLE: ST-056
   NAME: Featured-content cards
   FOR: EL-006
   PREFIX: ic
   ACTIVE: no
*/
.feature-wrap { margin-top: 2rem; height:auto; display: grid; gap: 3rem; grid-template-columns: repeat(3, 1fr); justify-content: space-between; }
.feature-wrap .card { position: relative; display: flex;background-color: var(--ic-bg-color); border-radius: var(--ic-border-radius); }
.feature-wrap .card img { width: 100%; display: block; }
.feature-wrap .card a { text-decoration: none; color: var(--ic-link-color); display: block; }
.feature-wrap .card a:hover,
.feature-wrap .card a:active,
.feature-wrap .card a:focus { color: var(--ic-link-hover-color)}
@media only screen and (min-width: 600px) {
.feature-wrap .card a { height: 100% }
}
.feature-wrap .card .tags { position: absolute; top: 2em; left: 1em; width: auto; }
.feature-wrap .card .tags ul { display: flex; gap: 0.6rem; color: transparent}
.feature-wrap .card .tags a { text-decoration: none; color: var(--ic-tag-color);  padding: 0.6rem; background-color: var(--ic-tag-bg-color); }
.feature-wrap .card a:before {
	bottom: 0;
    content: "";
    cursor: pointer;
    left: 0;
    /* padding: 20px; */
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}
.feature-wrap .card .tags a:hover,
.feature-wrap .card .tags a:active,
.feature-wrap .card .tags a:focus { background-color: var(--ic-tag-hover-bg-color); color: var(--ic-tag-hover-color)}
.feature-wrap .card .caption { padding: 1rem;  color: var(--ic-caption-color);
        display: flex;
        flex: 1 0 auto;
        flex-direction: column;
        padding: 20px;
        z-index: 5;
 }

@media only screen and (min-width: 1000px) {
.feature-wrap { margin-top: 2rem;  }
.feature-wrap .card { }
}

	
@media(min-width: 768px) {
        .card-wrap:hover:before {
            bottom:-15px;
            left: -15px;
            right: -15px;
            top: -15px;
            transition-timing-function: cubic-bezier(.23,1,.32,1)
        }
    }
.card-wrap a:before {
        bottom: 0;
        content: "";
        cursor: pointer;
        left: 0;
        padding: 20px;
        position: absolute;
        right: 0;
        top: 0;
        z-index: 1
    }

    @media(min-width: 768px) {
        .card-wrap a:before {
            padding:30px
        }
    }

	
/* DEV-STYLE: ST-054
   NAME: Issue summary
   FOR: EL-020
   PREFIX: is
   ACTIVE: yes
   NOTE: .issue-wrap is also shared with ST-055.
*/

/* issue summary */
.issue-wrap { margin-top: 2rem }

.issue-summary { }
.issue-summary .section-wrap { background-color: var(--is-section-bg-color); margin-bottom: 2rem; padding-bottom: 1rem }
.issue-summary .section-wrap .is-sec-title { background-color: var(--is-sec-title-bg-color); color: var(--is-sec-title-color); padding: 0.6rem; font-size: 1rem;}
.issue-summary .section-wrap .is-content-wrap { color: var(--is-sec-title-color); font-size: 1rem;}
.issue-summary .is-content-wrap a { text-decoration: none; display: block; margin-left: 2rem}
.issue-summary .is-content-wrap a:hover { text-decoration: underline; }
.issue-summary .is-content-title { color: var(--is-content-title-color); font-size: 1rem;}

.issue-summary ul { margin-top: 1rem; margin-bottom: 1rem; padding: 0;}
.issue-summary ul li { margin: 0; padding: 0; }
.issue-summary ul { list-style: none; }
.issue-summary li { position: relative; padding-left: 1em; }
.issue-summary li::before { content: "•"; position: absolute; left: 1rem; color: var(--is-content-title-color); }


/* DEV-STYLE: ST-055
   NAME: Card issue summary
   FOR: EL-021
   PREFIX: ic
   ACTIVE: no
*/
.issue-wrap.grid { display: grid; gap: 1.25rem;}
@media only screen and (min-width: 450px) {
	.issue-wrap.grid { display: grid; grid-template-columns: repeat(2, 1fr);	}
}


.issue-wrap .card { height: 100%; position: relative; background-color: var(--ic-bg-color); border-radius: var(--ic-border-radius); overflow: hidden; }
.issue-wrap .card img { width: 100%; display: block; }
.issue-wrap .card > a { text-decoration: none; color: var(--ic-link-color); display: block; }
.issue-wrap .card > a:hover,
.issue-wrap .card > a:active,
.issue-wrap .card > a:focus { color: var(--ic-link-hover-color)}

.issue-wrap .card .tags { position: absolute; top: 2em; left: 1em; width: auto; }
.issue-wrap .card .tags ul { display: flex; gap: 0.6rem}
.issue-wrap .card .tags a { text-decoration: none; color: var(--ic-tag-color); height: 100%; padding: 0.6rem; background-color: var(--ic-tag-bg-color);}
.issue-wrap .card .tags a:hover,
.issue-wrap .card .tags a:active,
.issue-wrap .card .tags a:focus { background-color: var(--ic-tag-hover-bg-color); color: var(--ic-tag-hover-color)}
.issue-wrap .card .caption { padding: 1rem;  color: var(--ic-caption-color)}

@media only screen and (min-width: 1000px) {
.issue-wrap .card div.flex figure { width: 40%; flex: 1; margin: 0;	}
    .issue-wrap .card div.flex figure img {object-fit: cover; height: 100%;
    align-self: flex-start;
	}
.issue-wrap .card div.flex .caption {  flex: 1}

}



/* DEV-STYLE: ST-003
   NAME: Skip links
   FOR: TF-001
   PREFIX: skip-links
   ACTIVE: yes
*/

/* skip-link elements */
.skip-links ul { list-style-type:none; margin: 0; padding:0}
.skip-links a {
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: .1578em;
    font-size: 1rem;
    line-height: 1.25rem;
	color: var(--skip-links-txt);
	display: block;
	background-color: var(--skip-links-bg); margin-top: 0.5rem; padding:0.5rem
}

.skip-links a:not(:active):not(:focus) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
    user-select: none
}


/* DEV-STYLE: ST-004
   NAME: Form submit controls
   FOR: SHARED
   PREFIX: submit
   ACTIVE: yes
*/
input[type="submit"] {
	border-radius: var(--submit-border-radius);
	border-width: var(--submit-border-width);
	border-style: var(--submit-border-style);
	border-color: var(--submit-border-color);
	font-size: 1rem; 
	color: var(--submit-txt); 
	background-color: var(--submit-bg); 
}


/* DEV-STYLE: ST-043
   NAME: Back-issue list
   FOR: EL-001
   PREFIX: backissue
   ACTIVE: no
*/

/* Back issue elements */
.back-issues label { color: var(--backissue-label-txt); }
.back-issues select {width: auto;font-weight: normal;}
@media (min-width: 768px) {
	.back-issues { float: right; }
}


/* DEV-STYLE: ST-045
   NAME: Search form
   FOR: EL-031
   PREFIX: search
   ACTIVE: yes
*/

/* Search elements */
.search-form { margin-bottom: 0}
.search-form label { color: var(--search-label-txt); }
.search-form #q {border-right: none; }
@media (min-width: 768px) {
	.search-form { float: right; }
}

/* DEV-STYLE: ST-048
   NAME: Search-filter output
   FOR: SHARED
   ACTIVE: yes
*/
.search-form-filter > div { margin-bottom: 1rem;}
.search-form-filter label { color: var(--search-filter-label-txt); }
.search-form-filter input, .search-form-filter select { margin-left: 0.5rem }

/* DEV-STYLE: ST-046
   NAME: Search form layout 2
   FOR: EL-031
   VARIANT: .search-form.filled-action
   ACTIVE: no
*/
.search-form.filled-action input[type="text"] { background-color: inherit; border: none; box-shadow:inset 0px 0px 0px 1px var(--c-black) }
.search-form.filled-action input[type="submit"] { background-color: var(--c-blue); color: #fff; border: none; appearance: none; transition: all .2s ease-out; font-weight: 600;}
.search-form.filled-action input[type="submit"]:hover,
.search-form.filled-action input[type="submit"]:focus { background-color: var(--c-dark-blue); color: #fff; border: none; box-shadow: none; } 

/* DEV-STYLE: ST-047
   NAME: Search form layout 3
   FOR: EL-031
   VARIANT: .search-form.underline
   ACTIVE: no
*/
.search-form.underline input[type="text"] { background-color: inherit; border: none; border: none; border-bottom: 1px solid var(--c-green)  }
.search-form.underline input[type="submit"] { background-color: var(--c-green); border: none; appearance: none; transition: all .2s ease-out; font-weight: 600;}
.search-form.underline input[type="submit"]:hover,
.search-form.underline input[type="submit"]:focus { background-color: var(--c-dark-green); color: #fff; border: none; outline: none; box-shadow: none; } 

.search-form-filter > div { margin-bottom: 1rem;}
.search-form-filter label { color: var(--search-filter-label-txt); }
.search-form-filter input, 
.search-form-filter select { margin-left: 0.5rem }

/* DEV-STYLE: ST-049
   NAME: Search results
   FOR: EL-032
   PREFIX: sr
   ACTIVE: yes
*/

/* search results */

.search-results { margin: 0; padding: 0; list-style-type: none; }
.search-results .card { padding: 1rem; border: var(--sr-border); background-color: var(--sr-bg-color); color: var(--sr-txt-color); margin-bottom: 2rem }
.search-results .card .pub-date { margin: 0 0 1rem 0; color: var(--sr-pubdate-color)}


.pagination ul { list-style=type: none; margin: 0; padding:0; float: right; margin-bottom: 2rem}
.pagination ul li { display: inline-block; margin-right: 1rem }
.pagination ul li a { text-decoration: none; color: var(--pag-txt-color); background-color: var(--pag-bg-color)}
.pagination ul li.active:not(:has(a.disabled)) {border-bottom: var(--pag-active-border) }
.pagination ul li a.disabled { color: var(--pag-disabled-txt-color); cursor: default; background-color: var(--pag-disabled-bg-color)}


/* DEV-STYLE: ST-031
   NAME: Display-mode switch
   FOR: CB-013
   PREFIX: ms
   ACTIVE: yes
*/

/* mode switcher */

.mode-switch-wrap { }
.mode-switch-wrap label { color: var(--ms-txt-color); }


/* DEV-STYLE: ST-030
   NAME: Text resize controls
   FOR: CB-013
   PREFIX: txt-resize
   ACTIVE: yes
*/

/* font resize elements */


#font-resize-wrap { display: flex; flex-wrap: wrap; justify-content: center; width: 120px; color: var(--txt-resize-txt); }
.font-resize_label-wrap { display: flex; justify-content: center; width: 100%; margin: 0; }
.font-resize_label { appearance: none; position: relative; margin: 0; padding: 0 18px 2px 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: inherit; font: inherit; font-size: 0.9em; font-weight: normal; line-height: inherit; white-space: nowrap; cursor: pointer; }
.font-resize_label::after { content: ""; position: absolute; right: 2px; top: 50%; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-65%) rotate(45deg); transition: transform 0.2s ease; }
.font-resize_label[aria-expanded="true"]::after { transform: translateY(-25%) rotate(225deg); }
.font-resize-control { display: none; align-items: center; justify-content: center; width: 100%; gap: 12px; margin-top: 10px; }
.font-resize-control.open { display: flex; }
.font-resize_up,
.font-resize_down { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; min-width: 32px; max-width: 32px; height: 32px; min-height: 32px; max-height: 32px; padding: 0 0 6px 1px; box-sizing: border-box; border: 1px solid var(--txt-resize-txt); border-radius: 50%; background: none; color: var(--txt-resize-txt); font-size: 1.5em; line-height: 1; text-decoration: none; }
.font-resize_up:hover,
.font-resize_down:hover,
.font-resize_up:focus,
.font-resize_down:focus { background: var(--txt-resize-focus-bg); color: var(--txt-resize-focus-txt); }
.font-resize_scale { min-width: 42px; text-align: center; }


/* DEV-STYLE: ST-032
   NAME: Quick-exit control
   FOR: CB-013
   PREFIX: panic
   ACTIVE: yes
*/

/* quick exit link */

.quick-exit {
    position: fixed;
    top: 0;
    left: 1.75rem;
    z-index: 10000;

    display: inline-flex;
    align-items: center;
    gap: 0.4rem;

    padding: 1rem 1.75rem;

    background: #f2b632;
    color: #111;

    font-weight: 700;
    line-height: 1;
    text-decoration: none;

    border: 2px solid #111;
    border-top: 0;
    border-radius: 0 0 4px 4px;
}

.quick-exit:hover,
.quick-exit:focus-visible {
    background: #111;
    color: #fff;
    text-decoration: none;
}

.quick-exit:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -5px;
}



html.panic-active::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: #fff;
}


/* DEV-STYLE: ST-044
   NAME: Breadcrumbs
   FOR: EL-002
   PREFIX: bc
   ACTIVE: yes
*/
.breadcrumb-list { padding: 0; margin: 0 0 20px 0; }
.breadcrumb-list li { font-size: 12px; display: inline-block;}
.breadcrumb-list li:after {content: "/"; margin-left: 10px;padding-right: 10px; color: var(--bc-separator-color)}
.breadcrumb-list li:last-child:after {content: ""; }
.breadcrumb-list li a,
.breadcrumb-list li a:link { var(--bc-txt-color); }
.breadcrumb-list li a:hover { var(--bc-txt-hover-color); }
.breadcrumb-list li a:active { var(--bc-txt-active-color); }


/* DEV-STYLE: ST-005
   NAME: Primary button
   FOR: SHARED
   PREFIX: button
   ACTIVE: yes
*/
/* buttons */
.button,
a.button {
	background-color: var(--button-bg-color);
	color: var(--button-txt-color);
	padding-inline: 1.25rem;
	padding-block: 2.5rem;
	text-align: center;
	border-radius: var(--button-border-radius);
	border: var(--button-border);
	display: inline-block;
	box-sizing: border-box;
}

.button,
.button:link,
a.button,
a.button:link { text-decoration: none;}

.button:hover,
.button:focus,
.button:active,
a.button:hover,
a.button:focus,
a.button:active {background-color: var(--button-bg-color-hover);color: var(--button-txt-color-hover);}


/* button widths and sizes */
.button.full,
a.button.full {width: 100%;display: block;}

.button.x-small, a.button.x-small {padding-block: 0.5rem;	padding-inline: 0.5rem;}
.button.small, a.button.small  {	padding-block: 1rem; padding-inline: 1.25rem;}
.button.large, a.button.large {	padding-block: 2rem; padding-inline: 2rem; font-size: 1.25rem;}
.button.x-large, a.button.x-large { padding-block: 3rem; padding-inline: 3rem; font-size: 1.25rem;}

/* button text alignment */
.button.txt-left,
a.button.txt-left { text-align: left;}
.button.txt-center,
a.button.txt-center { text-align: center;}
.button.txt-right,
a.button.txt-right { text-align: right;}

/* DEV-STYLE: ST-008
   NAME: Icon-decorated button
   FOR: SHARED
   MODIFIERS: .feedback, .document, .exclamation, .handshake, .family, .check, .up-arrow, .folder, .mail-1, .mail-2, .star
   ACTIVE: yes
*/
.button.w-icon,
a.button.w-icon {
	background-image: var(--button-icon-image, var(--button-icon-light));
	background-position: 1rem center;
	background-repeat: no-repeat;
	background-size: 3rem;
	padding-block: 1.875rem;
	padding-inline: 4.75rem 1.25rem;
	text-align: left;
}

.button.w-icon:hover,
.button.w-icon:focus,
.button.w-icon:active,
a.button.w-icon:hover,
a.button.w-icon:focus,
a.button.w-icon:active {
	background-image: var(
		--button-icon-image-hover,
		var(--button-icon-image, var(--button-icon-light))
	);
}


/* icon button sizes */
.button.w-icon.x-small,
a.button.w-icon.x-small {
	background-position: 0.75rem center;
	background-size: 1.75rem;
	padding-block: 0.5rem;
	padding-inline: 3.25rem 1.25rem;
}

.button.w-icon.small,
a.button.w-icon.small {
	background-position: 0.75rem center;
	background-size: 2.5rem;
	padding-block: 1rem;
	padding-inline: 4rem 1.25rem;
}

.button.w-icon.medium,
a.button.w-icon.medium {
	background-position: 1rem center;
	background-size: 3rem;
	padding-block: 2rem;
	padding-inline: 5rem 1.5rem;
}

.button.w-icon.large,
a.button.w-icon.large {
	background-position: 1rem center;
	background-size: 4rem;
	padding-block: 2rem;
	padding-inline: 6rem 2rem;
}

.button.w-icon.x-large,
a.button.w-icon.x-large {
	background-position: 1rem center;
	background-size: 4rem;
	padding-block: 3rem;
	padding-inline: 6rem 3rem;
}


/* button text modifiers */
.button.bold,
a.button.bold {
	font-weight: 600;
}

.button.regular-txt,
a.button.regular-txt {
	font-size: 1rem;
}

.button.small-txt,
a.button.small-txt {
	font-size: 0.9rem;
}

.button.medium-txt,
a.button.medium-txt {
	font-size: 1.16rem;
}

.button.large-txt,
a.button.large-txt {
	font-size: 1.25rem;
}

.button.x-large-txt,
a.button.x-large-txt {
	font-size: 1.5rem;
}


/*
 * Button icon definitions.
 * These classes identify which icon is used.
 * Theme/context variables decide whether the light or dark asset is displayed.
 */
.button.w-icon.feedback {
	--button-icon-light: url(../img/icons/icon-feedback-light.png);
	--button-icon-dark: url(../img/icons/icon-feedback-dark.png);
}

.button.w-icon.document {
	--button-icon-light: url(../img/icons/icon-document-light.png);
	--button-icon-dark: url(../img/icons/icon-document-dark.png);
}

.button.w-icon.exclamation {
	--button-icon-light: url(../img/icons/icon-exclamation-light.png);
	--button-icon-dark: url(../img/icons/icon-exclamation-dark.png);
}

.button.w-icon.handshake {
	--button-icon-light: url(../img/icons/icon-handshake-light.png);
	--button-icon-dark: url(../img/icons/icon-handshake-dark.png);
}

.button.w-icon.family {
	--button-icon-light: url(../img/icons/icon-family-light.png);
	--button-icon-dark: url(../img/icons/icon-family-dark.png);
}

.button.w-icon.check {
	--button-icon-light: url(../img/icons/icon-check-light.png);
	--button-icon-dark: url(../img/icons/icon-check-dark.png);
}

.button.w-icon.up-arrow {
	--button-icon-light: url(../img/icons/icon-up-arrow-light.png);
	--button-icon-dark: url(../img/icons/icon-up-arrow-dark.png);
}

.button.w-icon.folder {
	--button-icon-light: url(../img/icons/icon-folder-light.png);
	--button-icon-dark: url(../img/icons/icon-folder-dark.png);
}

.button.w-icon.mail-1 {
	--button-icon-light: url(../img/icons/icon-mail-1-light.png);
	--button-icon-dark: url(../img/icons/icon-mail-1-dark.png);
}

.button.w-icon.mail-2 {
	--button-icon-light: url(../img/icons/icon-mail-2-light.png);
	--button-icon-dark: url(../img/icons/icon-mail-2-dark.png);
}
.button.w-icon.mail-3 {
	--button-icon-light: url(../img/icons/icon-subscribe-light.png);
	--button-icon-dark: url(../img/icons/icon-subscribe-dark.png);
}

.button.w-icon.star {
	--button-icon-light: url(../img/icons/icon-star-light.png);
	--button-icon-dark: url(../img/icons/icon-star-dark.png);
}




/* DEV-STYLE: ST-033
   NAME: Main navigation
   FOR: CB-008, CB-009, EL-033, EL-035
   PREFIX: main-nav
   ACTIVE: yes
*/
.nav-row { background-color: var(--main-nav-bg); }
.main-nav .nav { clear: both; max-height: 0; transition: max-height .2s ease-out; /*overflow: hidden;*/ }
.main-nav .menu-icon { cursor: pointer; display: inline-block; padding: 28px 20px 28px 10px; position: relative; user-select: none; }
.main-nav .menu-icon .navicon { background: var(--main-nav-hamburger); display: block; height: 5px; position: relative; transition: background .2s ease-out; width: 30px; }
.main-nav .menu-icon .navicon:before,
.main-nav .menu-icon .navicon:after { background: var(--main-nav-hamburger); content: ''; display: block; height: 100%; position: absolute; transition: all .2s ease-out; width: 100%; }
.main-nav .menu-icon .navicon:before { top: 9px; }
.main-nav .menu-icon .navicon:after { top: -9px; }
.main-nav .menu-btn { display: none; }
.main-nav .menu-btn:checked ~ .menu { display: block; max-height: 1500px; }
.main-nav .menu-btn:checked ~ .menu-icon .navicon { background: transparent; }
.main-nav .menu-btn:checked ~ .menu-icon .navicon:before { transform: rotate(-45deg); }
.main-nav .menu-btn:checked ~ .menu-icon .navicon:after { transform: rotate(45deg); }
.main-nav .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before, 
.main-nav .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after { top: 0; }
@media (min-width: 768px) {
  .main-nav .menu { clear: none; max-height: none; }
  .main-nav .menu-icon { display: none;  }
}

#mainNavigation { display: table; width: 100%; background-color: var(--main-nav-bg); }
#mainNavigation > ul { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style-type: none; }
#mainNavigation > ul > li { display: flex; /*	width: 10%;*/ position: relative; align-items: center; }


.main-nav.vertical { /*margin-bottom: 1rem;*/ }
.main-nav.vertical #mainNavigation > ul { display: block; }


@media only screen and (max-width: 1250px) {
	#mainNavigation > ul  { display: grid; grid-template-columns: repeat(auto-fill, 150px); justify-content: space-between; grid-gap: 0; }
	#mainNavigation > ul > li { justify-content: space-between; }
}

#mainNavigation > ul > li:hover,   
#mainNavigation > ul > li:active,
#mainNavigation > ul > li:focus  { color: var(--main-nav-active-txt); background-color:var(--main-nav-active-bg);}

#mainNavigation > ul > li > a,
#mainNavigation > ul > li > a:link { color: var(--main-nav-link-txt); background-color: var(--main-nav-link-bg); text-decoration: none;}

#mainNavigation > ul > li > a:hover,
#mainNavigation > ul > li > a:active,
#mainNavigation > ul > li > a:focus,
#mainNavigation > ul > li > a:focus-visible  { color: var(--main-nav-active-txt); background-color:var(--main-nav-active-bg);}
#mainNavigation > ul > li > a { flex: 1; display: block; padding: 16px; }
#mainNavigation > ul > li.has-submenu > a { padding: 16px 8px 16px 16px; }
#mainNavigation > ul > li.home-link > a { padding: 16px; }

#mainNavigation > ul > li:hover > a,
#mainNavigation > ul > li:active > a,
#mainNavigation > ul > li:focus > a { color: var(--main-nav-active-txt); background-color:var(--main-nav-active-bg);}


/*
#mainNavigation > ul > li.has-submenu.open { background-color: var(--main-nav-active-bg);}

#mainNavigation > ul > li.has-submenu.open a,
#mainNavigation > ul > li.has-submenu.open a:link { color: var(--main-nav-active-txt); background-color:var(--main-nav-active-bg); text-decoration: none;}
*/
#mainNavigation > ul > li > .dropdown { background-color: var(--main-nav-drop-bg) !important; display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 0 0 20px 0; margin: 0; min-width: 250px; z-index:99;  }
#mainNavigation > ul > li > .dropdown { display: none; }
#mainNavigation > ul > li.open > .dropdown { display:block; }

#mainNavigation > ul > li > .dropdown ul { list-style-type: none; margin: 0; padding: 0;}
#mainNavigation > ul > li > .dropdown ul li { margin: 0; padding: 0; }
#mainNavigation > ul > li > .dropdown ul li a,
#mainNavigation > ul > li.open > .dropdown ul li a { display: block; padding: 10px 16px; color: var(--main-nav-drop-link-txt); text-decoration:none}
#mainNavigation > ul > li > .dropdown ul li a:hover,
#mainNavigation > ul > li > .dropdown ul li a:active,
#mainNavigation > ul > li > .dropdown ul li a:focus,
#mainNavigation > ul > li > .dropdown ul li a:focus-visible { background-color: var(--main-nav-drop-active-bg); color: var(--main-nav-drop-active-txt);}


#mainNavigation .has-submenu button { background-color: transparent; border: none; padding:0;  }
#mainNavigation .has-submenu button > span { display:inline-block; padding: 1em; }
#mainNavigation .has-submenu button > span:after { content: "\25BC"; color: var(--main-nav-link-txt)}
#mainNavigation .has-submenu.open button > span:after { content: '\25B2'; color: var(--main-nav-active-txt) }

#mainNavigation > ul > li.selected {color: var(--main-nav-selected-txt); background-color:var(--main-nav-selected-bg) }
#mainNavigation > ul > li.selected > a,
#mainNavigation > ul > li.selected button,
#mainNavigation > ul > li.selected button > span:after,
#mainNavigation > ul > li.selected button:hover > span:after,
#mainNavigation > ul > li.selected button:focus > span:after,
#mainNavigation > ul > li.selected button:active > span:after,
#mainNavigation > ul > li.selected.has-submenu.open button > span:after { color: var(--main-nav-selected-txt); background-color:var(--main-nav-selected-bg) !important;}

.home #mainNavigation > ul > li.home-link a {color: var(--main-nav-selected-txt) !important; background-color:var(--main-nav-selected-bg) !important  }

/*
#mainNavigation .has-submenu button,
#mainNavigation .has-submenu a:focus + button { background-color: var(--main-nav-drop-active-bg); color: var(--main-nav-drop-active-txt) }
*/
#mainNavigation .has-submenu:hover button,
#mainNavigation .has-submenu:focus button,
#mainNavigation .has-submenu button:hover,
#mainNavigation .has-submenu button:active,
#mainNavigation .has-submenu button:focus { background: var(--main-nav-active-bg); color: var(--main-nav-active-txt) }


@media (max-width: 768px) {
	.main-nav .nav { overflow: hidden; }
	#mainNavigation > ul { grid-template-columns: repeat(1, 1fr); }
	#mainNavigation > ul > li { flex-wrap: wrap; }
	#mainNavigation > ul > li .dropdown { position: relative; width: 100%; z-index:0; min-width: 100%; top: 0;}
}



/*
    Controlled overflow main navigation

    Optional SectionList presentation used by:
    overflow.section-list.ascx

    Desktop:
    - keeps primary navigation to one row
    - JavaScript hides items that do not fit
    - adds a More control
    - More reveals hidden items as a deliberate second row

    Mobile:
    - returns to the existing standard hamburger/navigation behaviour
*/
/* ---------------------------------------------------------
   Desktop controlled-overflow layout
   --------------------------------------------------------- */
@media (min-width: 769px) {

    #mainNavigation > ul.section-nav-overflow {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
        position: relative;
    }

    /*
        Override the standard <=1250px grid treatment for this
        variant only. The standard navigation remains unchanged.
    */
    #mainNavigation > ul.section-nav-overflow > li {
        display: flex;
        flex: 0 0 auto;
        width: auto;
        position: relative;
        align-items: stretch;
        justify-content: flex-start;
    }


    /* -----------------------------------------------------
       Overflow items
       ----------------------------------------------------- */

    #mainNavigation > ul.section-nav-overflow > li.nav-overflow { display: none; }
    #mainNavigation > ul.section-nav-overflow.show-overflow > li.nav-overflow { display: flex; order: 2; }

    /*
        The pseudo-element creates the deliberate break between
        the primary row and the revealed overflow row.

        This avoids inserting an empty structural <li>.
    */
    #mainNavigation > ul.section-nav-overflow.show-overflow::after {
        content: "";
        display: block;
        flex: 0 0 100%;
        width: 100%;
        height: 0;
        order: 1;
        border-top: var(--main-nav-overflow-border);
    }


    /* -----------------------------------------------------
       More control
       ----------------------------------------------------- */

    #mainNavigation > ul.section-nav-overflow > li.nav-more {
        display: flex;
        flex: 0 0 auto;
        align-items: stretch;
        margin-left: auto;
        order: 0;
        background-color: var(--main-nav-more-bg-color);
    }

    #mainNavigation > ul.section-nav-overflow > li.nav-more > button {
        display: flex;
        align-items: center;
        gap: 0.6rem;

        margin: 0;
        padding: 16px;

        border: 0;

        background-color: var(--main-nav-more-bg-color);
        color: var(--main-nav-more-txt-color);

        font: inherit;
        font-weight: 600;
        line-height: inherit;

        cursor: pointer;
    }

    #mainNavigation > ul.section-nav-overflow > li.nav-more > button:hover,
    #mainNavigation > ul.section-nav-overflow > li.nav-more > button:active,
    #mainNavigation > ul.section-nav-overflow > li.nav-more > button:focus {
        background-color: var(--main-nav-more-hover-bg-color);
        color: var(--main-nav-more-hover-txt-color);
    }

    #mainNavigation > ul.section-nav-overflow > li.nav-more > button::after {
        content: "\25BC";
        display: inline-block;
        font-size: 0.8em;
    }

    #mainNavigation > ul.section-nav-overflow > li.nav-more > button[aria-expanded="true"]::after {
        content: "\25B2";
    }


    /* -----------------------------------------------------
       Prevent resize/recalculation flash
       ----------------------------------------------------- */

    #mainNavigation > ul.section-nav-overflow.nav-overflow-measuring {
        visibility: hidden;
    }

}


/* ---------------------------------------------------------
   Mobile

   Remove all controlled-overflow behaviour and allow the
   existing hamburger/mobile navigation rules to take over.
   --------------------------------------------------------- */

@media (max-width: 768px) {

    #mainNavigation > ul.section-nav-overflow > li.nav-overflow {
        display: flex;
    }

    #mainNavigation > ul.section-nav-overflow > li.nav-more {
        display: none;
    }

    #mainNavigation > ul.section-nav-overflow.show-overflow::after {
        display: none;
    }

}



/*
 * Always-vertical SectionList
 *
 * Uses the existing main-navigation presentation and behaviour,
 * but permanently adopts the layout normally used by the
 * main navigation at mobile widths.
 */

#mainNavigation > ul.section-nav-vertical {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    list-style-type: none;
}


/*
 * Stack every top-level section vertically.
 */
#mainNavigation > ul.section-nav-vertical > li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    position: relative;
}


/*
 * Allow the section link to occupy the available width while
 * leaving room for the existing submenu toggle button.
 */
#mainNavigation > ul.section-nav-vertical > li > a {
    flex: 1 1 auto;
}


/*
 * Permanently use the dropdown positioning that the standard
 * main navigation normally uses only below 768px.
 */
#mainNavigation > ul.section-nav-vertical > li > .dropdown {
    position: relative;
    top: 0;
    width: 100%;
    min-width: 100%;
    z-index: 0;
}


/*
 * The dropdown remains controlled by the existing .open class.
 */
#mainNavigation > ul.section-nav-vertical > li.open > .dropdown {
    display: block;
}



/* DEV-STYLE: ST-058
   NAME: Next/previous links
   FOR: EL-027, EL-028
   PREFIX: np
   ACTIVE: no
*/
/* Next / previous navigation */

.next-prev-links { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; margin-block: 2.5rem 1rem; }
.next-prev-links .prev { grid-column: 1; }
.next-prev-links .next { grid-column: 2; text-align: right; }
.next-prev-links a { display: inline-block; min-height: 2.75rem; padding: 0.65rem 1rem; color: var(--np-link-txt-color); background-color: var(--np-link-bg-color); border: var(--np-border); border-radius: var(--np-border-radius); font-weight: 600; line-height: 1.3; text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.next-prev-links .next a { margin-left: auto; }
.next-prev-links .link-title, .next-prev-links .section, .next-prev-links .content-title { display: block; }
.next-prev-links .prev .link-title::before { content: "←"; margin-right: 0.4rem; }
.next-prev-links .next .link-title::after { content: "→"; margin-left: 0.4rem; }
.next-prev-links a:hover { color: var(--np-link-txt-color-hover); background-color: var(--np-link-bg-color-hover); border-color: var(--np-border-color-hover); }
.next-prev-links a:focus-visible { outline: 3px solid var(--np-focus-color); outline-offset: 3px; }

/* Detailed presentation */

.next-prev-links.detailed { align-items: stretch; }
.next-prev-links.detailed .prev, .next-prev-links.detailed .next { display: flex; }
.next-prev-links.detailed a { display: block; width: 100%; max-width: 22rem; min-height: 6.5rem; padding: 0.9rem 1rem 1rem; box-sizing: border-box; }
.next-prev-links.detailed .next a { margin-left: auto; text-align: right; }
.next-prev-links.detailed .link-title { display: block; padding-bottom: 0.45rem; margin-bottom: 0.45rem; border-bottom: 1px solid var(--np-separator-color); font-size: 0.9rem; font-weight: 600; }
.next-prev-links.detailed .section { display: block; margin-top: 0; color: var(--np-section-txt-color); font-size: 0.85rem; font-weight: 500; line-height: 1.3; }
.next-prev-links.detailed .content-title { display: block; margin-top: 0.2rem; color: var(--np-title-txt-color); font-size: 1rem; font-weight: 600; line-height: 1.3; }
.next-prev-links.detailed a:hover .content-title, .next-prev-links.detailed a:focus-visible .content-title { color: var(--np-title-txt-color-hover); }

@media (max-width: 600px) {
	.next-prev-links.detailed { grid-template-columns: 1fr; }
	.next-prev-links.detailed .prev, .next-prev-links.detailed .next { grid-column: 1; }
	.next-prev-links.detailed a { max-width: none; min-height: 0; }
	.next-prev-links.detailed .next a { margin-left: 0; text-align: left; }
}


/* DEV-STYLE: ST-052
   NAME: Related-content wrapper
   FOR: TF-006, TF-007
   PREFIX: rc
   ACTIVE: yes
*/
.related-content { padding: 0; margin-block: 0 2rem; border-radius: var(--relcon-border-radius); overflow: hidden; background-color: var(--relcon-bg-color);}
.related-content .title { padding: 1rem; margin: 0; font-size: 1.1rem; color: var(--relcon-heading-txt-color); font-weight: var(--relcon-heading-font-weight); background-color: var(--relcon-heading-bg-color); }
.related-content > ul { padding: 0; }
.related-content > ul li { padding: 0; border-bottom: var(--relcon-separator-border); }
.related-content > ul > li.selected a { font-weight: var(--relcon-selected-font-weight); background-color: var(--relcon-selected-bg-color); color: var(--relcon-selected-txt-color); }
.related-content > ul > li a {  background-color: var(--relcon-link-bg-color); color: var(--relcon-link-txt-color); text-decoration: none; margin: 0; display: block; padding: 0.6rem 1rem;}
.related-content > ul > li a:hover,
.related-content > ul > li a:active,
.related-content > ul > li a:focus { color: var(--relcon-hover-txt-color);background-color: var(--relcon-hover-bg-color); }


.content-list.grid { 
    border-top: var(--cl-grid-border-top);	
	padding-top: 1.5rem;
}

.content-list { margin-bottom: 1.5rem; }
.content-list-title { margin: 0 0 1rem; font-size: 1.2rem; font-weight: 600;}
.content-list .content-list-item { margin:0;  }
.content-list .content-list-item a,
.content-list .content-list-item a:link { padding: 20px; display: block; height: 100%;background-color: var(--cl-grid-item-bg-color); border-radius: var(--cl-grid-item-border-radius) color: var(--cl-grid-item-txt-color); text-decoration: none; font-weight: 500; }
.content-list .content-list-item a:visited { color: #fff; }
.content-list .content-list-item a:hover,
.content-list .content-list-item a:active,
.content-list .content-list-item a:focus { color: var(--cl-grid-hover-txt-color); }
.content-list .content-list-item.selected a { background-color: var(--cl-grid-item-selected-bg-color); color: var(--cl-grid-item-selected-txt-color);}


.content-list .content-list-item .content-list-summary { color: var(--cl-grid-item-summary-txt-color);font-size: 0.9rem;display: block; margin-top: 0.6rem;}

.content-list.list .content-list-item a  { 
	margin-bottom: 1rem;
	width: 100%;
    border-bottom: var(--cl-list-item-border-bottom);	
}


/* DEV-STYLE: ST-070
   NAME: Inline content tag list
   FOR: EL-045
   PREFIX: tg
   ACTIVE: yes
*/

/* content tag list */
div.content > nav { position: absolute; }
div.content > nav .tag-list { display: flex; gap: 0.6rem; margin: 0.2rem 0 0 0}
div.content > nav .tag-list li a { text-decoration: none; color: #fff; height: 100%; padding: 0.6rem; background-color: var(--c-dark-grey);}
div.content > nav .tag-list li a:hover,
div.content > nav .tag-list li a:active,
div.content > nav .tag-list li a:focus { color: #fff}

/* DEV-STYLE: ST-023
   NAME: CMS content media
   FOR: CMS-CONTENT
   ACTIVE: unknown
*/
div.content p img { max-width: 100%; height: auto;}


/* DEV-STYLE: ST-022
   NAME: Page tools
   FOR: TF-002
   ACTIVE: yes
*/
.page-tools { margin-top: 2rem;justify-content: center;}
.page-tools.horiz li { display: inline-block; margin-right: 1rem }

/* DEV-STYLE: ST-077
   NAME: Comment list presentation
   FOR: SHARED
   ACTIVE: no
*/
.comment-wrap { margin-bottom: 1em; display: none;}
.comment-list-wrap { margin-bottom: 20px; }
.comment-list-wrap h2 { font-size: 0.9em; }
.comment-list li { padding: 10px; margin-bottom: 10px; }
.comment-list li .auth-name,
.comment-list li .datestamp { font-size: 0.8em; display: block; }
.comment-list li .datestamp { margin-bottom: 10px; }
.comment-list li .reply { margin-left: 10px; padding: 10px 10px;}
/* DEV-STYLE: ST-061
   NAME: Comment form
   FOR: EL-003
   ACTIVE: no
*/
.comment-form { padding: 0; margin-bottom: 20px; }
.comment-form textarea { width: 95%; }
.comment-form label { display: block; margin-top: 1rem}
.comment-form input[type="text"] { width: 95%; }
#commentError { margin-bottom: 10px; }


/* DEV-STYLE: ST-060
   NAME: Subscribe form
   FOR: EL-039
   ACTIVE: yes
*/
/*.subscribe { margin-bottom: 1rem; }*/
.subscribe .form-section { margin-top: 1rem; }
.subscribe input { padding: 0.4rem; width: 40%; }
.subscribe input[type="submit"] { margin: 1rem 0; width: auto}
.subscribe ul,.subscribe ol { margin-top: 0.5rem; list-style-type: none; padding: 0;}
.subscribe label p { margin: 0}

/* DEV-STYLE-CONTINUATION: ST-061 */
.errorMsg { color: red}

/* DEV-STYLE-CONTINUATION: ST-034 */
footer h3 { margin: 1rem 0 0.5rem 0; font-size: 1.2rem; color: var(--c-blue)}


/* DEV-STYLE: ST-066
   NAME: Tag A-Z navigation
   FOR: EL-043
   PREFIX: tagaz
   MODIFIERS: 
   ACTIVE: yes
*/
.tag-az-wrap { width: 100%; margin-top: 2rem; }
.tag-az-title { color: var(--tagaz-title-txt-color); background-color: var(--tagaz-title-bg-color); display: inline-block; margin: 0 0 1rem 0}
.tag-az-list { display: grid;grid-template-columns: repeat(27, minmax(0, 1fr)); gap: 0.4rem;  margin: 0; padding: 0; list-style: none; }
.tag-az-list > .tag-az-entry { margin: 0; white-space:nowrap }

.tag-az-entry a,
.tag-az-entry span {
	width: 100%; 
    display: inline-flex; align-items: center; justify-content: center; min-width: 2.25rem; min-height: 2.25rem; padding: 0.35rem 0.5rem; box-sizing: border-box; 
    border: var(--tagaz-border); border-radius: var(--tagaz-border-radius); text-transform: uppercase; text-decoration: none; }

.tag-az-entry a { color: var(--tagaz-link-txt-color); background: var(--tagaz-link-bg-color); }
.tag-az-entry a:hover,
.tag-az-entry a:focus-visible { color: var(--tagaz-link-hover-txt-color); background: var(--tagaz-link-hover-bg-color); outline-offset: 2px;}

.tag-az-entry.empty span { color: var(--tagaz-empty-txt-color); background: var(--tagaz-empty-bg-color); border-color: var(--tagaz-empty-border-color); }

.tag-az-all-topics {
    display: inline-flex;
    margin-top: 0.75rem;
    min-height: 2.4rem;
    padding: 0.4rem 0.9rem;
    border: var(--tagaz-all-border);
    border-radius:var(--tagaz-border-radius);
    background-color: var(--tagaz-all-bg-color);
    color: var(--tagaz-all-txt-color);
    text-decoration: none;
    white-space: nowrap;
}
.tag-az-all-topics:hover,
.tag-az-all-topics:focus-visible { background: var(--tagaz-all-hover-bg-color); color: var(--tagaz-all-hover-txt-color); }

@media (max-width: 1090px) {
    .tag-az-list { grid-template-columns: repeat(13, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .tag-az-list { grid-template-columns: repeat(7, minmax(0, 1fr)); }
    .tag-az-entry a,
    .tag-az-entry span { min-height: 3rem; padding: 0.5rem; }
}

@media (max-width: 420px) {
    .tag-az-list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}



/* Full Tag Directory Navigation */
.tag-directory { }

.tag-directory.grouped  { }

.tag-directory-group {display: grid;grid-template-columns: 3rem minmax(0, 1fr);gap: 1rem;align-items: start;padding: 1rem 0;border-top: var(--tagdir-group-border);}
.tag-directory-group .tag-directory-heading {margin: 0;line-height: 2.5rem; color: var(--tagdir-group-title-txt-color);}

@media (max-width: 600px) {
    .tag-directory-group { grid-template-columns: 1fr; gap: 0.5rem;}
    .tag-directory-group h3 {line-height: 1.2;}
}

.tag-directory-heading { color: var(--tagdir-group-title-txt-color);}

.tag-directory-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }

.tag-directory-entry a {
	width: 100%; background-color: var(--tagdir-link-bg-color);color:var(--tagdir-link-txt-color);
    display: inline-flex; align-items: center; justify-content: center; min-width: 2.25rem; min-height: 2.25rem; padding: 0.35rem 0.5rem; box-sizing: border-box; 
    border: var(--tagdir-link-border); border-radius: var(--tagdir-border-radius); text-transform: uppercase; text-decoration: none; 
}

.tag-directory-entry a:hover { background-color: var(--tagdir-link-hover-bg-color);color:var(--tagdir-link-hover-txt-color);text-decoration: underline;text-underline-offset: 0.15em;}
.tag-directory-entry a:focus-visible {outline-offset: 2px;}
.tag-directory-entry a[aria-current="page"] {background-color: var(--tagdir-current-bg-color);border: var(--tagdir-link-current-border);color: var(--tagdir-link-current-txt-color);font-weight: 700;}



/* content tag list */
/* styles used for the output of content token {content-tags-list-ext} */
.content-tags-list { gap: 0.6rem; margin: 0.2rem 0 0 0;  display: flex;flex-wrap: wrap;gap: 0.45rem; margin: 0 0 2rem 0; padding: 0; list-style-type: none}
.content-tags-list li.content-tags-entry a.content-tags-link { display: inline-block;padding: 0.24rem 0.75rem;border: var(--ctags-link-border);border-radius: var(--ctags-link-border-radius);background: var(--ctags-link-bg-color);color: var(--ctags-link-txt-color);text-decoration: none;line-height: 1.35;}
.content-tags-list li.content-tags-entry a.content-tags-link:hover,
.content-tags-list li.content-tags-entry a.content-tags-link:active,
.content-tags-list li.content-tags-entry a.content-tags-link:focus { text-decoration: underline; text-underline-offset: 0.14em; background: var(--ctags-link-hover-bg-color);color: var(--ctags-link-hover-txt-color);}



/* tag entry list */

.tag-results-list {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 1.25rem;margin-top: 1.25rem;}
@media (max-width: 1024px) {
	.tag-results-list {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 600px) {
.tag-results-list { grid-template-columns: repeat(1, minmax(0, 1fr)); }
}

.tag-results-card { display: flex;flex-direction: column;min-width: 0;padding: 1.45rem 1.5rem 1.25rem;border: var(--tagres-entry-border);border-radius: 0.55rem;background: var(--tagres-entry-bg-color);}

.tag-results-title {margin: 0;font-size: 1.3rem;line-height: 1.25;}
.tag-results-title a {display: flex;align-items: flex-start;justify-content: space-between;gap: 1rem; background-color: var(--tagres-link-bg-color); color: var(--tagres-link-txt-color);text-decoration: none;}
.tag-results-title a:hover,
.tag-results-title a:focus-visible {text-decoration: underline;text-underline-offset: 0.18em; background-color: var(--tagres-link-hover-bg-color); color: var(--tagres-link-hover-txt-color);}

.tag-results-card .card-arrow { flex: 0 0 auto;margin-top: -0.05em;font-size: 2rem;font-weight: 300;line-height: 0.8;}

.tag-entry-card > p { margin: 0.9rem 0 1rem; }
.tag-results-tags {display: flex;align-items: flex-start;gap: 0.7rem;margin-top: auto;padding-top: 0.8rem;border-top: var(--tagres-tags-divider);}
.tag-results-tags .tag-label {flex: 0 0 auto;padding-top: 0.18rem;font-weight: 700;}





/* DEV-STYLE: ST-050
   NAME: Feature box
   FOR: EL-017, EL-018
   PREFIX: fb
   ACTIVE: yes
*/

.feature-box { border-radius: var(--fb-border-radius); background-color: var(--fb-bg-color); color: var(--fb-color); padding: 0; margin-block-end: 2rem; overflow: hidden;}
.feature-box .title {font-size: 1rem;margin: 0;padding: 20px;font-weight: bold; color: var(--fb-title-color);background: var(--fb-title-bg-color); }
.feature-box .content { margin: 0;padding: 0 1rem 1rem;color: var(--fb-color);}
.feature-box > .content:first-child { padding-top: 1rem; }
.feature-box .content > :first-child { margin-top: 0; }
.feature-box .content > :last-child { margin-bottom: 0;}
.feature-box img { max-width: 100%; height: auto;}
.feature-box a { color: var(--fb-link-color); }
.feature-box a:hover, .feature-box a:active, .feature-box a:focus { color: var(--fb-link-hover-color); }

/* DEV-STYLE-CONTINUATION: ST-051
   MODIFIER: .w-icon
*/
.feature-box.w-icon .title { padding-left: 52px; background-image: url(../img/icons/icon-star-light.png); background-repeat: no-repeat; background-position: 10px 11px; background-size: 30px }

.feature-box.w-button .content p > a:only-child { display: inline-block; margin: 1rem 0; color: var(--fb-button-txt-color); background-color: var(--fb-button-bg-color); padding: 0.2rem 0.5rem; text-decoration: none;}
.feature-box.w-button .content p a:only-child:hover,
.feature-box.w-button .content p a:only-child:active,
.feature-box.w-button .content p a:only-child:focus { color: var(--fb-button-hover-txt-color); background-color: var(--fb-button-hover-bg-color); text-decoration: none;}

/* DEV-STYLE: ST-051
   NAME:  Feature box full bleed
   FOR: EL-017
   VARIANT: .full-bleed
   ACTIVE: yes
*/
.feature-box.full-bleed { padding: 0 }
.feature-box.full-bleed .title { margin: 0; }
.feature-box.full-bleed .content { padding: 0 }
.feature-box.full-bleed .content p,
.feature-box.full-bleed .content h1,
.feature-box.full-bleed .content h2,
.feature-box.full-bleed .content h3,
.feature-box.full-bleed .content h4 { margin: 1rem; font-size: 1rem}

.feature-box.full-bleed .content p:has(> img:only-child) { margin: 0 0 1rem 0 }
.feature-box.full-bleed .content p:has(> img:only-child) > img { display: block;width: 100%;}


/* DEV-STYLE: ST-062
   NAME: Cookie banner
   FOR: CB-001, EL-015, EL-016
   PREFIX: cookie
   ACTIVE: yes
*/
.cookie-banner { border: var(--cookie-border); background-color: var(--cookie-bg-color); margin: 0; color: var(--cookie-bg-color); padding: 0 20px;}
.cookie-banner a { color: var(--cookie-link-color); text-decoration: underline;}
.cookie-banner.top { position: absolute;top: 0;}
.cookie-banner.bottom { position: fixed; bottom: 0px; height: auto;}
.cookie-banner #chkAcceptCookie { margin-right: 1em;}

/* DEV-STYLE: ST-074
   NAME: Unpadded content panel
   FOR: SHARED
   VARIANT: .no-pad
   ACTIVE: no
*/
.no-pad { padding: 0 !important;}
.no-pad div > article { padding: 1.25rem  }
.no-pad div > h1 { padding: 1.25rem; text-align: center; color: #fff; background-color: var(--c-light-blue); font-size: 1.5rem} 




.hero-image { position: relative; width: 100%; height: var(--hero-height); overflow: hidden; margin-bottom: 2rem; }
.hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-image .caption-wrap { position: absolute; inset: 0; width: 100%; pointer-events: none; }
.hero-image .caption { position: absolute; z-index: 2; left: 2rem; bottom: 2rem; width: min(40rem, calc(100% - 4rem)); padding: 2rem; background-color: var(--hero-caption-bg-color); color: var(--hero-caption-txt-color); pointer-events: auto; }
.hero-image .caption > * { color: var(--hero-caption-txt-color); }
.hero-image .caption h2 { margin-top: 0; }
.hero-image .caption .button { display: inline-block; width: auto; color: var(--hero-button-txt-color); background-color: var(--hero-button-bg-color); }
@media (max-width: 768px) {
	.hero-image { height: auto; overflow: visible; }
	.hero-image img { height: 18rem; object-fit: cover; }
	.hero-image .caption-wrap { position: static; }
	.hero-image .caption { position: static; width: auto; padding: 1.5rem; }
	.hero-image .caption h2 { font-size: calc(1.25rem + 0.9vw); }
}
@media (max-width: 768px) {
	.hero-image.mobile-caption-overlay { height: var(--hero-height); overflow: hidden; }
	.hero-image.mobile-caption-overlay img { height: 100%; }
	.hero-image.mobile-caption-overlay .caption-wrap { position: absolute; inset: 0; }
	.hero-image.mobile-caption-overlay .caption { position: absolute; left: 0; bottom: 0; width: 100%; max-height: 40%; padding: 1.25rem; background-color: var(--hero-caption-overlay-bg-color); overflow: auto; }
}

.slideshow-container {max-width:100%;position:relative;height:var(--ss-height);overflow:hidden;margin-bottom:2rem;}
.slideshow-container .slide {display:none;height:100%;}
.slideshow-container .prev,.slideshow-container .next {background-color:var(--ss-button-bg-color);cursor:pointer;position:absolute;top:50%;width:auto;margin-top:-22px;padding:16px;color:var(--ss-button-txt-color);font-weight:bold;font-size:1rem;transition:0.6s ease;border-radius:0 3px 3px 0;user-select:none;text-decoration:none;z-index:10;}
.slideshow-container .next {right:0;border-radius:3px 0 0 3px;}
.slideshow-container .prev:hover,.slideshow-container .next:hover {background-color:var(--ss-button-hover-bg-color);}
.slideshow-container .prev:focus-visible,.slideshow-container .next:focus-visible {outline:3px solid #fff;outline-offset:2px;}

.slideshow-container .slide-wrap,.slideshow-container .slide-wrap .slide {height:100%;width:100%;}
.slideshow-container .slide-wrap a {text-decoration:none;display:block;}
.slideshow-container .slide-wrap .slide a {text-decoration:none;display:block;height:100%;position:relative;}
.slideshow-container .slide-wrap img {display:block;object-fit:cover;object-position:center;height:100%;width:100%;}
.slideshow-container .slide-wrap .caption-wrap {position:absolute;inset:0;width:100%;pointer-events:none;}
.slideshow-container .slide-wrap .caption {position:absolute;z-index:2;left:3rem;bottom:3rem;width:min(40rem,calc(100% - 4rem));padding:2rem;background-color:var(--ss-caption-bg-color);color:var(--ss-caption-txt-color);pointer-events:auto;}
.slideshow-container .slide-wrap .caption>* {color:var(--ss-caption-txt-color);}
.slideshow-container .slide-wrap .caption h2 {margin-top:0;}
.slideshow-container .slide-wrap .caption .button {display:inline-block;width:auto;color:var(--ss-button-txt-color);background-color:var(--ss-button-bg-color);}
.slideshow-container .slide-wrap .text {color:#f2f2f2;font-size:15px;padding:8px 12px;position:absolute;bottom:8px;width:100%;text-align:center;}

.slideshow-container .slide-dots {display:flex;justify-content:flex-end;align-items:center;gap:0.125rem;position:absolute;right:1rem;bottom:0;z-index:99;margin:0;padding:0.35rem 0.5rem;background:var(--ss-dots-control-bg-color);border-radius:0.5rem 0.5rem 0 0;box-shadow:0 -1px 6px rgba(0,0,0,0.22);}
.slideshow-container .slide-dot {position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin:0;cursor:pointer;background:transparent;border:0;border-radius:50%;}
.slideshow-container .slide-dot::before {content:"";display:block;width:12px;height:12px;background-color:var(--ss-dots-color);border:2px solid transparent;border-radius:50%;transition:background-color 0.2s ease,border-color 0.2s ease,transform 0.2s ease;}
.slideshow-container .slide-dot.active::before {background-color:var(--ss-dots-active-color);border-color:var(--ss-dots-outline-color);transform:scale(1.15);}
.slideshow-container .slide-dot:hover::before {background-color:var(--ss-dots-active-color);}
.slideshow-container .slide-dot:focus-visible,.slideshow-container .slide-control:focus-visible {outline:3px solid var(--ss-button-bg-color);outline-offset:2px;}

.slideshow-container .slide-dots .slide-control {position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;margin:0;cursor:pointer;background:transparent;border:0;border-radius:4px;color:var(--ss-control-color);}
.slideshow-container .slide-dots .slide-control:hover {background-color:var(--ss-control-hover-bg-color);}
.slideshow-container .slide-dots .slide-control.pause::before {content:"";display:block;width:4px;height:16px;background:currentColor;box-shadow:7px 0 0 currentColor;transform:translateX(-3.5px);}
.slideshow-container .slide-dots .slide-control.play::before {content:"";display:block;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid currentColor;margin-left:3px;}

@media (max-width:768px) {
	.slideshow-container {height:auto;overflow:visible;}
	.slideshow-container .slide-wrap,.slideshow-container .slide-wrap .slide {height:auto;}
	.slideshow-container .slide-wrap .slide a {height:auto;}
	.slideshow-container .slide-wrap img {height:18rem;object-fit:cover;}
	.slideshow-container .slide-wrap .caption-wrap {position:static;}
	.slideshow-container .slide-wrap .caption {position:static;width:auto;padding:1.5rem;}
	.slideshow-container .slide-wrap .caption h2 {font-size:calc(1.25rem + 0.9vw);}
	.slideshow-container .prev,.slideshow-container .next {top:9rem;}
	.slideshow-container .slide-dots {position:static;justify-content:flex-end;width:auto;margin:0;padding:0.5rem 1rem;background:#fff;border-radius:0;box-shadow:none;}
}

/* Optional mobile caption overlay variant */

@media (max-width: 768px) {
.slideshow-container.mobile-caption-overlay { height: var(--ss-height); overflow: hidden; }
.slideshow-container.mobile-caption-overlay .slide-wrap, .slideshow-container.mobile-caption-overlay .slide-wrap .slide, .slideshow-container.mobile-caption-overlay .slide-wrap .slide a { height: 100%; }
.slideshow-container.mobile-caption-overlay .slide-wrap img { height: 100%; }
.slideshow-container.mobile-caption-overlay .slide-wrap .caption-wrap { position: absolute; inset: 0; }
.slideshow-container.mobile-caption-overlay .slide-wrap .caption { position: absolute; left: 0; bottom: 0; width: 100%; max-height: 55%; padding: 1.25rem; background-color: var(--ss-caption-bg-color); overflow: auto; }
.slideshow-container.mobile-caption-overlay .prev, .slideshow-container.mobile-caption-overlay .next { top: 50%; }
.slideshow-container.mobile-caption-overlay .slide-dots { margin-top: -60px; margin-right: 2rem; padding: 0; }
}

.fade { animation-name: fade; animation-duration: 1.5s;}
@keyframes fade { from {opacity: .4} to {opacity: 1} }

/* DEV-STYLE: ST-024
   NAME: CMS accordion
   FOR: CMS-CONTENT
   PREFIX: tc
   ACTIVE: unknown
*/

/* accordion */
.toggle-cross { cursor: pointer; color: var(--tc-txt-color); padding: 8px; background-color: var(--tc-bg-color); line-height: 1.2;font-size: 1em;}
.toggle-cross:after { content: '+'; /*position: relative;*/ float: right; color: var(--tc-txt-color); font-size: 1em;}
.toggle-cross.open:after { content: '—';}
.toggle-cross:hover,
.toggle-cross:focus { background-color: var(--tc-hover-bg-color); color: var(--tc-hover-txt-color);}
.toggle-content { display: none; margin-left: 15px; margin-bottom: 3em; position: relative; overflow: hidden;}
.toggle-title {color: var(--tc-txt-color); padding: 8px; background-color: var(--tc-bg-color); line-height: 1.2;font-size: 1em;}

#accControlWrap { text-align: right; padding-bottom: 1rem}
#allControl { padding: 0.5rem; color: var(--tc-txt-color); background-color: var(--tc-bg-color); text-decoration: none;}


/* DEV-STYLE: ST-059
   NAME: Poll
   FOR: EL-029
   PREFIX: p
   ACTIVE: yes
*/

/* polls */

.poll-wrap { background-color: var(--poll-bg-color); margin: 0 0 20px 0;  border-radius: var(--poll-border-radius); border: var(--poll-border); overflow: hidden;}
.poll-wrap .title { color: var(--poll-title-txt-color); background-color: var(--poll-title-bg-color); margin: 0 0 0.8rem 0; font-size: 1rem; padding: 0.75rem 1rem} 
.poll-wrap .title.w-icon { background-position: 1rem center; background-image: url(../img/icons/icon-check-dark.png); background-repeat: no-repeat; background-size: 1.75rem; text-align: left; padding-inline: 3.25rem 1rem }
.poll-wrap .poll { padding: 0 1rem; margin-bottom: 20px;}
.poll-wrap .poll .graph { background-color: var(--poll-graph-bg-color); color:  var(--poll-graph-txt-color); margin-bottom: 5px;}
.poll-wrap .poll .totalVotes { color: var(--poll-txt-color); display: block;font-weight: bold;margin: 10px 0;}
.poll-wrap .poll .novotes { color: var(--poll-no-votes-color); }
.poll-wrap .poll .pollQ {color:  var(--poll-txt-color); display: block;margin: 5px 0 10px 0;}
.poll-wrap .poll .option {color:  var(--poll-txt-color);}
.poll-wrap .poll .option {display: flex;margin-bottom: 10px;}
.poll-wrap .poll .option input[type=radio],
.poll-wrap .poll .option input[type=checkbox]{margin-top: 0;}
.poll-wrap .poll .option span {margin-left: 0.5rem;line-height: 1.2em;}
.poll-wrap .voteButton {display: block;margin: 1.25rem 0;text-align: center;}



/* DEV-STYLE: ST-011
   NAME: Generic card presentation
   FOR: SHARED
   ACTIVE: yes
*/

/* card content block */
.card { background-color: var(--card-bg-color); color: var(--card-txt-color); border: var(--card-border); margin: 0; padding: 0; height: 100%;} 

.card .card-copy { padding: 1.2rem; display: flex; flex-direction: column; align-items: flex-start; }
.card .card-img { height: var(--card-img-height); overflow: hidden;}
.card img { margin: 0; max-width: 100%; width: 100%; height: 100%; object-fit: cover; display: block;  }
.card a,
.card a:link { color: var(--card-link-txt-color); text-decoration: none; display: flex; flex-direction: column; height: 100% }
.card a:hover,
.card a:active,
.card a:focus { color: var(--card-link-txt-color-hover);  } 

.card .card-title { font-weight: 600; display: block; margin: 0; color: var(--card-title-txt-color); font-size: var(--card-title-font-size)}
.card .card-summary { display: block; margin: 1.2rem 0 1.2rem 0; background-color: var(--card-summary-bg-color); color: var(--card-summary-txt-color); font-size: 0.9rem; }
.card .card-summary p  { margin: 0; }
.card .card-button { background-color: var(--card-button-bg-color); color: var(--card-button-txt-color); padding: 0.5rem; margin-top: 0.5rem;  }

.card.no-img-cover img { height: auto; object-fit: inherit;}

/* DEV-STYLE: ST-012
   NAME: Card effect modifiers
   FOR: SHARED
   VARIANT: .w-grow-hover, .w-shadow, .w-shadow-hover
   ACTIVE: no
*/
.card.w-grow-hover:hover { transform: scale(1.02); }
.card.w-shadow { box-shadow: 0 0 11px rgba(33,33,33,.2); }
.card.w-shadow-hover { transition: box-shadow .3s; }
.card.w-shadow-hover:hover { box-shadow: 0 0 11px rgba(33,33,33,.2); }


/* DEV-STYLE: ST-014
   NAME: Flat split card layout
   FOR: SHARED
   VARIANT: .card.flat
   ACTIVE: no
*/
.card.flat * { text-align: left; }
.card.flat a { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; }
.card.flat a .card-img { }
.card.flat a .card-img img {width: 100%; height: 100%; object-fit: cover; display: block; }
@media only screen and (max-width: 768px) {
	.card.flat a { grid-template-columns: repeat(1, 1fr); }
	.card.flat a .card-img { grid-column-start: 1; grid-row-start: 1; }
}



/* DEV-STYLE: ST-040
   NAME: Homepage latest-news row
   FOR: TF-004
   ACTIVE: yes
*/

.latest-news-row { background-color: inherit;  color: var(--latest-news-row-txt-color);}
.latest-news-wrap { background-color: inherit; }
.all-news {text-align: center; margin: 0.5rem 0 0 0; background-color: var(--c-lime); border-radius:35px; padding: 1rem }
.all-news a { text-decoration: none;}
.latest-news-header h3 { background-color: var(--c-lime); color: #000; border-radius: 35px; font-size: 1rem; font-weight: bold}



/* DEV-STYLE: ST-065
   NAME: News ticker
   FOR: SHARED
   PREFIX: ticker
   ACTIVE: yes
*/

/* News ticker
-------------------------------------------------- */

.ticker-wrapper { position: relative; margin-bottom: 20px; padding: 0; overflow: hidden; background-color: var(--ticker-bg-color); color: var(--ticker-txt-color); border-radius: 30px;}

.ticker { position: relative; min-height: 48px; overflow: hidden; }

.ticker-title { position: relative; z-index: 2; margin-right: 1rem; float: left; min-height: 48px; padding: 0 18px; display: flex; align-items: center; background-color: var(--ticker-title-bg-color); }
.ticker-title span { display: block; margin: 0; padding: 0; color: inherit; font-size: 1rem; font-weight: 600; line-height: 1.2; white-space: nowrap; }

.ticker-content { margin: 0; padding: 14px 18px; color: inherit; font-size: 1rem; line-height: 1.25; white-space: nowrap; }

.ticker-wrapper a,
.ticker-wrapper a:link,
.ticker-wrapper a:visited { color: inherit; text-decoration: none; }
.ticker-wrapper a:hover { text-decoration: underline; }
.ticker-wrapper a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.ticker-swipe {
    pointer-events: none;
}

@media (max-width: 600px) {
    .ticker-title { padding-inline: 12px; }
    .ticker-content { padding-inline: 12px; }
}
