/* CSS labyrinth theme - starlight v1.0 20220718 */

/* consumes font:
Libre+Baskerville:ital@1&family=Roboto+Slab&family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap
*/


/* --:[ root defines ]:-- */

:root {
	--margin-p-bottom:1.097142em;
	--font-size-p:1.75em*var(--mag-n);
	
	--color-primary:#e800db;
	--color-primary-bg:#ffdcfd;
	--color-highlight:#ff00f0;
	--color-caption:#999;
	--color-element-border:#ccc;
	--color-toco-element-border:var(--color-element-border);
}



/* --:[ text, legibility ]:-- */

/*s0*/@media (min-width: 280px) { :root { --mag-s:0.9;   --mag-n:0.85;  --mag-r:0.725;  --mag-l:0.5;  --plus-lh:0.1em; } }
/*s1*/@media (min-width: 320px) { :root { --mag-s:0.96;  --mag-n:0.942; --mag-r:0.85; --mag-l:0.55; --plus-lh:0.1em; } }
/*s2*/@media (min-width: 415px) { :root { --mag-s:0.975; --mag-n:0.95;  --mag-r:0.90; --mag-l:0.75; --plus-lh:0.0em; } }
/*st*/@media (min-width: 590px) { :root { --mag-s:1;     --mag-n:1;     --mag-r:1;    --mag-l:1;    --plus-lh:0.0em; } }
/*s3*/@media (min-width: 768px) { }
/*s4*/@media (min-width: 984px) { }
/*s5*/@media (min-width: 1200px){ }


body { font-family: 'Roboto', sans-serif; }
.t p, .t .text, .r-logo
	{ font-family:'Open Sans', sans-serif; font-weight:400; font-size:calc(var(--font-size-p)); line-height:calc(1.4em + var(--plus-lh)); margin-bottom:var(--margin-p-bottom); text-rendering:optimizelegibility; font-smoothing:antialiased; -webkit-font-smoothing:antialiased; }
.t p.caption, .t .caption p
	{ font-family:'Roboto Slab', serif; font-weight:400; font-size:calc(1.7em*var(--mag-n)); }

.t h1
	{ font-family:'Barlow', sans-serif; font-weight:700; font-size:calc(5.8em*var(--mag-l)); line-height:0.95em; letter-spacing:-0.035em;
 color:var(--color-primary); text-align:center; margin-bottom:0.15em; }
.t h1.no-condense { letter-spacing:initial; }
.t h2
	{ font-family:'Montserrat', sans-serif; font-weight:400; font-size:calc(3.2em*var(--mag-r)); color:var(--color-primary); text-align:center; margin-bottom:0.15em; letter-spacing:-1px; }
.t h3
	{ font-family:'Barlow', sans-serif; font-weight:700; font-size:calc(3.2em*var(--mag-l)); text-align:center; margin-bottom:0.15em; }
.t h4
	{ font-family:'Open Sans', sans-serif; font-weight:700; text-align:center; font-size:calc(2.2em*var(--mag-n)); text-align:center; margin-bottom:0.15em; }
.t p.left-flow
	{ font-family:'Barlow', sans-serif; font-weight:700; font-size:calc(3.0em*var(--mag-l)); margin-bottom:0.25em; }

.t h1 + p, .t h2 + p, .t h3 + p, .t h4 + p, .t p.left-flow + p { margin-top:1.2em; }
.t p + h1, .t p + h2, .t p + h3, .t p + h4 { margin-top:0.85em; }


.t .highlight { background-color:var(--color-highlight); }
.t .pop { color:var(--color-pop); }
.t .pop-alt { color:var(--color-pop-alt); }
.t .underline-pop { text-decoration:underline; text-decoration-thickness:2px; text-decoration-color:var(--color-pop-underline); }


.t h1,
.t h2,
.t h3,
.t h4
 { color:var(--color-g-1); text-shadow:var(--text-shadow-g); }

.t p
 { color:var(--color-g-p); text-shadow:var(--text-shadow-g); }

.super-headline-1-5 > span { font-size:1.5em; line-height:1.2em; }
.super-headline-2-05 > span { font-size:2.05em; line-height:1.2em; }
.super-headline-1-222 > span { font-size:1.222em; line-height:1.2em; }
.super-headline-1-667 > span { font-size:1.667em; line-height:1.2em; }



/*s0*/@media (max-width: 319px) {
	.t ul,
	.t ol { margin-left:2em; }
}


h1.pullquote,
h2.pullquote { margin:0; padding:0.5em 0.35em; border:2px dashed var(--color-highlight); background:var(--color-primary-bg); }



/* --:[ global structure ]:-- */

body { background:white; }
#main-wrapper { }
.content-wrap-normal {  }

.ctlayer { max-width:768px; margin:auto; }
.ctlayer.desktop-wide { max-width:1096px; }
.ctlayer.desktop-full { max-width:1200px; }



/* :[ bound, unbound, and inline variants ]: */

.section .unbounded.gutter { padding-left:8px; padding-right:8px; }

.section .bounded.gutter,
.section .subsection.gutter,
.section .indented.gutter { padding-left:6px; padding-right:6px; }
.section .bounded.gutter:not(.no-top-padding),
.section .subsection.gutter:not(.no-top-padding),
.section .indented.gutter:not(.no-top-padding) { padding-top:calc( var(--sp-section-top) - 8px ); }
.section .bounded > .inner { box-shadow:0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12), 0 2px 4px -1px rgba(0, 0, 0, .3); border:var(--border-section); background:white; max-width:740px; margin-left:auto; margin-right:auto; }
.section .indented > .inner { padding:1px; /* match --border-section border width */ }
.section .bounded > .inner > .tray,
.section .indented > .inner > .tray { padding:24px 12px; }
.section .indented.gutter > .inner > .tray { padding-top:0; }


.section .bounded-thick.gutter { padding-top:calc( var(--sp-section-top) - 8px ); padding-left:6px; padding-right:6px; }
.section .bounded-thick.inline.gutter { padding:0 0 calc( var(--sp-section-top) - 8px ); }
.section .bounded-thick.gutter.no-spacing { padding-top:0; }
.section .bounded-thick > .inner { border:6px solid black; background:transparent; max-width:740px; }
.section .bounded-thick > .inner > .tray { padding:24px 12px; }
.section .bounded-thick.inline > .inner > .tray { padding:20px 8px; }


/*s1*/@media (min-width: 320px) {
.section .bounded > .inner > .tray,
.section .indented > .inner > .tray { padding:32px 24px; }
.section .bounded-thick > .inner > .tray { padding:32px 24px; }
.section .bounded-thick.inline > .inner > .tray { padding:24px 12px; }
}


/*s3*/@media (min-width: 768px) {

.section .bounded.gutter,
.section .indented.gutter { padding-left:14px; padding-right:14px; }
.section .bounded > .inner > .tray,
.section .indented > .inner > .tray { padding:40px 60px; }

.section .bounded-thick.gutter { padding-left:14px; padding-right:14px; }
.section .bounded-thick > .inner > .tray { padding:40px 60px; }
.section .bounded-thick.inline > .inner > .tray { padding:32px 24px; }

}



/* :[ section spacing ]: */

.section .ctlayer.gutter { position:relative; }

.section.gutter { background:var(--section-background); }
.section.gutter + .section.gutter:not(.no-top-padding) > .inner { padding-top:calc( var(--sp-section-top) ); }
.section.gutter:not(.no-contrast-next) + .section.gutter:not(.no-top-padding) > .inner { padding-top:calc( var(--sp-section-top) + 12px ); }
.section.gutter:not(.no-contrast-next) { padding-bottom:calc( var(--sp-section-top) / 2 ); }


/*st*/@media (min-width: 590px) {

.section.gutter:not(.no-contrast-next) + .section.gutter:not(.no-top-padding) > .inner { padding-top:var(--sp-section-top); }
.section.gutter:not(.no-contrast-next) + .section.transition-bk.gutter:not(.no-top-padding) > .inner { padding-top:calc( var(--sp-section-top) + 3vw ); }

}




/* --:[ footer ]:-- */

#footer .t { font-size:calc(10px*var(--mag-s)); }
#footer.gutter { margin:auto; line-height:1.15em; text-align:center; }
#footer > .inner { color:#555; }
#footer > .inner.t p { font-size:1em; line-height:1.15em; margin-bottom:0.65em; }
#footer > .inner .r-copyright,
#footer > .inner .r-resources,
#footer > .inner .r-policy-list { font-size:1.4em; line-height:1.15em; }
#footer > .inner .r-copyright { margin-bottom:0.35em; }
#footer > .inner .r-resources { margin-bottom:2.4em; }
#footer > .inner .r-resources .restype-processor-vendor { line-height:1.35em; }
#footer > .inner .r-policy-list { margin-bottom:0.35em; line-height:1.5em; }
#footer > .inner .r-policy-list a,
#footer > .inner .r-policy-list a:visited
	{ color:#444; text-decoration:none; }
#footer > .inner .r-policy-list a:not(:last-child)::after { cursor:initial; content:" | "; font-size:0.9em; color:#666; padding:0 1em; }
#footer > .inner .r-disclaimer { font-size:1.3em; text-align:left; }
#footer > .inner .r-footer-pre,
#footer > .inner .r-footer-post { }
#footer > .inner .r-copyright:empty,
#footer > .inner .r-resources:empty,
#footer > .inner .r-policy-list:empty,
#footer > .inner .r-disclaimer:empty,
#footer > .inner .r-footer-pre:empty,
#footer > .inner .r-footer-post:empty { display: none; }



/* --:[ structure elements ]:-- */


/* :[ image boxes - photobox ]: */
.photobox { width:100%; padding-bottom:4px; }
.photobox img { padding:6px; box-shadow:0 0 4px 0px rgba(0,0,0,0.25); box-sizing:border-box; }
.photobox .caption { text-align:center; margin-top:0.4em; color:var(--color-caption); }

/*st*/@media (min-width: 768px) {
.photobox { width:48%; box-sizing:border-box; padding-bottom:8px; }
.photobox.left { float:left; padding-right:24px; }
.photobox.right { float:right; padding-left:24px; }
}


/* :[ image boxes - imgbox modifiers ]: */
.section .ctlayer .imgbox { font-size:calc(var(--font-size-p)); }
.section .ctlayer .imgbox:not(.no-side-margin) { padding-left:8px; padding-right:8px; }
.section .ctlayer .imgbox:not(.no-bottom-margin) { margin-bottom:var(--margin-p-bottom); }

/*st*/@media (min-width: 590px) {
	
.section .ctlayer .imgbox:not(.no-side-margin) { padding-left:16px; padding-right:16px; }

}

/*s3*/@media (min-width: 768px) {

.section .ctlayer .imgbox:not(.no-side-margin) { padding-left:24px; padding-right:24px; }

}



/* :[ section background transitions ]: */

.section .bklayer.gutter { position:absolute; width:100%; max-width:1920px; left:0; right:0; margin:auto; }

.section.transition-bk .bklayer > .inner { height:40px; }
.section.transition-bk.chevron-mid .bklayer > .inner {
	background-image:
		linear-gradient(to right bottom, transparent 49%, var(--section-background) 51%),
		linear-gradient(to left bottom,  var(--section-background-prev) 49%, transparent 51%);
}
.section.transition-bk.slant-left .bklayer > .inner {
	background-image:
		linear-gradient(to right bottom, var(--section-background-prev) 49%, transparent 51%);
}
.section.transition-bk.slant-right .bklayer > .inner {
	background-image:
		linear-gradient(to left bottom, var(--section-background-prev) 49%, transparent 51%);
}

/*st*/@media (min-width: 590px) {

.section.transition-bk .bklayer > .inner { height:calc(6vw + 20px); max-height:120px; }
.section.transition-bk.chevron-mid .bklayer > .inner {
	background-image:
		linear-gradient(to right bottom, transparent 49%, var(--section-background) 50%),
		linear-gradient(to left bottom,  var(--section-background-prev) 49%, transparent 50%);
}

}



/* :[ marquee headline ]: */
.section .marquee { margin-bottom:calc( var(--sp-section-top) - 8px ); }
.section .marquee:not(.bottom-only) { margin-top:var(--sp-section-top); }




/* :[ tocobox ]: */
.tocobox.gutter { padding:16px 0; }
.tocobox > .inner { padding:24px 32px; border:2px solid var(--color-toco-element-border); background:white; display:flex; flex-direction:column; }
.tocobox > div { width:100%; }
.tocobox .r-tocoimg { order:100; width:35%; margin:auto; }

.tocobox.style-img-circle .imgbox { border-radius:50%; padding:4px; box-shadow:0 0 4px 1px rgba(0,0,0,0.25); }
.tocobox.style-img-circle .imgbox img { border-radius:50%; }

/*st*/@media (min-width: 768px) {

.tocobox.gutter { padding:32px 20px; }
.tocobox > .inner { padding:32px 48px; display:block; }
.tocobox .r-tocoimg { order:initial; }

.tocobox .r-content .topmost { width:65%; }
.tocobox .r-tocoimg { width:35%; }
.tocobox.imgright .r-tocoimg { float:right; margin-right:-16px; padding-left:16px; }
.tocobox.imgleft .r-tocoimg { float:left; margin-left:-16px; padding-right:16px; }

}



/* :[ list elements - checkmark-swish, x-cross, cards ]: */

ul.checkmark-swish { margin-left:3.8em; --px-tightened-space:0px; }
ul.checkmark-swish li { list-style:none; }
ul.checkmark-swish li > p:first-child::before { content:''; display:inline-block; height:1.8em; width:1.8em; margin-left:calc(-2.4em + var(--px-tightened-space)); margin-right:calc(0.6em - var(--px-tightened-space)); margin-bottom:-0.4em; box-sizing:border-box; background-image:url(/images/icon-checkmark-black.png); background-size:contain; background-repeat:no-repeat; background-position:left center; }
ul.checkmark-swish li > p:first-child { margin-top:0.2em; }
.dark-background ul.checkmark-swish li > p:first-child::before { background-image:url(/images/icon-checkmark-white.png); }

.bounded.inline ul.checkmark-swish,
.bounded-thick.inline ul.checkmark-swish { --px-tightened-space:2px; }

ul.x-cross li::marker { color:#d10000; content:"\2717   "; /* unicode ballot x */ font-size:1.6em; font-weight:700; }
ul.x-cross.monotone li::marker { color:black; }
.dark-background ul.x-cross.monotone li::marker { color:white; }

.r-cards { list-style:none; background-image:linear-gradient(to right, transparent 0%, transparent 45%, #ff0080 45%, #ff0080 55%, transparent 55%); }
.r-cards .card { margin-top:24px; margin-bottom:24px; padding:24px 30px 24px calc(9.2% + 20px); border:6px dotted #EEE; background:#222; position:relative; }
.r-cards .card:first-child { margin-top:0 !important; }
.r-cards .card p:last-child { margin-bottom:0 !important; }
.r-cards .anchor-mark { font-size:calc(4.0em * var(--mag-l)); position:absolute; top:24px; left:4%; }
.r-cards .anchor-mark { content:''; display:inline-block; height:1em; width:1em; box-sizing:border-box; background-image:url(/images/icon-checkmark-black.png); background-size:contain; background-repeat:no-repeat; background-position:left center; }
.dark-background .r-cards .anchor-mark { background-image:url(/images/icon-checkmark-white.png); }

/*s3*/@media (min-width: 768px) {

ul.checkmark-swish li > p:first-child::before { margin-left:calc(-2.4em + var(--px-tightened-space)); margin-right:calc(0.6em - var(--px-tightened-space)); }
.r-cards .card { margin-top:32px; margin-bottom:32px; padding:32px 48px 32px 117px; }
.r-cards .anchor-mark { font-size:5.4em; top:32px; left:33px; }

}



