:root{
	--bc-blue:#05C9F9;
	--bc-yellowgreen:#E5F61B;
	--bc-mint:#AFFCAF;
	--bc-aqua:#12DFF3;
	--bc-gray:#6D90B9;
	--bc-lightgray:#BBC7DC;
	--bc-azure:#F0F8FF;
	--bc-ivory:#FFFFF0;
	--bc-textblack:#404040;
	--bc-muted:#A6A6A6;
	--bc-pennblue:#224C98;
	--f-url1:url("/fonts/NunitoSans-Regular.ttf");
	--f-url2:url("/fonts/NunitoSans-SemiBold.ttf");
	--f-url3:url("/fonts/NunitoSans-Bold.ttf");
	--f-url4:url("/fonts/NunitoSans-ExtraBold.ttf");
	--f-url5:url("/fonts/NunitoSans-Black.ttf");
	--grad-main:linear-gradient(135deg, rgba(18,223,243,1) 0%, rgba(229,246,27,1) 100%);
	--grad-blue:linear-gradient(90deg, rgba(5,201,249,1) 0%, rgba(18,223,243,1) 100%);
	--grad-offwhite:linear-gradient(135deg, #F0F8FF 0%, #FFFFF0 100%);
	--dot-url:url("/img/bg/dots.svg");
	--shadow-sm:0em 0.15em 0.2em rgba(0,0,0,0.1);
	--shadow-md:0em 0.3em 0.4em rgba(0,0,0,0.2);
}
@font-face {
  font-family: nunito;
  src: var(--f-url1);
  font-weight:400;
}
		@font-face {
		  font-family: nunito;
		  src: var(--f-url2);
		  font-weight:600;
		}
		@font-face {
		  font-family: nunito;
		  src: var(--f-url3);
		  font-weight:700;
		}
	@font-face {
	  font-family: nunito;
	  src: var(--f-url4);
	  font-weight:800;
	}
	@font-face {
	  font-family: nunito;
	  src: var(--f-url5);
	  font-weight:900;
	}
html{
	min-height:100vh;
}
	body{
		background-color:--bc-blue;
		background:var(--grad-main);
		font-family:nunito,sans-serif;
		font-weight:400;
		color:var(--bc-textblack);
		font-size:inherit;
		line-height:1.38;
	}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6
{
	font-weight:800;
	margin-bottom:0.25em;
}
	h1,.h1,.fs-1
	{
		font-size:2.75em!important;
	}
	h2,.h2,.fs-2
	{
		font-size:2.25em!important;
	}
	h3,.h3,.fs-3
	{
		font-size:2.0em!important;
	}
	h4,.h4,.fs-4
	{
		font-size:1.75em!important;
	}
	h5,.h5,.fs-5
	{
		font-size:1.5em!important;
	}
	h6,.h6,.fs-6
	{
		font-size:1.25em!important;
	}
		.rfs-1{
			font-size:0.3636em;
		}
		.rfs-2{
			font-size:0.4444em;
		}
		.rfs-3{
			font-size:0.5em;
		}
		.rfs-4{
			font-size:0.5714em;
		}
		.rfs-5{
			font-size:0.6667em;
		}
		.rfs-6{
			font-size:0.8em;
		}
a{
	transition:opacity 0.3s;
	opacity:1;
	color:inherit;
	cursor:pointer;
}
	a:hover{
		opacity:0.7;
	}
	a.noline{
		text-decoration:none!important;
	}
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6
{
	font-weight:900;
	margin-bottom:0.25em;
}
	.display-1,.dd-display-1
	{
		font-size:6em!important;
	}
	.display-2,.dd-display-2
	{
		font-size:5.5em!important;
	}
	.display-3,.dd-display-3
	{
		font-size:5.0em!important;
	}
	.display-4,.dd-display-4
	{
		font-size:4.5em!important;
	}
	.display-5,.dd-display-5
	{
		font-size:4.0em!important;
	}
	.display-6,.dd-display-6
	{
		font-size:3.5em!important;
	}
.fw-semi{
	font-weight:600!important;
}
	.fw-extra{
		font-weight:800!important;
	}
	.fw-black{
		font-weight:900!important;
	}
.shadow-md{
	box-shadow:var(--shadow-md)!important;
}
	.shadow-sm{
		box-shadow:var(--shadow-sm)!important;
	}
.nowrap{
	white-space:nowrap;
}
	.noselect{
		user-select:none;
	}
.fc-gray{
	color:var(--bc-gray);
}
	.fc-ivory{
		color:var(--bc-ivory);
	}
	.fc-muted{
		color:var(--bc-muted);
	}
	.fc-mint{
		color:var(--bc-mint);
	}
	.fc-blue{
		color:var(--bc-blue);
	}
	.fc-azure{
		color:var(--bc-azure);
	}
	.fc-pennblue{
		color:var(--bc-pennblue);
	}
.bg-azure{
	background-color:var(--bc-azure);
}
	.bg-blue{
		background-color:var(--bc-blue);
	}
	.bg-ivory{
		background-color:var(--bc-ivory);
	}
	.bg-grad-main{
		background:var(--grad-main);
	}
	.bg-grad-blue{
		background:var(--grad-blue);
	}
	.bg-aqua{
		background-color:var(--bc-aqua);
	}
	.bg-grad-offwhite{
		background:var(--grad-offwhite);
	}
	.bg-muted{
		background-color:var(--bc-muted);
	}
	.bg-gray{
		background-color:var(--bc-gray);
	}
	.bg-lightgray{
		background-color:var(--bc-lightgray);
	}
	.bg-mint{
		background-color:var(--bc-mint);
	}
.btn{
	font-weight:bold;
	font-size:1em;
}
	.btn:active{
		transform:translateY(0.125em);
	}
.btn-gray{
	background-color:var(--bc-gray);
	color:white;
}
	.btn-gray:hover{
		background-color:var(--bc-aqua);
		color:black;
	}
	.btn-gray:disabled{
		background-color:var(--bc-gray);
		color:var(--bc-muted);
		border:0;
	}
	.btn-gray:focus-visible{
		background-color:var(--bc-aqua);
		color:white;
	}
.btn-lightgray{
	background-color:var(--bc-lightgray);
	color:black;
}
	.btn-lightgray:hover{
		background-color:var(--bc-mint);
		color:black;
	}
	.btn-lightgray:disabled{
		background-color:var(--bc-lightgray);
		color:var(--bc-muted);
		border:0;
	}
	.btn-lightgray:focus-visible{
		background-color:var(--bc-mint);
		color:black;
	}
.btn-mint{
	background-color:var(--bc-mint);
	color:black;
}
	.btn-mint:hover{
		background-color:var(--bc-aqua);
		color:black;
	}
	.btn-mint:disabled{
		background-color:var(--bc-mint);
		color:var(--bc-muted);
		border:0;
	}
	.btn-mint:focus-visible{
		background-color:var(--bc-aqua);
		color:black;
	}
.btn-transparent{
	background-color:transparent;
	color:black;
}
	.btn-transparent:hover{
		background-color:transparent;
		color:var(--bc-blue);
	}
	.btn-transparent:disabled{
		background-color:transparent;
		color:var(--bc-muted);
	}
	.btn-transparent:focus-visible{
		background-color:transparent;
		color:var(--bc-blue);
	}
.dot-bg{
	background-image:var(--dot-url);
	background-repeat:repeat-y;
	background-position:center;
	background-size:1vw auto;
}
.opacity-0{
	opacity:0;
}
	.opacity-25{
		opacity:0.25;
	}
	.opacity-50{
		opacity:0.5;
	}
	.opacity-75{
		opacity:0.75;
	}
	.opacity-90{
		opacity:0.9;
	}
.cs-pointer{
	cursor:pointer;
}
.big{
	font-size:1.1em;
}
	.bigger{
		font-size:1.21em;
	}
.smaller{
	font-size:0.765em;
}
@media only screen and (min-width:768px){
	html
	{
		font-size:1.25vw;
	}
	p,ol,ul,th,td
	{
		font-size:1em;
		margin-bottom:1em;
		/*line-height:1.15;*/
	}
		li
		{
			margin-bottom:0.25em;
		}
	.vheader{
		aspect-ratio:16/1;
	}
	.vbody{
		min-height:max(720px,90vh);
	}
	.vfooter{
		aspect-ratio:16/1;
	}
}
@media only screen and (max-width:767.9px){
	html
	{
		font-size:4vw;
	}
	p,ol,ul,th,td
	{
		font-size:1em;
		margin-bottom:1em;
		/*line-height:1.15;*/
	}
		li
		{
			margin-bottom:0.25em;
		}
	
	.rm-1
	{
		font-size:3.81em;
	}
		.rm-2
		{
			font-size:3.05em;
		}
		.rm-3
		{
			font-size:2.44em;
		}
		.rm-4
		{
			font-size:1.95em;
		}
		.rm-5
		{
			font-size:1.56em;
		}
		.rm-6
		{
			font-size:1.25em;
		}
	.rd-1
	{
		font-size:0.81em;
	}
		.rd-2
		{
			font-size:0.64em;
		}
		.rd-3
		{
			font-size:0.51em;
		}
		.rd-4
		{
			font-size:0.41em;
		}
		.rd-5
		{
			font-size:0.33em;
		}
		.rd-6
		{
			font-size:0.26em;
		}
	.vheader{
		aspect-ratio:16/3;
	}
	.vbody{
		min-height:max(720px,90vh);
	}
	.vfooter{
		aspect-ratio:16/3;
	}
}