:root {
	--brand: 		#1f77ff;
	--brand-alt: 	#0042aa;
	--fground: 		rgba( 250, 250, 250, 1 );
	--fground-alt: 	rgba( 250, 250, 250, 0.9 );
	--mground: 		#884515;
	--bground: 		rgba( 45, 45, 45, 1 );
	--bground-alt: 	rgba( 45, 45, 45, 0.9 );
	--normal: 		400;
	--bold: 		700;
	--title: 		'Federo', serif;
	--content: 		'Raleway', sans-serif;
	--slim: 		33.3333%;
	--wide:			66.6667%;
	--full:			100%;
	--half:			50%;
}

* 
	{ margin:0; padding: 0; border: 0; outline: none; box-sizing: border-box; }
html 
	{ scroll-behavior: smooth; font-size: 62.5%; }
body 
	{ width: 100%; margin: 0 auto; font-family: var(--content); font-size: 1.6rem; line-height: 1.2; background: var(--bground-alt); font-weight: var(--normal); color: var(--fground); }

ul 
	{ list-style: none; }
li 
	{  }
p 
	{ margin-bottom: 1.6rem; }
p:last-of-type 
	{ margin-bottom: 0; }
img 
	{ max-width: 100%; height: auto; display: block; }
pre 
	{ padding: .8rem; }

a:link, a:visited 
	{ color: var(--brand); text-decoration: none; font-weight: bold; }
a:hover, a:active, a:focus 
	{ text-decoration: none; filter: contrast(120%); }

h1, h2, h3, h4, h5, h6 
	{ font-family: var(--title); font-weight: var(--bold); }
h1 
	{ font-size: 2.8rem; }
h2
	{ font-size: 2.4rem; }
h3 
	{ font-size: 2.4rem; }
h4 
	{  }

hr 
	{ width: 33.33%; height: .1rem; border: 0; background: var(--brand); margin: .8rem auto; }

.wrapper 
	{ width: 100%; max-width: 96rem; margin: 0 auto; }
.title 
	{ background: var(--bground); color: var(--fground); padding: 1.6rem; text-align: right; display: flex; flex-direction: column; }
.content 
	{ background: var(--fground); color: var(--bground); padding: 1.6rem; }
	.content a 
		{ color: var(--brand-alt); }
.breaker 
	{ display: block; width: 100%; }


.logo 
	{ aspect-ratio: 5 / 4; }

nav 
	{ width: var(--full); background: var(--bground); margin-bottom: 3.2rem; border-radius: 0 0 1.6rem 1.6rem; display: flex; flex-direction: row; justify-content: space-between; overflow: hidden; }
nav ul 
	{ width: var(--half); padding: .8rem 1.6rem; display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: .8rem; font-family: var(--title); font-size: 3rem; font-weight: var(--bold); }
nav ul li 
	{  }
nav ul li a 
	{ display: flex; flex-direction: row; align-items: center; gap: .8rem; }
nav ul svg 
	{ width: 4rem; height: 4rem; fill: currentColor; }
nav .logo 
	{ width: 5rem; }
nav#___gcse_0 { width: var(--half); max-width: var(--half); }
.gsc-control-cse { padding: .8rem !important; }
form.gsc-search-box { max-width: 44.8rem !important; margin: 0 0.8rem !important; }

header 
	{ width: var(--full); border-radius: 1.6rem; overflow: hidden; display: flex; flex-direction: row; margin-bottom: 3.2rem; }

main 
	{ min-height: 75vh; margin-bottom: 3.2rem; display: flex; flex-wrap: wrap; flex-direction: column; gap: 3.2rem; }

main iframe 
	{ max-width: 100%; height: 40rem; padding: .8rem; }
section 
	{ width: var(--full); border-radius: 1.6rem; overflow: hidden; display: flex; flex-direction: row; }



.facility-list { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.6rem; padding: 1.6rem; }
.facility-list li { display: flex; flex-direction: column; justify-content: space-between; align-items: center; text-align: center; width: 12rem; height: 16rem; border: .2rem solid var(--fground-alt); padding: 1.6rem .2rem .2rem .2rem; }
.facility-list li img { height: 4rem; width: 4rem; }
.facility-list li aside { display: grid; place-items: center; width: 100%; height: 100%; line-height: 0; }
.facility-list li a aside { font-size: 4rem; font-family: var(--title);  }
.facility-title { width: 100%; height: 6rem; display: grid; place-items: center; text-align: center;  font-size: 2rem;  }

hgroup { display: block; text-align: left; background: var(--bground); color: var(--fground); }
hgroup img { height: 12rem; width: auto; display: block; background: var(--fground); border-radius: 50%; }
hgroup h1 { line-height: 1.2; }

footer 
	{ padding: 1.6rem; background: var(--bground); border-radius: 1.6rem 1.6rem 0 0; display: block; text-align: center; line-height: 1.2; font-size: 1.2rem; }
footer strong 
	{ display: block; margin-bottom: .8rem; font-size: 1.4rem; }
footer aside 
	{ border-top: 1px solid var(--fground-alt); margin-top: 1.6rem; padding-top: .8rem; }

.gsc-control-cse { font-family: var(--content) !important; background-color: transparent !important; border: 0 !important; }




@media only screen and (max-width: 960px) {
	.wrapper { padding: 0 1.6rem; min-height: 7.4rem; }
	nav ul { width: var(--full); }
}
@media only screen and (max-width: 640px) {
	.wrapper { padding: 0 .8rem; }
	nav { flex-direction: column; }
}

@media only screen and (max-width: 960px) {
  /* main { font-size: 1.6rem; } */
  /* h2 { font-size: 2.4rem; } */
  /* h3 { font-size: 2.4rem; } */
  /* nav { font-size: 1.4rem; } */
  /* blockquote { font-size: 2rem; } */
  
}

/* .switch {  display: none; } */