		
	body {
		-webkit-align-items: center;
		align-items: center;
	}
	
	#msg,
	body > section,
	#intro #faq,
	#intro #faq > *,
	#intro #faq h2,
	#ecn h2,
	#direct form,
	#direct form .col_ab,
	#direct form .send_captcha,	
	#topic,
	#docs-request.open,
	#docs-request > div,
	#docs-request > div > p {
		display:flex;
		display:-webkit-flex;
	}
		
	#msg,
	#docs-request > div > p {
		align-items: center;
		-webkit-align-items: center;
	}
	
	#intro #faq > *,
	#intro #faq h2,
	#direct form,
	#docs-request {
		flex-direction: column;
		-webkit-flex-direction: column;
	}
	
	

	#intro #faq,
	#msg {
		justify-content: center;
		-webkit-justify-content: center;
	}
	
	#msg {
		color: var(--grey-dark) !important;
		display:none;
		float:left;
		font-size:calc(1em + 0.3vw);
		padding: 0px 15px 15px 15px;
		text-align:center;
		width:100%; 
	}


	#msg .btn {
		margin:auto 10px auto 0px;
		padding-top: calc(5px + 0.4vw);
	}
	
	
	body > #intro {
		height: unset;
		max-height: unset;
	}

	body > #intro h1:first-of-type {
		margin-top: 0px;
	}
	
	#intro > div:first-of-type,
	#contact-opts p:not(:last-of-type) {
		margin-bottom:calc(10px + 2vw);
	}

		
		
	#intro #faq {
		justify-content:space-between;
		-webkit-justify-content:space-between;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-top: -15px;
	}

	#intro #faq h2,
	#ecn h2 {
		color:var(--white);
		font-size:20px;
		margin: 15px 0px 10px 0px;
	}
		
	#intro #faq > div > svg {
		height:50px;
		margin-right:auto;
	}
	
	#intro #faq h2 {
		margin-bottom:15px;
	}
	
	#intro #faq p,
	#ecn {
		font-size: calc(0.9em + 0.3vw);
	}

	#intro #faq p:last-of-type {
		margin-bottom: 15px;
	}
	
	#intro #faq a {
		color: inherit;
	}
	
	#intro #faq .button {
		margin-top: auto;
	}
	
	
	#ecn {
		-webkit-flex-direction: column;
		flex-direction: column;
		background-color: var(--stone);
		border: none;
		border-radius: 5px;
		box-shadow: 0px 0px 100px #7773;
		display: none;
		margin: auto;
		opacity: 0;
		position: fixed;
		transition-duration: .3s;
		transition-property: opacity;
		transition-timing-function: ease-in-out;
		z-index: 10;
	}
	
	#ecn.open {
		-webkit-display: flex;
		display: flex;
		opacity: 1;
	}
	
	#ecn h2 {
		background-color: var(--purple-lt);
		border-radius: 3px 3px 0px 0px;
		color: var(--purple-on-white);
		margin-bottom: 0px;
	}
	
	#ecn h2,
	#ecn > div,
	#ecn .button {
		-webkit-display: flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}
	
	#ecn a {
		color: inherit;
	}
	
	#ecn .button {
		background-color: var(--pale-purple);
		border-radius: 3px;
		height: 30px;
		margin: 0px 0px 0px auto;
		width: 32px;
		padding: 8px;
	}
	
	#ecn h2 svg {
		fill: var(--white);
		height: 12px;
		margin: 0px;
		width: 12px;
	}
	
	#ecn > div {
		background-color: var(--white);
		border-radius: 0px 0px 3px 3px;
	}
		
	#ecn table {
		width: 100%;
	}
		
	#ecn table tr:not(:last-of-type) > * {
		border-bottom: 1px solid var(--stone);
	}
		
	#ecn table tr > * {
		padding: 8px 15px 8px 15px;
	}
	
	#ecn table svg {
		fill: var(--stone);
		height: 1em;
	}
	
	#ecn ul {
		list-style-position: outside;
		padding-left: 20px;
	}
	
	body.overlay_on > .overlay {
		display: block;
		height: 100%;
		left: 0px;
		position: fixed;
		top: 0px;
		width: 100%;
		z-index: 1;
	}
	
		
	
	
	#topic label,
	#topic label span {
		display: -webkit-flex;
		display: flex;
	}

	#topic label {
		flex-direction:column;
		-webkit-flex-direction:column;
	}

	#docs h4,
	#direct h4,
	#topic h4,
	#direct form label {
		color: var(--purple-darkest);
		font-size: calc(0.8em + 0.4vw);
		font-weight: 600;
		width: 100%;
	}

	#docs h4,
	#direct h4,
	#topic h4 {
		margin-bottom: 15px;
	}


	#direct form label {
		margin-bottom: 5px;
	}

	#topic label,
	#topic label span {
		font-weight:400;
		transition: 0.3s all;
		-webkit-transition: 0.3s all;
	}

	#topic label {
		margin:5px 0px;
	}

	#topic label span {
		-webkit-flex: 1;
		flex: 1;
		border-radius: 4px;
		cursor: pointer;
		padding: 3px 10px 4px 0px;
	}

	#topic label.flat span img {
		margin:auto;
		width: 100%;
	}
	
	#topic label.flat input + span:before {
		color: var(--pale-purple);
		content: "\e157";
		font-family: glyphicons halflings;
		margin: 0 10px;
	}
	
	#topic label.flat input:checked + span {
		background-color: var(--white);
		color: var(--purple-darkest);
	}

	#topic label.flat input:checked + span:before {
		content: "\e067";
		color: var(--purple-dark);
		font-size:1.2em;
		top:0px;
	}




	#docs .btn,
	#contact #direct .btn {
		background-color: var(--grey-dark);
		color:var(--white);
	}



	.eleHidden,
	label.flat input,
	label.flat input[type=radio] {
		display: none;
	}

	
	#direct {		
		padding: 0px 7vw 0px 7vw;
	}

	#direct > div > * {
		margin: 0;
	}
	
	
	/*#direct > .col_a h2,
	#direct form input,
	#direct form textarea {
		color: #6e4b43;
	}*/

	
	#direct form .col_ab {
		justify-content:space-between;
		-webkit-justify-content:space-between;
	}
	

	#direct form label,
	#direct form input,
	#direct form textarea {	
		border-radius:2px;
		clear:both;
		float:left;
		font-size: calc(0.8em + 0.4vw);
		padding: 0.3em 0.5em;
		width: 100%; 
	}

	#direct form input,
	#direct form textarea {
		background-color:var(--white);
		margin: 0px 0px 15px 0px;
	}

	#direct form input {
		border: solid;
		border-width: 1px;
	}

	#direct form textarea {
		border: solid;
		border-width:1px;
		height:250px;
	}	
		
	#contact #direct form .button {
		flex: 1;
		-webkit-flex: 1;
		margin-top: 10px;
		text-align: center;
		width: 100%;
	}
	
	
	#direct form .required:after {
		color: #dd2200;
		content: " *";
	}
	
	#direct form .g-recaptcha {
		margin: 10px 15px 0px 0px;
	}
	
	
	#contact .testimonial_highlight blockquote {
		font-size: 2rem;
	}




	form .group.err input,
	form .group.err select,
	form .group.err textarea,
	form .group.err.force input:valid,
	form .group.err.force select:valid,
	form .group.err.force textarea:valid {
		border-color: #f44;
	}

	#direct form input,
	#direct form textarea,
	form .group.err input:valid, 
	form .group.err select:valid, 
	form .group.err textarea:valid {
		border-color: #d3d3d3;
	}

	form .group span,
	form .group.err *:valid + span,
	#direct form .group.err textarea + span  {
		color: #E7A500;
		float: left;
		font-size:0px;
		max-height:0px;
		transition-property: all;
		transition-duration: .5s;
		transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
	}
	
	form .group.err * + span,
	form .group.err textarea + span {
		margin-bottom:10px;
		text-align:left;
	}

	form .group.err * + span,
	form .group.err.force * + span,
	#direct .group.err.force textarea + span {
		color: #E7A500;
		display:block;
		font-size:12px;
		max-height:15px;
		padding-left: 8px;
		padding-top:5px;
	}
	
	
	.err_box {
		background-color: #ffeaea;
		border-radius: 5px;
		padding-bottom: 20px;
		padding-top: 10px;
	}
	
	
	.err_box > span {
		background-color: #FFF3F3;
		border-radius: 3px;
		color: #dd0000;
		padding:3px 8px;
	}




		
	
	
	@keyframes fade {
	  from {opacity: 0}
	  to {opacity: 1}
	}
	



	
		
	#intro .btn.close_x {
		border:2px solid #cee98e;
		color: #555;
	}
	


	#docs-request {
		display:none;
	 	padding:20px 0px 0px 0px;
	}
	
	#docs-request label {
		-webkit-flex:1;
		flex:1;
	}
	
	#docs-request > div {
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	
	#docs-request > div > p {
		color: var(--purple-dark);
		cursor: pointer;
		padding: 4px 10px;
	}
	
	#docs-request > div > p svg {
		border: 1px solid var(--pink);
		border-radius: 4px;
		cursor:pointer;
		height: 20px;
		margin-right:5px;
		padding:4px;
	}
	
	#docs-request > div > p:hover {
		color: var(--purple-darkest);
	}
	
	#docs-request > div > p:hover svg {
		border-color: var(--purple-darkest);
	}




	#contact-opts {
		background-color: var(--pale-sky);
	}

	#contact-opts h3 {
		color: var(--purple-darkest);
		font-weight: 700;
		margin-bottom: 10px;
	}
	
	#contact-opts p,
	#contact-opts table {
		font-size: calc(0.9em + 0.3vw);
		margin-bottom: 30px;
	}
	
	#contact-opts table {		width: auto; }
	#contact-opts table .col_a { width: 130px; }
	#contact-opts table .col_b,
	#contact-opts table .col_d { width: 90px; }
	#contact-opts table .col_c { padding-left:10px; padding-right: 10px; }
	
	
	#contact-opts table td {
		border: none;
		border-bottom: 1px solid #d9c7e2;
		padding-bottom: 0.5em;
		padding-top: 0.5em;
	}
	
	#contact-opts table tr:first-of-type td {
		padding-top: 0px;
	}
	
	#contact-opts > .col_a p,
	#contact-opts > .col_a td.col_a {
		padding-left: 10px;
	}

	#contact-opts #cs-map {
		border: 5px solid var(--white);
		border-radius: 10px;
		overflow: hidden;
	}
	



	@media screen and (max-width:768px) {
		
	}





	@media screen and (min-width:992px) {		
		
		body > #intro {
			color: var(--white);
			min-height: 60vh;
			padding-top: calc(80px + 2vw);
			text-align: left;
		}
	
		#intro {
			background: linear-gradient(174deg, rgba(255, 255, 255, 0) 0%, rgb(31 13 38) 85%);
		}
		
		#intro > div {
			z-index: 1;
		}
		
		#intro picture {
			filter: brightness(0.7);
			left: 0px;
			position: absolute;
			top: 0px;
			z-index: -1;
		}
		
		#intro #faq > * {
			border: 1px solid #9457ad1a;
			border-radius: 5px;
			/*box-shadow: 0px 0px 1px #3a1c44;*/
			margin-bottom: 20px;
			position: relative;
			padding: 10px 20px 20px 60px;
			width: calc(50% - 15px);
		}
		
		#intro #faq > div > svg {
			fill:var(--white);
		}
		
		#intro #faq #svgh-envelope {
			stroke: var(--white);
		}

		#intro #faq h2 {
			color: var(--pink);
		}

		#intro #faq p {
			color:var(--white);
		}

		#intro #faq div {
			transition:.3s all;
		}
		
		#intro #faq > *:hover {
			border-color: #c9afd378;
			/*box-shadow:0px 0px 60px #87788d;*/
		}
		
		#intro #faq > *:hover .btn {
			background-color: #eff5eb;
		}
		
		#intro #faq > div > svg {
			left: 20px;
			position: absolute;
			top: 15px;
			width: 30px;
		}
		
		
	
		#ecn {
			border: 1px solid var(--offwhite);
			padding: 5px 20px 20px 20px;
			top: 10vw;
			width: 75%;
		}
		
		#ecn h2 {
			font-size: 1.6vw;
			padding: 15px 15px 15px 28px;
		}

		#ecn > div {
			-webkit-flex-direction: column;
			flex-direction: column;
			padding: 4px 15px;
		}
		
		#ecn > div > p {
			padding: 10px 15px 10px 15px;
		}
		
		#ecn table tr > *,
		#ecn table tr svg {
			transition-duration: .3s;
			transition-property: border, color, fill;
		}

		#ecn table tr > * {
			padding: 8px 15px 8px 15px;
		}

		#ecn table tr:hover > * {
			border-color: var(--pink);
			color: var(--purple-mid);
		}

		#ecn table tr:hover svg {
			fill: var(--purple-mid);
		}
	
		#ecn ul {
			margin: 20px 0px 0px 28px;
		}


		body.overlay_on > .overlay {
			backdrop-filter: blur(2px);
			background-color: rgba(200, 200, 200, 0.3);
		}

	

		#direct .note,
		#contact-opts h2 + p {
			font-size: calc(0.9em + 0.3vw);
		}
		
		
		#docs,
		#contact-opts {
			padding: calc(20px + 2vw) 7vw 0px 7vw;
		}
		

		#topic {			
			flex-wrap:wrap;
			-webkit-flex-wrap:wrap;
		}
		
		#topic label {
			width:50%;
		}
				
		
		#topic label input + span {
			font-size:calc(0.8em + 0.4vw);
			line-height: 2vw;
			margin-right: 15px;
		}

		#topic label:hover span {
			background-color: var(--pale-sky);
		}


		#docs .col_a,
		#direct .col_a,
		#contact-opts > .col_a {
			margin: 0px calc(30px + 1vw) 0px 0px;
			padding:0px;
			width: 25%;
		}
	
		
		#docs .col_b,
		#direct .col_b,
		#contact-opts > .col_b {
			margin-bottom: calc(10px + 2vw);
			padding-left: 4vw;
			width: 75%;
		}
		
		#direct form .col_ab > * {
			width:49%;
		}
				
		
		footer {
			background-color: var(--white);
		}
	}
	
	
	
	@media screen and (min-width:1201px) {		
		#direct .note {
			margin-top: 315px;
		}
		
		#ecn {
			width: 50%;
		}	
	}
	
	
	
	@media screen and (min-width:1600px) {
	
		#docs .col_a,
		#direct .col_a,
		#contact-opts > .col_a {
			width: 35%;
		}
	
		
		#docs .col_b,
		#direct .col_b,
		#contact-opts > .col_b {
			width: 65%;
		}


		#intro #faq > * {
			padding-right: 50px;
		}
	
		
		#ecn {
			width: 40%;
		}
	}
	
	
	
	
	@media screen and (min-width:2048px) {
		
		#intro {
			padding: 0px 14vw;
		}
				
		#docs,
		#direct,
		#contact-opts {
			padding: 1vw 14vw 20px 14vw;
		}
		
		
		#ecn {
			width: 20vw;
		}
	}



	@media screen and (max-width:991px) {	
		body > #intro {
			padding-top: 0px;
		}

		#intro {
			padding-bottom: 20px;
		}
		
		#intro picture {
			border-radius: 10px;
			height: 45vh;
			margin-bottom: 10px;
			order: -1;
			width: calc(100% - 40px);
		}
		
		#intro .title {
			color: white;
			position: absolute;
			top: 80px;
		}
		
		#ecn {
			padding: 5px 15px 20px 15px;
			top: 100px;
			width: 85%;
		}
		
		#ecn h2 {
			font-size: 1rem;
			padding: 15px;
		}

		#ecn > div {
			padding: 4px 10px 0px 10px;
		}

		#ecn table tr > * {
			padding: 8px;
		}
	
		#ecn ul {
			margin: 20px 0px 0px 15px;
			padding-right: 20px;
		}


		body.overlay_on > .overlay {
			backdrop-filter: blur(4px);
			background-color: rgba(100, 100, 100, 0.3);
		}


		
		#docs,
		#direct,
		#contact-opts {
			padding-top: 20px;
			padding-bottom: 20px;
		}

		#intro > div:first-of-type,
		#docs .col_a,
		#contact-opts > .col_a {
			margin-bottom: 0px;
		}

		#docs .col_a {
			display: none;
		}

		#intro h1,
		#docs h2 {
			margin: 0px 0px 10px 0px;
		}
	
	
		#docs,
		#intro #faq,
		#direct form .col_ab,
		#direct form .send_captcha,
		#contact-opts > * {
			flex-direction:column;
			-webkit-flex-direction:column;
		}
		
		
		#docs #topic {
			-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
			-webkit-justify-content: space-between;
			justify-content: space-between;
			padding: 0px 20px;
			row-gap: 10px;
		}
		
		#docs #topic label.flat {
			-webkit-justify-content: center;
			justify-content: center;
			background-color: var(--steam);
			border-radius: 5px;
			font-size: 16px;
			min-height: 40px;
			line-height: initial;
			margin: 0px 0px 10px 0px;
			width: calc(50% - 10px);
		}
		
		#docs #topic label.flat span {
			-webkit-align-items: center;
			align-items: center;
		}
		
		#topic label.flat input:checked + span {
			background-color: var(--pink);
		}
		
		#docs #topic h4 {
			font-size: 24px;
			margin: 0px 0px 10px 0px;
			width: 100%;
		}
		
		#msg,
		#contact-opts > .col_a,
		#docs-request > div > p {
			-webkit-align-items: flex-start;
			align-items: flex-start;
		}
		
		#msg {
			border-bottom: 1px solid #bee59c;
			margin:0px 15px 15px 15px;
			padding:0px 0px 5px 0px;
			width:calc(100% - 30px);
		}
		
		#msg .btn {
			margin: auto 0px;
			padding: 5px 10px 15px 0px;
		}
		
		#intro {
			margin-top: 10px !important;
			padding:80px 0px 0px 0px;
		}
		
		#intro p.remarks {
			border-bottom:1px solid #bee59c;
			padding-bottom:15px;
		}
		
		#intro #faq {
			font-size: 1.2rem;
			padding: 20px;
		}
		
		/*a.undred {
			border-bottom:1px solid #bee59c;
		}*/
		
		#intro #faq > div {
			background-color: var(--steam);
			border: none;
			border-radius: 5px;
			margin-bottom: 15px;
			padding: 20px;
		}

		#intro #faq > div:last-child {
			margin-bottom: 0px;
		}

		#intro #faq > div > svg {
			fill: var(--purple-mid);
			height: 40px;
			margin-right: auto;
			position: absolute;
		}
		
		#intro #faq #svgh-envelope {
			stroke: var(--purple-mid);
		}
		
		#intro #faq #svgh-envelope,
		#intro #faq #svgh-icon-faq {
			width: 30px;
		}

		#intro #faq div h2 {
			color: var(--purple-on-white);
		}

		#intro #faq div h2,
		#intro #faq div p {
			padding-left: 40px;
			padding-right: 0px;
			text-align: left;
		}

		#intro #faq div p {
			color: var(--text);
		}
		
		#intro #faq h2, 
		#intro #faq div > svg {
			align-items: end;
			-webkit-align-items: end;
			margin-bottom:0px;
			margin-top:auto;
		}
		
		#intro #faq h2 {
			flex-direction:row;
			-webkit-flex-direction:row;
			font-size: 25px;
			letter-spacing: 0px;
			line-height: 1.2;
		}
		
		#intro #faq p {
			margin-bottom:0px;
			margin-top:15px;
		}
		
		#intro #faq .button {
			color: var(--white);
			padding: 10px 15px;
		}
		
		
		#topic h4,
		#direct .note,
		#contact-opts h3,
		#contact-opts p,
		#contact-opts table {
			margin-bottom: 15px;
		}

		#topic label {
			margin: 0px 0px 10px 0px;
		}

		#topic label:last-child {
			margin-bottom: 0px;
		}

		#topic label + span {
			background-color: var(--white);
			border: 1px solid #e1d9e8;
			font-size: 18px;
			line-height: initial;
			padding: 8px 0px;
		}
		
		#direct .col_a {
			padding: 0px;
		}
		
		#direct p,
		#direct form {
			font-size: 16px;
			padding: 0px;
		}
			
		/*#direct form,
		#direct .btn {
			font-size:2rem;
		}*/

		#direct form > div {
			width: 100%;
		}

		#direct form input,
		#direct form textarea {
			margin-bottom: 15px;
			padding: 10px 15px;
		}
		
		#direct form label, 
		#direct form input, 
		#direct form textarea {
			
		}

		#direct form textarea {
			height: 220px;
		}

		#direct form .send_captcha > * {
			margin: 15px auto 0px auto !important;
		}

		#direct form .send_captcha {
			margin-top: 5px;
		}

		#direct form .g-recaptcha {
			margin: 0px 0px 15px 0px;
		}

			
		.explainer h2 {
			font-size:2.3rem;
		}
		
		
		#contact-opts {
			-webkit-flex-direction: column-reverse;
			flex-direction: column-reverse;
			padding: 20px;
		}

		#contact-opts #cs-map {
			height: 300px;
			margin-bottom: 30px;
			margin-top: 0px;
		}
		

				
		#contact-opts h2 {
			margin: 20px 0px 5px 0px;
		}
				
		#contact-opts h2,
		#contact-opts h3 {
			font-size: 24px;
			font-weight: 600;
			margin: 0px 0px 5px 10px;
			padding: 0px;
		}
		
		#docs h4 {
			margin-top:15px;
			padding-top:15px;
		}
		
		#contact-opts > .col_b {
			font-size: 2rem;
			line-height: inherit;
		}
		
		
		footer #office-hours {
			display: none;
		}
	}
	
	
	@media screen and (max-width:762px) {
		
		#direct {
			flex-direction:column;
			-webkit-flex-direction:column;
		}
		
		#direct picture {
			position:relative;
		}	
				
		#stay-in-the-know h3 {
			margin-left: 0;
		}												
	}
