:root {

	--c-primary-base-rgb: 0 81 149;
	--c-primary-base-hwb-base: 207;
	--c-primary: rgb(var(--c-primary-base-rgb));
	--c-primary-alt1: hwb(var(--c-primary-base-hwb-base) 40% 24%);
	--c-primary-alt2: hwb(var(--c-primary-base-hwb-base) 45% 22%);
	--c-primary-alt3: hwb(var(--c-primary-base-hwb-base) 50% 20%);
	--c-primary-alt4: hwb(var(--c-primary-base-hwb-base) 55% 18%);
	--c-primary-alt5: hwb(var(--c-primary-base-hwb-base) 60% 16%);
	--c-primary-alt6: hwb(var(--c-primary-base-hwb-base) 65% 14%);
	--c-gray: gray;
	--c-text-base: 64 64 80;
	--c-text: rgb(var(--c-text-base));
	--c-text-50: rgba(var(--c-text-base) / .5);
	
	--c-line: #CEDDE8;
	--c-lightest: #F2F6F9;
	
	--font-size-xs: 0.75rem;
	--font-size-sm: 0.875rem;
	--font-size-md: 1rem;
	--font-size-lg: 1.25rem;
	--font-size-xl: 1.5rem;
	--font-size-2xl: 1.75rem;

	--gap-grid: 2rem;
	--gap-tech: min(calc(1vw * 3.25), 16px);
	
}

/* fonty */
@font-face { font-family: 'opensanslight'; src: url('font/opensans-semibold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'opensanslight'; src: url('font/opensans-light.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'opensanslight'; src: url('font/opensans-lightitalic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }


/* reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;	padding: 0; border: 0; outline: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline;
}
:focus {outline: 0;} /* remember to define focus styles! */
body {line-height: 1; color: black; background: white;}
ol, ul {list-style: none;}
table {border-collapse: separate; border-spacing: 0;} /* tables still need 'cellspacing="0"' in the markup */
caption, th, td {text-align: left;font-weight: normal;}
blockquote:before, blockquote:after,
q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
input, button, select, textarea {font-family: inherit; font-size: 1rem;}
/* reset end */

/* global */
* {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body * {
    position: relative;
}

/* utility */
.offscreen { clip-path: inset(100%);clip: rect(1px 1px 1px 1px); /* IE 6/7 */ clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.onscreen { position:relative; clip:auto; width:auto; height:auto; overflow:auto; }
.bold, strong {font-weight: bold;}
.italic, em {font-style: italic;}
.t-center {text-align: center;}
.t-right {text-align: right;}
.fs-2xl {font-size: var(--font-size-2xl);}
.fs-xl {font-size: var(--font-size-xl);}
.fs-lg {font-size: var(--font-size-lg);}
.fs-sm {font-size: var(--font-size-sm);}
.fs-xs {font-size: var(--font-size-xs);}
.svg-text path {fill: inherit; }
.svg-text {fill: currentColor; }
.t-btn {font-size: var(--font-size-xs); font-weight: bold; letter-spacing: .1em; text-transform: uppercase;}
.t-white {color: #fff;}
.t-gray {color: var(--c-gray);}
.t-primary {color: var(--c-primary);}
.t-text {color: var(--c-text);}
.hide {display: none;}

.w-100 {width: 100%;}
.d-grid {display: grid;}
.d-block {display: block;}
.d-flex {display: flex; flex-wrap: wrap;}
	.justify-space-between {justify-content: space-between;}

.gap-half {gap: calc(var(--gap-grid) / 2)}
.avoid-column-break {break-inside: avoid-column;}

a.t-text {color: var(--c-text) !important;}
a.t-primary {color: var(--c-primary) !important;}
a.t-primary:hover, a:hover .t-primary {color: var(--c-text) !important; text-decoration: underline; text-decoration-color: rgba(var(--c-text-base) / .25);}

.bg-primary {background: var(--c-primary);}
.bg-lightest {background: var(--c-lightest);}

h1, h2, h3, h4, h5 {text-wrap: balance; line-height: 1.4;}
h1, h2, .h2, h3, h4 {font-weight: 700; }
h1, h2, .h2, .card h5 {color: var(--c-primary); }
h1 small, h2 small, .h2 small, h3 small, h4 small, h5 small {font-weight: normal; color: var(--c-gray); font-size: .75em;}

.my-0 {margin-block: 0 !important;}
.my-05 {margin-block: .5rem !important;}
.my-10 {margin-block: 1rem !important;}
.my-gg1 {margin-block: calc(var(--gap-grid)* 1) !important;}
.my-gg05 {margin-block: calc(var(--gap-grid)* .5) !important;}
.my-gg075 {margin-block: calc(var(--gap-grid)* .75) !important;}
.my-20 {margin-block: 2rem !important;}
.mt-05 {margin-top: .5rem;}
.mt-10 {margin-top: 1rem;}
.mt-20 {margin-top: 2rem;}
.mb-05 {margin-bottom: .5rem;}
.mb-10 {margin-bottom: 1rem;}
.mb-20 {margin-bottom: 2rem;}
.mb-30 {margin-bottom: 3rem;}


@media all and (min-width: 1200px) {
	.mb-lg-20 {margin-bottom: 2rem;}
	.columns-lg-2 {columns: 2; column-gap: var(--gap-grid);}
	.columns-lg-3 {columns: 3; column-gap: var(--gap-grid);}
}


hr {border: 0; border-top: 2px solid var(--c-lightest); height: 1px; width: 100%; margin: 0;}
:focus-visible {background: #F9E79F; color: #000;}

/* base */
html, body {font-family: "opensanslight", sans-serif; font-size: 16px; line-height: 1.57;}
a {color: inherit; text-decoration: none;}

/* text */

.text {}
.text > * {margin-block: calc(var(--gap-grid) * .75)}
.text > :first-child {margin-block-start: 0;}
.text > :last-child {margin-block-end: 0;}

.text a {text-decoration: underline; color: var(--c-primary); text-decoration-color: rgba(var(--c-primary-base-rgb) / .25);}
.text a:hover {text-decoration: none;}

.text ul > li:before {content: "+"; position:absolute; margin-left: -1.5em; color: var(--c-primary); font-weight: bold; opacity: .75}
.text ul ul > li:before {content: "";}
.text ul ul {list-style-type: circle;}
.text ul {margin-left: 1.5em;}

.text ol {margin-left: 2em; list-style-type: decimal;}
.text ol ol {list-style-type: lower-alpha;}
.text ol ol ol {list-style-type: circle;}

.text ul ul, .text ul ol, .text ol ul, .text ol ol {margin-block: calc(var(--gap-grid) * .5)} 

.text .grayblock, .text blockquote:not(.mediaref) {color: var(--c-primary);}

.text .map {margin-block: 0; margin-inline: -2rem; width: calc(100% + 4rem); aspect-ratio: 1/1;}

article.text h1 {font-size: var(--font-size-xl); margin-block: calc(var(--gap-grid) * 1);}
article.text h2, article.text .h2 {font-size: var(--font-size-md);}
article.text h3 {font-size: var(--font-size-sm);}

.pg .valuelist {margin: 0; padding: 0}
	.valuelist__item {border-bottom: 1px solid var(--c-line); padding-block: .5rem;}
	.valuelist__item:first-child {border-top: 1px solid var(--c-line);}
	.valuelist .valuelist__item:before {content: ""; display: none;}
	.valuelist__label, .valuelist__value {display: inline-block;}
	.valuelist__label {color: var(--c-primary); text-align: right; font-weight: bold; font-size: var(--font-size-xs); text-transform: uppercase;}
	.valuelist--9ch .valuelist__label {width: 12ch; padding-right: 1rem;}
	
.text img {max-width: 100%; height: auto;}

.more:not(a) > :last-child:after {content: ""; display: inline-block; background: url("/img/icon/arr-rg-sm.svg") no-repeat center center; background-size: contain; width: .70em; height: .70em; padding-left: 1em; opacity: .5; }
a.more:after {content: ""; display: inline-block; background: url("/img/icon/arr-rg-sm.svg") no-repeat center center; background-size: contain; width: .70em; height: .70em; padding-left: 1em; opacity: .5; vertical-align: middle;}

.bottomlinks {}

/* layout */

.pg__h, .pg__m, .pg__f {z-index: 100; }

.pg__container {width: 90%; margin: 0 auto; max-width: 1200px;}

.pg__h {z-index: 900; margin-bottom: 1rem;}
	.pg__h > .pg__container {display: flex; flex-wrap: wrap; gap: 1rem;}

.pg__h-logo {display: block; flex: 1 100%; }
	.pg__h-logo * {display: block; height: 100%;}
	.pg__h-logo-i {max-height: 90px; max-width: 100%; }
	.cs .pg__h-logo-i {aspect-ratio: 916/180;}
		
		.pg__tech {display: flex; gap: calc(var(--gap-tech) * 1.25); border-left: 1px solid var(--c-line); }
		.pg__tech a {line-height: 2rem; font-size: var(--font-size-sm); letter-spacing: 1px;}
			.langs {display: flex;}
				.langs a {padding-inline: var(--gap-tech); border-right: 1px solid var(--c-line);}
			.socials {flex: 1; display: flex; gap: calc(var(--gap-tech) * 1.25); }
				.socials a {color: var(--c-text-50);}
				.socials svg {height: 14px; top: 2px;}
		
.pg__n {order: 3; margin-left: auto; background: rgba(255 255 255 / 0); transition: background .2s;}
.pg__n:target {position: fixed; top: 0; right: 0; color: #fff; z-index: 950;}
	.pg__n-ico {position: fixed; width: 40px; height: 40px; top: 10px; right: 10px; z-index: 970; }
	.pg__n-ico svg {width: 100%; height: 100%;}
	
	.nav-main__menu {position: relative; overflow-y: auto; overflow-x: hidden; width: max-content; height: calc(100dvh - 100px); top: calc(min(90px, calc(0.1965 * 90vw)) + .85rem); padding-inline: 6vw; padding-bottom: 50px;}
	.nav-main__menu:after {content: " "; position: absolute; width: 30px; height: 100%; right: 0; top: 0; } /* scroll stripe */

	.nav-main__link {display: block; padding: .5rem 0; text-decoration: none; color: inherit; }
	.nav-main__subnav {margin-left: 1.5rem;}
	.nav-main__subnav .nav-main__link {color: hsl(0deg 0% 80%); padding: 0; margin-block: 0.5rem;}
	.nav-main__subnav .nav-main__link:before {content: "—"; position: absolute; left: -1.5rem;}
	
	.nav-main__launcher {color: var(--c-text); height: 2rem; padding-inline: var(--gap-tech); border-inline: 1px solid var(--c-line); display: flex; align-items: center; gap: .75rem; letter-spacing: 1px;}
		.nav-main__launcher svg {height: 1.15rem;}
		
	.nav-main__close, .nav-main__home, .nav-main__menu {display: none;}
	
	.nav-main.active, .nav-main:target {background: rgba(var(--c-text-base) / .95); height: 100%; }
	.nav-main.active .nav-main__launcher, .nav-main:target .nav-main__launcher {display: none;}
	.nav-main.active .nav-main__close, .nav-main.active .nav-main__home, .nav-main.active .nav-main__menu,
	.nav-main:target .nav-main__close, .nav-main:target .nav-main__home, .nav-main:target .nav-main__menu {display: block;}

	@media all and (min-width: 1200px) {
		.pg__n {order: 2; margin: 0; margin-right: auto;}
			.nav-main__launcher {display: none;}
			.nav-main {display: block; font-size: 12px;}
			.nav-main__menu {display: block; padding: 0; top: 0; display: flex; gap: 1rem; height: auto; width: auto; overflow: visible;}
			.nav-main__menu:hover {box-shadow: 0px 1px 0px rgba(0 0 0 / .05);}
			.nav-main__subnav {display: none; margin:0; min-width: max-content; background: var(--c-lightest);}
				.nav-main__subnav .nav-main__link {font-weight: normal; color: inherit; padding: .5rem 1.5rem .5rem 1rem; margin: 0;}
				.nav-main__subnav .nav-main__link:hover {background: #fff;}
				.nav-main__subnav .nav-main__link:before {display: none;}
			.nav-main__item--level-0 > .nav-main__link {text-transform: uppercase; font-weight: bold; letter-spacing: .1em;}
			.hover > .nav-main__link {color: var(--c-primary);} 
			.hover .nav-main__subnav {display: block; position: absolute; left: -1rem; z-index: 999;}
		.pg__tech {order: 3;}
	
	}

.pg main {margin-block-start: calc(var(--gap-grid) * 1.5); margin-block-end: calc(var(--gap-grid) * 3); font-size: var(--font-size-sm);}
.pg aside {display: grid; gap: var(--gap-grid); justify-content: stretch; align-self: start;}
		
	@media all and (min-width: 600px) and (max-width: 1200px) {
		.profile-single aside {grid-template-columns: 1fr 2fr;}	
	}
	
	.ix-section {padding-block-start: calc(var(--gap-grid) * 2); padding-block-end: calc(var(--gap-grid) * 2);}
		.ix-section--news {padding-block-start: 1rem;}
		.ix-section h2 {font-size: var(--font-size-lg); margin-bottom: 2rem;}

.pg__f {padding-block: calc(var(--gap-grid) * 3); font-size: var(--font-size-sm);}
	.pg__f hr {opacity: .1; margin-block: calc(var(--gap-grid) * 1.5);}
	.pg__f h4 {margin-bottom: 1rem;}
	.pg__f-copy {opacity: .5;}
	
	.pg__f ul > li:before {content: "+"; position:absolute; margin-left: -1.5em; color: #fff; font-weight: bold; opacity: .75}
	.pg__f ul {margin-left: 1.5em;}
	.pg__f a:hover, .pg__f a:active {text-decoration: underline; text-decoration-color: rgba(255 255 255 / .75);}

	/* custom */
	
	
	.specnav {display: grid; background: rgb(0 81 149 / .05); grid-template-columns: 1fr 90% 1fr; }
		
		.specnav__deco { display: grid; gap: 2px;}
			.specnav__deco :nth-child(1) {background: rgba(var(--c-primary-base-rgb) / .05); }
			.specnav__deco :nth-child(2) {background: rgba(var(--c-primary-base-rgb) / .05); }
			.specnav__deco :nth-child(3) {background: rgba(var(--c-primary-base-rgb) / .0); display: none;}

		.specnav__menu {width: 100%; max-width: 1200px; grid-area: 1 / 2 / 2 / 3; display: grid; grid-template-columns: repeat(2, 1fr); gap: 3px; place-content: center;}
		
		.specnav__span,
		.specnav__link {gap: 3px; height: 100%;}
		.specnav__link > span {aspect-ratio: 173 / 76; background: var(--c-text-50); padding-inline: 1rem; display: flex; align-items: center; gap: .5em; line-height: 1.4;}

		.specnav__link--1:after			{background-image: url(img/_/illu-01.png);}
		.specnav__link--2:after			{background-image: url(img/_/illu-02.png);}
		.specnav__link--3:after			{background-image: url(img/_/illu-03.png);}
		.specnav__link--4:after			{background-image: url(img/_/illu-04.png);}
		.specnav__link--5:after			{background-image: url(img/_/illu-05.png);}
		.specnav__link--6:after			{background-image: url(img/_/illu-06.png);}
		
		.specnav__link--1				> span {background-color: var(--c-primary-alt1);}
		.specnav__link--2				> span {background-color: var(--c-primary-alt4);}
		.specnav__link--3				> span {background-color: var(--c-primary-alt2);}
		.specnav__link--4				> span {background-color: var(--c-primary-alt5);}
		.specnav__link--5				> span {background-color: var(--c-primary-alt6);}
		.specnav__link--6				> span {background-color: var(--c-primary-alt3);}
		.specnav__link:hover > span,
		.specnav__link:active > span,
		.specnav__link:focus > span		{background: rgba(var(--c-primary-base-rgb) / .75); color: #fff;}
		.specnav__link:focus {background: #fff;}
		
		@media all and (min-width: 600px) {
			.specnav__menu {grid-template-columns: repeat(3, 1fr); gap: 3px var(--gap-grid);}
			.specnav__span:nth-child(1n+7) {display: none;}
		}
		
		@media all and (min-width: 900px) {
			.specnav__menu {grid-template-columns: repeat(4, 1fr);}
			.specnav__span:nth-child(1n+9) {display: none;}
		}
				
		@media all and (min-width: 1200px) {
			.specnav {gap: var(--gap-grid); grid-template-columns: 1fr max-content 1fr;}
			.specnav__menu {width: 90vw; grid-template-columns: repeat(6, 1fr);}
			.specnav__link:after {content: ""; position: relative; background-size: cover; display: block; aspect-ratio: 173/154; z-index: 10;}
			.specnav__link:before {content: ""; position: absolute; background: var(--c-lightest); bottom: 0; left: 0; width: 100%; aspect-ratio: 173/76; z-index: 20; opacity: .8;}
			.specnav__deco :nth-child(3) {display: block;}
			.specnav--fake .specnav__span {display: block;}
			.specnav--fake .specnav__deco :nth-child(3) {display: none;}
		}
		
		.specnav__span {min-height: 2rem; display: none; opacity: .3;}
		.specnav__span:nth-child(-n+2) {display: block;}
		.specnav--fake .specnav__deco :nth-child(2) {display: none;}
		
		.specnav__span:nth-child(1)  {background: rgba(var(--c-primary-base-rgb) / .6);}
		.specnav__span:nth-child(2)  {background: rgba(var(--c-primary-base-rgb) / .5);}
		.specnav__span:nth-child(3)  {background: rgba(var(--c-primary-base-rgb) / .6);}
		.specnav__span:nth-child(4)  {background: rgba(var(--c-primary-base-rgb) / .4);}
		.specnav__span:nth-child(5)  {background: rgba(var(--c-primary-base-rgb) / .3);}
		.specnav__span:nth-child(6)  {background: rgba(var(--c-primary-base-rgb) / .4);}
		.specnav__span:nth-child(7)  {background: rgba(var(--c-primary-base-rgb) / .5);}
		.specnav__span:nth-child(8)  {background: rgba(var(--c-primary-base-rgb) / .6);}
		.specnav__span:nth-child(9)  {background: rgba(var(--c-primary-base-rgb) / .4);}
		.specnav__span:nth-child(10) {background: rgba(var(--c-primary-base-rgb) / .5);}
		.specnav__span:nth-child(11) {background: rgba(var(--c-primary-base-rgb) / .6);}
		.specnav__span:nth-child(12) {background: rgba(var(--c-primary-base-rgb) / .5);}
		
		@media all and (min-width: 600px) {
			.specnav__span:nth-child(-n+6) {display: block;}
			.specnav__span:nth-child(-n+3) {opacity: .1;}
			.specnav--fake .specnav__deco :nth-child(2) {display: block;}
		}
		
		@media all and (min-width: 900px) {
			.specnav__span:nth-child(-n+8) {display: block;}
			.specnav__span:nth-child(-n+4) {opacity: .1;}
		}
				
		@media all and (min-width: 1200px) {
			.specnav__span:nth-child(-n+12) {display: block;}
			.specnav__span:nth-child(-n+6) {opacity: .1;}
			.specnav--fake .specnav__deco :nth-child(3) {display: none;}
		}
		
/* pages */

.pg-contact .toc {display: none;}
	
/* video, embed, object */

.responsive { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; }                                 
.responsive iframe, .responsive object, .responsive embed { position:absolute; top:0; left:0; width:100%; height:100%; }

/* doclist */

.doclist {margin: 1em 0em;}
.doclist li {margin: .3em 0em; padding-left: 30px;}
.doclist .docnote {color: gray; padding-left: 5px; font-size:.8em;}
.doclist .docpdf {background: url("img/icons/ico-pdf.png") no-repeat; line-height: 22px;}
.doclist .docdoc {background: url("img/icons/ico-doc.png") no-repeat; line-height: 22px;}
.doclist .docxls {background: url("img/icons/ico-xls.png") no-repeat; line-height: 22px;}
.doclist .docrtf {background: url("img/icons/ico-rtf.png") no-repeat; line-height: 22px;}
.doclist .doctxt {background: url("img/icons/ico-txt.png") no-repeat; line-height: 22px;}

/* errors */

#alerts {margin-bottom: 1em;}
#alerts .alert ul li {background: none; padding: 0px;}
.alert {padding: 0.5em 1em; color: #fff;}
.error {background: red;}
.msg {background: green;}
.clause {border-top: 1px solid tomato; padding-top: 0.5em;}
.clauseData {background: tomato; padding: 0.5em 1em; font-size: 0.8em; color: #ffcccc;}

#dbg {position: fixed; right: 10px; top: 10px; font-size: 11px; font-family: Courier; background: #ffff99; padding: 15px; text-align: left; z-index: 999; max-width: 500px; max-height: 100vh; overflow: auto; color: #333;}
#dbg a {position: absolute; text-decoration: none; height: 20px; line-height: 22px; width: 20px; text-align: center; background: darkorange; color: #fff; font-weight: bold; font-size: 20px; right: 0px; top: 0px; z-index: 1000; color: #333;}
#dbg a:hover {background: transparent; color: #333;}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000;}
#colorbox{outline:0;}
    #cboxContent{margin-top:20px;background:#000; margin-bottom: 40px;}
        .cboxIframe{background:#fff;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{border:5px solid #000; background:transparent; padding: 28px;}
        #cboxTitle{position:absolute; bottom:-20px; left:50%; transform: translateX(-50%); font-size:var(--font-size-xs); color:#ccc; line-height: 1.4em;}
        #cboxCurrent{position:absolute; top: 0px; right:0px; color:#ccc; line-height: 1.4em;}
        #cboxLoadingGraphic{background:url(img/loading.gif) no-repeat center center;}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
        
        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
        
        #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}                                                                        
        #cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(img/controls.svg) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
        #cboxPrevious:hover{background-position:bottom left;}
        #cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(img/controls.svg) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
        #cboxNext:hover{background-position:bottom right;}
        #cboxClose{position:absolute; top:10px; right:0px; display:block; background:url(img/controls.svg) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
        #cboxClose:hover{background-position:bottom center;}
		
/* tabs */

.tabs { padding-top: 41px; position: relative; margin: 20px 0px;}
.t-hide { display: none; }
.t-panel { border-top: 1px solid #ddd; padding: 0em 0em; padding-top: .5em}                                                                  
.t-active .t-nav {height: 42px; position: absolute; top: 0px; margin: 0px; z-index: 20;}
.t-nav {list-style-type: none; margin: 0px;}
.t-nav li {float: left; margin: 0px; margin-right: 1px; border: 1px solid #ddd; background: #efefef; padding: 0px;}
#page .t-nav li:before {content: "";}
.t-nav a {float: left; padding: 0em 1em; line-height: 40px; text-decoration: none; color: #333;}
.t-nav a:hover {background: #fff;}
.t-disabled a {color: silver;}
.t-disabled a:hover {background: #efefef;}
.tabs .selected, .fake-tabs .selected {border-bottom: 1px solid #fff; background: #fff;}

#page .fake-tabs {border-bottom: 1px solid #dcdcdc; position: relative; margin-left: 0px;}
#page .fake-tabs li {float: left; background: none; height: 60px; overflow: visible; padding: 0px; border: 1px solid #dcdcdc; margin-right: 1px; position: relative; margin-bottom: -1px;}
#page .fake-tabs li:before {content: "";}
#page .fake-tabs a {display: block; line-height: 20px; padding: 10px 15px 0px 15px;}
#page .fake-tabs li.active {border-bottom: 1px solid #fff;}
#page .fake-tabs li.active a {text-decoration: none; color: #333; font-weight: bold;}

/* .t-panel { border: 1px solid #ddd; padding: 1.5em 1.5em;} pro full framed panel */

#page .t-nav li {background: none; padding: 0px;}

/* pagination */
.pagination {}
	
/* buttons */

.btn, .button, .submit {background: var(--c-primary-alt6); -webkit-appearance: none; border-radius: 0px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
input.btn, input.button, input.submit { width: auto; overflow: visible; border: 0px solid;}
.pg .btn, .pg .button, .pg .submit {padding: 0em 1em; line-height: 2rem; display: inline-block; text-decoration: none; font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: .1rem; color: #fff; font-weight: bold; margin: 0 3px 3px 0; vertical-align: top;}
.pg .btn:hover, .pg .btn.active, .pg .button:hover, .pg .submit:hover {cursor: pointer; background: var(--c-primary); color: #fff;}
.pg .btn:active {background: none;}

.btn-group {display: inline-flex; margin: auto;}

/* gallery */

.gal {display: flex; flex-wrap: wrap; margin: 1.5rem 0rem;}
.gal > a {border: 2px solid transparent; position: relative; flex: 1 0 50%; max-width: 50%;}
.gal > a:hover {border-color: #8e9ea8;}
.gal > a img {display: block; width: 100%; height: auto;}

/* cols */

.cols, .text .cols {display: flex; justify-content: flex-start; align-items: stretch; flex-wrap: wrap;}
.cols > * {flex: 1 0 100%;}

.cols--gap {margin: calc(-1 * (var(--gap-grid) /2));}
.cols--gap > * {padding: calc(var(--gap-grid) / 2);}
.cols--gap-x-20 {margin-inline: calc(-1 * (var(--gap-grid) /2));}
.cols--gap-x-20 > * {padding-inline: calc(var(--gap-grid) / 2);}
.cols--gap-x-20-y-10 {margin-inline: calc(-1 * (var(--gap-grid) /2)); margin-block: calc(-1 * (var(--gap-grid) /4));}
.cols--gap-x-20-y-10 > * {padding-inline: calc(var(--gap-grid) / 2); padding-block: calc(var(--gap-grid) / 4);}

	.text .cols--gap {margin-block: 0rem; border: 2px solid var(--c-lightest); border-left: 0; border-right: 0;}

@media all and (min-width: 1200px) {
	.cols--lg-gap {margin: calc(-1 * (var(--gap-grid) /2));}
	.cols--lg-gap > * {padding: calc(var(--gap-grid) / 2);}
}

.cols--no-stretch {align-items: flex-start;}


.col-9 {flex: 1 74.97%; max-width: 74.97%}
.col-8 {flex: 1 66.64%; max-width: 66.64% }
.col-7 {flex: 1 58.32%; max-width: 58.32%}
.col-6 {flex: 1 49.98%; max-width: 49.98%}
.col-5 {flex: 1 41.59%; max-width: 41.59%}
.col-4 {flex: 1 33.32%; max-width: 33.32% }
.col-3 {flex: 1 24.99%; max-width: 24.99% }
.col-2 {flex: 1 16.65%; max-width: 16.65% }
.col-1 {flex: 1  8.32%; max-width:  8.32% }

@media all and (min-width: 600px) {
	.col-sm-9 {flex: 1 calc((100% / 12) * 9); max-width: calc((100% / 12) * 9); }
	.col-sm-8 {flex: 1 calc((100% / 12) * 8); max-width: calc((100% / 12) * 8); }
	.col-sm-7 {flex: 1 calc((100% / 12) * 7); max-width: calc((100% / 12) * 7); }
	.col-sm-6 {flex: 1 calc((100% / 12) * 6); max-width: calc((100% / 12) * 6); }
	.col-sm-5 {flex: 1 calc((100% / 12) * 5); max-width: calc((100% / 12) * 5); }
	.col-sm-4 {flex: 1 calc((100% / 12) * 4); max-width: calc((100% / 12) * 4); }
	.col-sm-3 {flex: 1 calc((100% / 12) * 3); max-width: calc((100% / 12) * 3); }
	.col-sm-2 {flex: 1 calc((100% / 12) * 2); max-width: calc((100% / 12) * 2); }
}

@media all and (min-width: 900px) {
	.col-md-9 {flex: 1 calc((100% / 12) * 9); max-width: calc((100% / 12) * 9); }
	.col-md-8 {flex: 1 calc((100% / 12) * 8); max-width: calc((100% / 12) * 8); }
	.col-md-7 {flex: 1 calc((100% / 12) * 7); max-width: calc((100% / 12) * 7); }
	.col-md-6 {flex: 1 calc((100% / 12) * 6); max-width: calc((100% / 12) * 6); }
	.col-md-5 {flex: 1 calc((100% / 12) * 5); max-width: calc((100% / 12) * 5); }
	.col-md-4 {flex: 1 calc((100% / 12) * 4); max-width: calc((100% / 12) * 4); }
	.col-md-3 {flex: 1 calc((100% / 12) * 3); max-width: calc((100% / 12) * 3); }
	.col-md-2 {flex: 1 calc((100% / 12) * 2); max-width: calc((100% / 12) * 2); }
}

@media all and (min-width: 1200px) {
	.col-lg-10	{flex: 1 calc((100% / 12) * 10); max-width: calc((100% / 12) * 10); }
	.col-lg-9 	{flex: 1 calc((100% / 12) * 9); max-width: calc((100% / 12) * 9); }
	.col-lg-8 	{flex: 1 calc((100% / 12) * 8); max-width: calc((100% / 12) * 8); }
	.col-lg-7 	{flex: 1 calc((100% / 12) * 7); max-width: calc((100% / 12) * 7); }
	.col-lg-6 	{flex: 1 calc((100% / 12) * 6); max-width: calc((100% / 12) * 6); }
	.col-lg-5 	{flex: 1 calc((100% / 12) * 5); max-width: calc((100% / 12) * 5); }
	.col-lg-4 	{flex: 1 calc((100% / 12) * 4); max-width: calc((100% / 12) * 4); }
	.col-lg-3 	{flex: 1 calc((100% / 12) * 3); max-width: calc((100% / 12) * 3); }
	.col-lg-2 	{flex: 1 calc((100% / 12) * 2); max-width: calc((100% / 12) * 2); }
}

@media all and (min-width: 1500px) {
	.col-xl-9 {flex: 1 calc((100% / 12) * 9); max-width: calc((100% / 12) * 9); }
	.col-xl-8 {flex: 1 calc((100% / 12) * 8); max-width: calc((100% / 12) * 8); }
	.col-xl-7 {flex: 1 calc((100% / 12) * 7); max-width: calc((100% / 12) * 7); }
	.col-xl-6 {flex: 1 calc((100% / 12) * 6); max-width: calc((100% / 12) * 6); }
	.col-xl-5 {flex: 1 calc((100% / 12) * 5); max-width: calc((100% / 12) * 5); }
	.col-xl-4 {flex: 1 calc((100% / 12) * 4); max-width: calc((100% / 12) * 4); }
	.col-xl-3 {flex: 1 calc((100% / 12) * 3); max-width: calc((100% / 12) * 3); }
	.col-xl-2 {flex: 1 calc((100% / 12) * 2); max-width: calc((100% / 12) * 2); }
}

/* toggle button .. used in cmp */
.tgl{display:none}
.tgl,.tgl:after,.tgl:before,.tgl *,.tgl :after,.tgl :before,.tgl + .tgl-btn{box-sizing:border-box}
.tgl::-moz-selection,.tgl:after::-moz-selection,.tgl:before::-moz-selection,.tgl ::-moz-selection,.tgl :after::-moz-selection,.tgl :before::-moz-selection,.tgl + .tgl-btn::-moz-selection{background:none}
.tgl::selection,.tgl:after::selection,.tgl:before::selection,.tgl ::selection,.tgl :after::selection,.tgl :before::selection,.tgl + .tgl-btn::selection{background:none}
.tgl + .tgl-btn{outline:0;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.tgl + .tgl-btn:after,.tgl + .tgl-btn:before{position:relative;display:block;content:"";width:50%;height:100%}
.tgl + .tgl-btn:after{left:0}
.tgl + .tgl-btn:before{display:none}
.tgl:checked + .tgl-btn:after{left:50%}
.tgl-btn-label{cursor: pointer}

.tgl + .tgl-btn { display: inline-block; width: 4em; height: 2em; }
.tgl-light + .tgl-btn { background: #ddd; border-radius: 2em; padding: 1px; transition: all 0.2s ease; }
.tgl-light + .tgl-btn:after { border-radius: 50%; background: #fff; transition: all 0.2s ease; }
.tgl-light:checked + .tgl-btn { background: #8e9; }

/* card component */

.card {break-inside: avoid;}
	.card .text {font-size: var(--font-size-sm);}
	.card__title {padding: 1rem 2rem;}
	.card__body {padding: 2rem;}
	.card__block:has(.card__title + .card__body) .card__title {padding-bottom: 0;}
	.card__title + .card__body {padding-top: 1.5rem;}
	.card__divider {border-top: 3px solid #fff; margin-inline: -2rem; width: calc(100% + 4rem); margin-block: 1rem;}
	.card__footer {font-size: var(--font-size-xs); text-align: right; padding-block: .75rem;}
	
	
/* docpath component */

.docpath {}
	.docpath__item {display: inline-block; font-size: var(--font-size-xs); font-weight: bold; letter-spacing: .1em; text-transform: uppercase; line-height: 1.57; top: -.5rem}
	.docpath__item:hover, .docpath__item:active  {color: var(--c-primary);}
	.docpath__item:after {content: " \00a0/ \00a0"; color: var(--c-primary-alt6);}
	.docpath__item:last-child:after {content: ""; background: url('data:image/svg+xml,<svg viewBox="0 0 6 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 0L6 3.38209L0 6.71383V0Z" fill="%23005195"/></svg>') no-repeat; width: 6px; height: 7px; display: inline-block; margin-left: .75rem; vertical-align: baseline;}

	@media all and (min-width: 1200px) {
		.docpath {margin-left: 1.2rem;}
		.docpath__item {display: block; top: -.5rem; max-width: 100%; align-items: center;}
		.docpath__item span {display: block; white-space: nowrap; overflow:hidden; text-overflow: ellipsis;}	
		.docpath__item:after {content: ""; background: url('data:image/svg+xml,<svg viewBox="0 0 8 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 5.0354L4.03 3.05176e-05L8 5.0354H0Z" fill="%23005195"/></svg>') no-repeat; width: 8px; height: 6px; position: absolute; left: -1.2rem; top: 7px; }
		.docpath__item:last-child:after {content: ""; background: url('data:image/svg+xml,<svg viewBox="0 0 6 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 0L6 3.38209L0 6.71383V0Z" fill="%23005195"/></svg>') no-repeat; width: 6px; height: 7px; position: absolute; left: -1.2rem; margin-left: 2px;}
	}
	
.toc__item {display: inline-block; font-size: var(--font-size-xs); font-weight: bold; letter-spacing: .1em; text-transform: uppercase;}
	.toc__item:after {content: ""; background: url('data:image/svg+xml,<svg viewBox="0 0 8 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 0L3.97 5.03537L0 0L8 0Z" fill="%23005195"/></svg>'); width: 8px; height: 6px; display: inline-block; margin-left: .75rem; vertical-align: baseline;}
	.toc__item:hover, .toc__item:active  {color: var(--c-primary);}
	.toc .toc__item {text-decoration: none; }
	
	.toc {display: flex; flex-wrap: wrap; gap: 3px;}
	.toc__item {background: var(--c-lightest); padding-inline: 1rem; line-height: 2rem;}
	
	@media all and (min-width: 1200px) {
		.toc {gap: 1rem; position: absolute; right: calc(100% + 1.5rem + 8px); width: 150px; margin: 0; border-right: 1px solid var(--c-line); padding-right: 1rem; padding-block: .25rem 1.25rem;}
		.toc__item {background: none; padding-inline: 0; line-height: 1.37375em; flex: 1 100%; text-align: right;}
		.toc__item:after {position: absolute; top: .5rem; opacity: .2; display: none;}
	}
	
.copy {padding-left: .5rem; vertical-align: baseline; top: 2px;}
	.copy svg {width: 1em; height: 1em;}
	.copy .copy__check {display: none;}
	.copy--done .copy__check {display: block;}
	.copy--done {color: orange !important;}
	.copy--no-icon {cursor: pointer;}
	
.profile {display: block; padding-top: 3.765rem;}
	.profile__img {height: 200%; max-height: 150px; position: absolute; bottom: 0; right: 0; z-index: 20;}
	.profile__name { display: grid; grid-template-columns: 1fr auto; align-content: center; background: rgba(var(--c-primary-base-rgb) / .1); z-index: 10; padding: 1rem; font-size: var(--font-size-xs); line-height: 1.4; min-height: 5.15rem;}
	.profile:hover .profile__name { background: rgba(var(--c-primary-base-rgb) / .05);}
	.profile__arrow { height: 2rem; color: var(--c-primary); opacity: .2;}
	.profile__contact {margin-top: 3px; text-align: right;}
	.profile__top {display: block;}
	
	@media all and (max-width: 600px) {
		.profile {padding-top: 0;}
		.profile__img {height: 90%;}
	}
	
.profile-tag {display: inline-grid; grid-template-columns: max-content max-content; text-decoration: none !important; gap: .5rem; align-items: center;}
	.profile-tag .profile-tag__image {width: 2rem; height: 2rem; background: #fff; border-radius: 50px; object-fit: contain;}
	.profile-tag > :last-child {display: grid; font-size: var(--font-size-xs); line-height: 1.4; }

.profile-card {display: grid; grid-template-columns: 3fr 9fr; gap: var(--gap-grid); background: var(--c-lightest); justify-content: center;}
	.profile-card__thumb {background: var(--c-lightest); display: block; height: 100%;}
	a.profile-card__thumb:hover .profile-card__thumb-i, a.profile-card__thumb:active .profile-card__thumb-i{filter: opacity(1);}
		.profile-card .profile-card__thumb-i {filter: opacity(.80); height: 100%; object-fit: cover; display: block;}
	.profile-card__text {align-self: center; padding-block: .75rem;}
	
	@media all and (max-width: 500px) {
		.profile-card .profile-card__text h2 {font-size: .8rem;}
		.profile-card {font-size: .75rem;}		
	}
	.pg-contact .profile-card {grid-template-columns: 3fr 9fr; }

.profile-single {}
	.profile-single__thumb {background: var(--c-lightest);}
		.profile-single__thumb-i {mix-blend-mode: multiply; }
		
	.profile-single__contact li {cursor: pointer; }
		.profile-single__contact li:hover {background: rgba(var(--c-primary-base-rgb) / .1);}
		.profile-single__contact li:active {background: none;}
		
	.profile-single .btn--in svg {width: .9rem; display: inline-block; vertical-align: middle; top: -2px;}

.masonry {column-gap: var(--gap-grid);}
	.masonry > * { padding-bottom: var(--gap-grid);}
	
	@media all and (min-width: 900px) {
		.masonry {column-count: 2;}		
	}
	
	@media all and (min-width: 1200px) {
		.masonry {column-count: 3;}
	}
	
.mediaref footer {color: var(--c-primary); font-weight: bold; font-size: var(--font-size-xs); margin-top: .5rem;}

.ix-newsblocks {display: grid; gap: calc(var(--gap-grid) * 2);}

.ix-newsblock {border-top: 1px solid var(--c-line); padding-top: calc(var(--gap-grid) * 1.5);}
	.ix-newsblock .ix-newsblock__label {font-size: var(--font-size-xs); font-weight: bold; letter-spacing: .1rem; text-transform: uppercase; position: absolute; top: -.6rem; background: #fff; padding-right: 1rem; color: var(--c-text);}
	.ix-newsblock h3 {font-size: var(--font-size-md); margin-bottom: 1rem;}
	
	.ix-newsblock__more {display: grid; gap: 1rem;}
	.ix-newsblock__more-link {display: block; text-wrap: balance; padding-inline-end: 2rem;}
	.ix-newsblock__more-link:after {content: ""; background: url(/img/icon/ar-rg-big.svg) no-repeat right center; background-size: contain; aspect-ratio: 16/19; height: 1.5rem; opacity: .5; position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
	.ix-newsblock__more-link:hover:after {opacity: 1;}
	
	.ix-newsblock__stats {display: grid; grid-template-columns: min-content auto; align-items: stretch;}
	.ix-newsblock__stats > * {padding: 1rem; background: var(--c-lightest); text-wrap: balance;}
	.ix-newsblock__stats > :first-child {color: var(--c-primary); border-right: 1px solid var(--c-line);}
	.ix-newsblock__stats > :last-child {display: grid; place-content: center; }
	
.ix-commentary {}
	.ix-commentary h5 {font-size: var(--font-size-md); margin-bottom: 1rem; }
	.ix-commentary h5 a {font-weight: bold;}
	.ix-commentary h5 small {font-size: var(--font-size-sm); color: var(--c-gray);}
	.ix-commentary__authors {margin-bottom: .75rem;}
	.ix-commentary__teaser {display: grid; gap: .75rem;}
	.ix-commentary__teaser hr {border-top: 1px solid var(--c-primary-alt6);}
	
	
.article-item { display: grid; gap: calc(var(--gap-grid) / 2 * 0.5); }
	.article-item__tech {font-size: var(--font-size-xs); }
	.article-item__tech > * {display: inline-block; margin-right: .75rem;}
	
.qrcode {background: #fff; padding: 1rem;}

.reference {}
	.reference__title {display: block; text-wrap: balance; font-weight: bold;}
	
.reference-list-item {}
	.reference-list-item__title {display: block; text-wrap: balance; }