:root {
	--color: #d3f1ff;
	color: var(--color);
	font-family: 'Viga', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	scroll-behavior: smooth;
}

* {
	box-sizing: border-box;
	border: none;
	color: inherit;
	font-family: inherit;
	margin: 0;
}

body,
header, main, footer, section,
nav, aside {
	display: grid;
	place-self: stretch;
}

/*html, body {
	background-color: #1f294e;
}*/
html:after {
	position: fixed;
	width: 300vmax;
	height: 300vmax;
	left: -100vmax;
	top: -100vmax;
	z-index: -1;
	content: '';
	background-color: #1f294e;
	background: linear-gradient(#1f294e, #394ba2);
	animation: Rotate 50s infinite;
}
body {
	grid-template-rows: auto 1fr;

	place-content: center;
    display: grid;
    min-height: 100vh;
    grid-template-rows: max-content;
}
@keyframes Rotate {
	25% {
		transform: rotate(45deg);
	}
	75% {
		transform: rotate(-45deg);
	}
}

main {
	gap: 1rem;
}

a {
	color: inherit;
}
a:not(:hover){
	text-decoration: none;
}

i {
	font-style: normal;
	display: inline-flex;
	place-content: center;
}
[icon] {
	position: relative;
}
[icon]::before {
	content: attr(icon);
	/* position: absolute;
	transform: translateX(-1.25em); */
	font-size: 1.65em;
	margin-right: 0.5ch;
	margin-left: -0.5ch;
}

h1, h2, h3 {
	display: flex;
	align-items: center;
	justify-content: center;
}
h1 {
	font-family: Viga;
	font-size: 2.8em;
}
h1:before {
	font-size: 1.2em;
}
h2 {
	font-size: 1.8em;
}
h3 {
	font-size: 1.6em;
}


header, section {
	padding: 2rem;
}

header {
	text-align: center;
	transition: font-size;
}
header.home {
	font-size: 1.8em;
}

section {
	gap: 1rem;

	padding: 0.75rem;

	padding: 1.5rem;
    background: rgba(0, 0, 0, 0.15);
	border-radius: 0.75rem;
}

form {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax(25rem, 1fr) );
	padding: 2.5rem;
	gap: 1rem;
}
form section {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax(12rem, 1fr) );
	grid-auto-rows: max-content;
	gap: 1rem;
}
form .full, form h2, form h3 {
	grid-column: 1 / -1;
}


.radio-group {
	display: grid;
	overflow-x: auto;
	/* grid-auto-flow: column; */
	grid-template-columns: repeat(auto-fit, minmax(2.7rem, 1fr));
	gap: 0.5em;
}
input, button {
	font: inherit;
	/* width: 100%; */
}
input[type=radio] {
	visibility: hidden;
	position: fixed;
}
input[type=text], input[type=password], input[type=tel], input[type=number], input[type=search], input[type=submit],
input[type=radio] + span, button, textarea {
	-webkit-appearance: none;
	border: none;
	border-radius: 0.3em;
	padding: 0.5em 0.75em;

	/* border: rgba(0, 0, 0, 0.2) solid 1px; */
	box-shadow: rgba(0, 0, 0, 0.1) 0 0 2px;

	background-color: rgba(255, 255, 255, 0.7);

	transition: 0.3s cubic-bezier(0, 1.3, 0.5, 1);
}
/* input[type=text] {
	width: 30rem;
} */
input:hover, button:hover, textarea:hover {
	background-color: rgba(255, 255, 255, 0.75);
	transform: scale(1.01);
}
@supports (backdrop-filter: brightness(250%)) {
	input[type=text], input[type=password], input[type=tel], input[type=number], input[type=search], input[type=submit],
	input[type=radio] + span, button, textarea {
		background-color: transparent;
		/* backdrop-filter: brightness(200%); */
		backdrop-filter: brightness(250%);
		transition-property: background-color, backdrop-filter, color;
	}

	input:hover, button:hover, textarea:hover {
		backdrop-filter: brightness(210%);
	}
}

input[type=radio]:checked + span {
	/* background-color: var(--primary-color); */
	background-color: rgba(0, 0, 0, 0.2);
	color: #fff;
}

input.inline {
	border: none;
	padding: 0;
	max-width: 6em;
}

input[type=number] {
	max-width: 8ch;
	text-align: right;
}

::placeholder {
	color: var(--color);
	opacity: 0.5;
}

:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

button, input[type=submit] {
	line-height: 1;
	padding: 0.5em 0.75em;

	font-size: 1.25em;
	box-shadow: 0 0 2em rgba(0, 0, 0, 0.2);

	cursor: pointer;
}


form label, form div {
	display: grid;
	gap: 0.4em;
	grid-auto-rows: max-content;
}
label span:first-child {
	opacity: 0.5;
	font-size: 0.7em;
	text-transform: uppercase;
	letter-spacing: 0.2ch;
}


p {
	line-height: 1.4;
}
.error {
	color: #ff2010;
}



/* devanagari */
@font-face {
	font-family: 'Teko';
	font-style: normal;
	font-weight: 400;
	src: local('Teko Regular'), local('Teko-Regular'), url(https://fonts.gstatic.com/s/teko/v9/LYjNdG7kmE0gfaJ9pQlCpVoXVQ.woff2) format('woff2');
	unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
	font-family: 'Teko';
	font-style: normal;
	font-weight: 400;
	src: local('Teko Regular'), local('Teko-Regular'), url(https://fonts.gstatic.com/s/teko/v9/LYjNdG7kmE0gfa19pQlCpVoXVQ.woff2) format('woff2');
	unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
	font-family: 'Teko';
	font-style: normal;
	font-weight: 400;
	src: local('Teko Regular'), local('Teko-Regular'), url(https://fonts.gstatic.com/s/teko/v9/LYjNdG7kmE0gfaN9pQlCpVo.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



/* latin-ext */
@font-face {
  font-family: 'Coda';
  font-style: normal;
  font-weight: 400;
  src: local('Coda Regular'), local('Coda-Regular'), url(https://fonts.gstatic.com/s/coda/v15/SLXHc1jY5nQ8FUsGa7SOz9NMaA.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Coda';
  font-style: normal;
  font-weight: 400;
  src: local('Coda Regular'), local('Coda-Regular'), url(https://fonts.gstatic.com/s/coda/v15/SLXHc1jY5nQ8FUUGa7SOz9M.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



/* latin-ext */
@font-face {
  font-family: 'Viga';
  font-style: normal;
  font-weight: 400;
  src: local('Viga-Regular'), url(https://fonts.gstatic.com/s/viga/v8/xMQbuFFdSaiXzQspDqW1KX7wmA.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Viga';
  font-style: normal;
  font-weight: 400;
  src: local('Viga-Regular'), url(https://fonts.gstatic.com/s/viga/v8/xMQbuFFdSaiXzQUpDqW1KX4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



/* cyrillic-ext */
@font-face {
  font-family: 'PT Mono';
  font-style: normal;
  font-weight: 400;
  src: local('PT Mono'), local('PTMono-Regular'), url(https://fonts.gstatic.com/s/ptmono/v7/9oRONYoBnWILk-9AnCIzM_HxEcn7Hg.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'PT Mono';
  font-style: normal;
  font-weight: 400;
  src: local('PT Mono'), local('PTMono-Regular'), url(https://fonts.gstatic.com/s/ptmono/v7/9oRONYoBnWILk-9AnCszM_HxEcn7Hg.woff2) format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Mono';
  font-style: normal;
  font-weight: 400;
  src: local('PT Mono'), local('PTMono-Regular'), url(https://fonts.gstatic.com/s/ptmono/v7/9oRONYoBnWILk-9AnCEzM_HxEcn7Hg.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'PT Mono';
  font-style: normal;
  font-weight: 400;
  src: local('PT Mono'), local('PTMono-Regular'), url(https://fonts.gstatic.com/s/ptmono/v7/9oRONYoBnWILk-9AnC8zM_HxEck.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}