﻿:root {
   --layout-grid-gap: 1.25rem;
   
   --layout-width:95%;
   --layout-max-width: 1280px;
}

[class*="layout-row"]  div.layout-wrap { *zoom: 1; }
/*[class*="layout-row"]  div.layout-wrap:before,*/
[class*="layout-row"]  div.layout-wrap:after { clear: both; display: table; content: ""; line-height: 0; }
[class*="layout-row"]  div.layout-wrap { margin: 0 auto;width: var(--layout-width);max-width: var(--layout-max-width);}

.grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--layout-grid-gap)}
.grid-d4 { grid-template-columns: repeat(4, 1fr); overflow: hidden;}
.grid-d6 { grid-template-columns: repeat(6, 1fr); }

@media only screen and (min-width: 768px) {
	[class*="grid-d"] .d1 { grid-column: 1 / span 1; }
	[class*="grid-d"] .d2 { grid-column: 2 / span 1; }
	[class*="grid-d"] .d3 { grid-column: 3 / span 1; }
	[class*="grid-d"] .d4 { grid-column: 4 / span 1; }
	.grid-d6 .d5 { grid-column: 5 / span 1; }
	.grid-d6 .d6 { grid-column: 6 / span 1; }
	
	[class*="grid-d"] .d1-2 { grid-column: 1 / span 2; }
	[class*="grid-d"] .d1-3 { grid-column: 1 / span 3; }
	[class*="grid-d"] .d1-4 { grid-column: 1 / span 4; }
	[class*="grid-d6"] .d1-5 { grid-column: 1 / span 5; }
	[class*="grid-d6"] .d1-6 { grid-column: 1 / span 6; }
	[class*="grid-d"] .d2-3 { grid-column: 2 / span 2; }
	[class*="grid-d"] .d2-4 { grid-column: 2 / span 3; }
	[class*="grid-d6"] .d2-5 { grid-column: 2 / span 4; }
	[class*="grid-d6"] .d2-6 { grid-column: 2 / span 5; }
	[class*="grid-d"] .d3-4 { grid-column: 3 / span 2; }
	[class*="grid-d6"] .d3-5 { grid-column: 3 / span 3; }
	[class*="grid-d6"] .d3-6 { grid-column: 3 / span 4; }
	[class*="grid-d6"] .d4-5 { grid-column: 4 / span 2; }
	[class*="grid-d6"] .d4-6 { grid-column: 4 / span 3; }
	[class*="grid-d6"] .d5-6 { grid-column: 5 / span 2; }
	[class*="grid-d4"] .d-all { grid-column: 1 / span 4; }
	[class*="grid-d6"] .d-all { grid-column: 1 / span 6; }
}

@media only screen and (max-width: 768px) {
	.grid-t2 { grid-template-columns: repeat(2, 1fr); }
	.grid-t2 .t1 { grid-column: 1 / span 1; }
	.grid-t2 .t2 { grid-column: 2 / span 1; }
	.grid-t2 .t1-2,
	.grid-t2 .t-all{ grid-column: 1 / span 2; }
}         
@media only screen and (max-width: 450px) {
	.grid-m1 { grid-template-columns: repeat(1, 1fr); }
	.grid-m1 .m1 { grid-column: 1 / span 1; }
	.grid-m1 .m2 { grid-column: 1 / span 1; }
	.grid-m1 .m1-2,
	.grid-m1 .m-all { grid-column: 1 / span 1; }

	.grid-m2 { grid-template-columns: repeat(2, 1fr); }
	.grid-m2 .m1 { grid-column: 1 / span 1; }
	.grid-m2 .m2 { grid-column: 2 / span 1; }
	.grid-m2 .m1-2,
	.grid-m2 .m-all { grid-column: 1 / span 2; }
}


.flex { display: flex; gap: 1.2rem }
.flex.row { flex-direction: row; }
.flex.column { flex-direction: column; }
@media only screen and (max-width: 450px) {
	.flex, .flex-row { flex-direction: column; }
}

.top-bar-content { display: grid; grid-auto-flow: column;justify-content: right;margin: 0 0 1.25rem 0; padding: 0}
.top-bar-content > div {position: relative;height: 1.875rem;display: flex;align-content: flex-end;flex-wrap: wrap;align-items: flex-end;justify-content: flex-end;gap: 0.625em;}
.top-bar-content > div > div.not(.font-resize-wrap) { position: relative;height: 1.875rem;display: flex;align-content: flex-end;flex-wrap: wrap;align-items: center;justify-content: flex-end;}
.top-bar-content > div {padding: 0 0.625em;height: 3.75rem;border: none;}

@media only screen and (max-width: 900px) {
	.top-bar-content { display: flex;flex-wrap: wrap;flex-direction: column-reverse;justify-content: flex-end;align-items: center;align-content: flex-center; }
	.top-bar-content > div  { padding: 0 }
}

div.site-tools { flex-wrap: nowrap }


.issue-wrap { display: grid; gap: 1.25rem;}

@media only screen and (min-width: 450px) {
	.issue-wrap { display: grid; grid-template-columns: repeat(2, 1fr);	}
}


.footer-row .grid { grid-template-columns: repeat(1, 1fr); }
.footer-cards-row .grid { gap: 1.250em; grid-template-columns: repeat(1, 1fr); }
@media only screen and (min-width: 480px) {
.footer-cards-row .grid { grid-template-columns: repeat(2, 1fr); }
}
@media only screen and (min-width: 1024px) {
.footer-cards-row .grid { grid-template-columns: repeat(4, 1fr); }
}
.footer-cards-row .card { padding: 1.2em 0 0 0 }
.footer-cards-row .card p { margin: 0 0 1em 0 }
.footer-cards-row .card h4 { margin: 1em 0 0 0 }

.legal-row { margin-top: 4rem;}
@media only screen and (min-width: 900px) {
	.legal-row .grid { grid-template-columns: repeat(4, 1fr);}
	.legal-row .grid div:nth-child(1) {grid-column: 1 / span 3;}
	.legal-row .grid div:nth-child(2) {grid-column: 4 / span 1;}
	.legal-row .grid div:nth-child(3) {grid-column: 1 / span 3;}
	.legal-row .grid div:nth-child(1n) { justify-self: start; }
	.legal-row .grid div:nth-child(2n) { justify-self: end; }
}


/* utility */
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.t-align-left { text-align: left }
.t-align-right { text-align: right }
.t-align-center { text-align: center }

.pad-t { padding-block-start: 1.25rem }
.pad-b { padding-block-end: 1.25rem }
.pad-l { padding-inline-start: 1.25rem }
.pad-r { padding-inline-end: 1.25rem }

.txt-xsmall { font-size: 0.9rem }
.txt-small { font-size: 0.95rem }
.txt-regular { font-size: 1rem }
.txt-large { font-size: 1.05rem}
.txt-xlarge { font-size: 1.1rem}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

ul.inline { list-style-type: none; margin: 0 0 1rem; padding: 0}
ul.inline li { margin-block-end: 0.6rem }
@media only screen and (min-width: 900px) {
	ul.inline { display: flex; gap: 1em }
}

.unstyled { list-style-type: none; padding: 0; margin: 0;}

