@font-face {
	font-family: 'Roboto Condensed';
	font-style: normal;
	font-weight: 400;
	src: local('RobotoCondensed'), local('RobotoCondensed-Regular'),
	url(/shared/fonts/RobotoCondensed-Regular.ttf); }

:root {
	--background-color: #0a0a0a;
	--primary-color: #cd2682;
	--secondary-color: #9f2b68;
	--text-color: #f5f5f5; 
	--text-indent: 1.6rem;
	scrollbar-color: var(--primary-color) var(--background-color); }

@media (prefers-color-scheme: light) {
	:root {
		--background-color: #f5f5f5;
		--primary-color: #9f2b68;
		--secondary-color: #cd2682;
		--text-color: #0a0a0a; } }

* { margin: 0; }

::selection {
	background-color: var(--secondary-color);
	color: var(--background-color); }

a,
button {
	color: var(--primary-color);
	text-decoration: none;
	word-wrap: break-word; }

a:hover,
button:hover {
	color: var(--secondary-color);
	text-decoration: underline dotted;
	cursor: pointer;
	transition: .5s; }

button {
	background: none;
	border: none;
	font: inherit;
	padding: 0; }

p {
	text-align: justify;
	line-height: var(--text-indent);
	text-indent: var(--text-indent); }

p:not(:last-child) { margin-bottom: .1rem; }

p.center {
	text-align: center;
	text-indent: 0; }

h1 {
	font-size: 1.8rem;
	text-align: center;
	color: var(--secondary-color);
	margin: 0; }

h1,
h2 { font-variant: small-caps; }

h2,
h3 {
	text-align: center;
	margin: 1rem; }

h2 { font-size: 1.4rem; }

h3 { font-size: 1.05rem; }

h3.service-up::after { content: '●';  }

h3.service-down::after { content: '○'; }

h3.service-up::after,
h3.service-down::after {
	font-size: .7rem;
	margin-right: -.9rem;
	vertical-align: super;
	padding-left: .2rem; }

small,
figure figcaption { font-size: .8rem; }

figure.center { text-align: center; }

figure img { width: 100%; }

figure.center img { width: 60%; }

figure figcaption { text-align: center; }

table {
	border-collapse: collapse;
	margin-bottom: .5rem; }

tr th,
tr td {
	text-align: left;
	vertical-align: top; }

tr td:not(:last-child),
tr th:not(:last-child) { padding-right: .5rem; }

#banners figure img { width: auto; }

.highlighted { color: var(--primary-color); }

.grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 1rem; }

.grid h3 { color: var(--primary-color); }

.grid.figs { grid-template-columns: 1fr 1fr; }

.grid.banners {
	display: flex;
	flex-wrap: wrap;
	justify-content: center; }

html {
	margin-left: calc(100vw - 100%);
	margin-right: 0; }

body {
	background-color: var(--background-color);
	color: var(--text-color);
	font-family: 'Roboto Condensed', Roboto, sans-serif;
	font-size: 1.1rem;
	margin: 0 auto;
	max-width: 960px;
	width: 98%; }

header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between; }

#logo {
	display: block;
	width: 360px; }

#logo text { fill: var(--text-color); }

#logo .logo {
	font-size: 2rem;
	font-variant-caps: small-caps;
	font-weight: bold; }

@media screen and (-webkit-min-device-pixel-ratio:0) {
	#logo .logo { font-size: 2.082rem; } }

@-moz-document url-prefix() {
	#logo .logo { font-size: 2rem; } }

#logo .under { font-size: .88rem; }

nav { margin-top: .5rem; }

nav a { font-variant: small-caps; }

nav a:not(:first-child) { margin-left: .6rem; }

section {
	margin-top: 1rem;
	max-width: 100%; }

#contacts,
#donation {
	text-align: center;
	width: 100%;
	word-wrap: break-word; }

:is(#contacts, #donation) :is(a, span) { margin: .3rem; }

#contacts span a { margin: 0; }

footer {
	font-size: .8rem;
	text-align: center;
	padding: 1rem 0; }

@media screen and (max-width: 640px) {
	body > header { display: block; }

	#logo { width: 100%; }

	body > header nav { text-align: center; }

	.grid,
	.grid.figs { grid-template-columns: 1fr; } }