@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700;900&display=swap');

*
{
	vertical-align: baseline;
	outline: 0;
	padding: 0;
	margin: 0;
	border: 0;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-family: 'Poppins', sans-serif;
}

::-moz-focus-inner
{
	border: 0;
}

html, body
{
	padding: 0;
	margin: 0;
	overflow-x: hidden;
	font-family: 'Poppins', sans-serif;
}

html.noscroll, body.noscroll
{
	position: fixed;
	overflow-y: scroll;
	width: 100%;
	height: 100%;
}

body.mobile
{
	/*zoom: 2;*/
}

[contenteditable='true']:before
{
	content: "\feff ";
}

img
{
	-ms-interpolation-mode: bicubic;
	max-width: 100%;
	height: auto;
}

p
{
	display: block;
	margin: 1em 0;
	line-height: 1.3em;
}

a
{
	text-decoration: none;
	color: #639eed;
}
a:hover
{
	cursor: pointer;
	color: #205daf;
}

.top
{
	background: url(/ffpp/banner.png) no-repeat center top;
	background-size: 310%;
	padding-top: 15px;
	
	text-align: center;
}

#logo
{
	width: 96vw;
}

@media (min-width: 600px)
{
	.top
	{
		background-size: 170%;
		padding: 0;
	}
	
	#logo
	{
		width: 50vw;
	}
}

@media (min-width: 900px)
{
	.top
	{
		background-size: 100%;
		background-position: center bottom;
	}
	
	#logo
	{
		width: 30vw;
	}
}

h1
{
	font-size: 12vw;
	line-height: 1.1em;
	font-weight: 900;
	text-align: center;
	color: #000;
	padding: 2vw;
}

@media (min-width: 600px)
{
	h1
	{
		font-size: 7vw;
	}
}

@media (min-width: 900px)
{
	h1
	{
		font-size: 3vw;
		line-height: 1.1em;
	}
}

#box
{
	width: 100%;
	margin-bottom: -10vw;
}

@media (min-width: 600px)
{
	#box
	{
		max-width: 70vw;
	}
	
	.content
	{
		background: url(/ffpp/background.png) no-repeat;
		background-size: cover;
		background-position: bottom 100% center;
		padding-bottom: 60px;
	}
}

@media (min-width: 900px)
{
	#box
	{
		max-width: 100%;
	}
}

.main
{
	color: #2d3f9a;
	
	display: flex;
	flex-direction: column;
	
	width: 100%;
	max-width: 100%;
	margin: 40px auto 0 auto;
}
.main .left,
.main .middle,
.main .right
{
	width: 100%;
	padding: 0;
}
.main .middle
{
	padding: 2vw 3vw;
}
.main .middle p
{
	font-size: 4vw;
	line-height: 2.2em;
}

#screen
{
	width: 90vw;
	margin-top: 5vw;
}

@media (min-width: 600px)
{
	.main .left
	{
		text-align: center;
	}
	.main .middle p
	{
		font-size: 3vw;
	}
}

@media (min-width: 900px)
{
	.main
	{
		flex-direction: row;
		max-width: 1900px;
	}
	.main .left
	{
		width: 30%;
	}
	.main .middle
	{
		padding: 0;
		width: 35%;
	}
	.main .middle p
	{
		font-size: 14pt;
		margin: 0;
		line-height: 1.5em;
	}
	.main .right
	{
		width: 35%;
		padding-left: 20px;
		
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	
	#screen
	{
		width: 30vw;
	}
}

.main form
{
	margin-top: 20px;
	padding-right: 20px;
}
.main .input-group
{
	padding-bottom: 7px;
}
.main .input-group label
{
	font-size: 5vw;
	margin-top: 4px;
	font-weight: bold;
	padding: 8px 6px;
	display: inline-block;
}
.main .input-group input
{
	font-size: 5vw;
	border: 0.6vw solid #ddd;
	border-radius: 1vw;
	padding: 2vw 3vw;
	display: block;
	width: 100%;
}
.main .input-group input:focus
{
	border-color: #aaa;
}
.main form .small-note
{
	font-size: 10pt;
	color: #666;
	margin-top: 5px;
	padding: 0 6px;
}
.main form button
{
	background: #2d3f9a;
	color: #fff;
	border-radius: 25px;
	font-size: 6vw;
	padding: 2vw 6vw;
	font-weight: bold;
	margin-top: 15px;
	cursor: pointer;
	transition: background 0.3s ease;
}
.main form button:hover
{
	background: #4055bd;
}
.main form button:disabled
{
	background: #cecece;
	color: #333;
}
.main form #error
{
	background: #f25151;
	color: #fff;
	padding: 1% 3%;
	border-radius: 4px;
}
.main form #macros
{
	color: #333;
	font-size: 2vw;
	margin-top: 5vw;
}
.main form .checkbox
{
	display: none;
}
.main form .checkbox + label
{
	position: relative;
	cursor: pointer;
	font-size: 4vw;
}
.main form .checkbox + label:before
{
	display: inline-block;
	position: relative;
	content: '';
	width: 4vw;
	height: 4vw;
	background-color: transparent;
	background-image: url(/ffpp/check.png);
	background-size: 0%;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 4px;
	border: 3px solid #2d3f9a;
	vertical-align: middle;
	margin-right: 2vw;
	
	transition: background-color 0.3s ease, background-size 0.5s cubic-bezier(.45,2.2,.57,.5);
}
.main form .checkbox:checked + label:before
{
	background-color: #2d3f9a;
	background-size: 80%;
}

@media (min-width: 600px)
{
	.main .input-group label
	{
		font-size: 3vw;
	}
	.main .input-group input
	{
		font-size: 3vw;
		border-width: 0.4vw;
		border-radius: 0.5vw;
	}
	.main form button
	{
		font-size: 4vw;
		padding: 2vw 5vw;
	}
}

@media (min-width: 900px)
{
	.main .input-group label
	{
		font-size: 13pt;
		margin: 0;
	}
	.main .input-group input
	{
		font-size: 13pt;
		border: 2px solid #ddd;
		border-radius: 4px;
		padding: 10px 14px;
	}
	.main form button
	{
		padding: 10px 25px;
		font-size: 16pt;
	}
	.main form #macros
	{
		margin-top: 20px;
		font-size: 12pt;
	}
	.main form .checkbox + label
	{
		font-size: 12pt;
	}
	.main form .checkbox + label:before
	{
		width: 17px;
		height: 17px;
		margin-right: 10px;
	}
}


.footer
{
	position: relative;
	background: #000;
	color: #fff;
	font-size: 12pt;
	padding: 10vw 0;
	
	display: flex;
	flex-direction: column;
	align-items: center;
	align-content: center;
}
.footer:before
{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 25px;
	background: rgb(255 190 84);
	background: linear-gradient(148deg, rgb(255 190 84) 0%, rgb(230 111 20) 100%);
}

.footer h3
{
	font-size: 4vw;
	font-weight: 600;
	text-transform: uppercase;
	width: 100%;
	margin-bottom: 4vw;
}

.footer p
{
	width: 100%;
	font-size: 3.5vw;
	padding: 2vw 0;
	margin: 0;
	line-height: 2.2em;
}

.footer .row
{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
	max-width: 88vw;
	padding: 5px 20px;
}
.footer .row .half
{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
}

.footer #company-logos
{
	display: block;
	text-align: center;
	padding-top: 10vw;
}
.footer #company-logos img
{
	width: 30%;
	height: auto;
	margin: 0 1%;
}


.footer .platforms .col
{
	padding: 0;
	width: 50%;
}
.footer .platforms .col p
{
	font-size: 3.5vw;
	padding: 0;
}

.footer #copyright
{
	font-size: 3vw;
	margin-top: 15px;
}

@media (min-width: 600px)
{
	.footer
	{
		padding: 75px 0 50px 0;
	}
	.footer h3
	{
		font-size: 14pt;
		margin-bottom: 10px;
	}
	.footer p
	{
		font-size: 2vw;
		padding: 1vw 0;
	}
	.footer #copyright
	{
		font-size: 11pt;
		margin-top: 20px;
		margin-bottom: 0;
	}
	.footer .row .half:not(.half-desktop)
	{
		width: 50%;
	}
	.footer #company-logos
	{
		display: flex;
		justify-content: flex-end;
		align-items: flex-end;
		align-content: flex-end;
		padding-top: 0;
		width: 65%;
	}
	.footer #company-logos img
	{
		width: 180px;
		height: auto;
		margin: 30px 0 0 0;
	}
	.footer .platforms
	{
		width: 35% !important;
	}
	.footer .platforms .col
	{
		width: auto;
		padding-right: 80px;
	}
	.footer .platforms .col:last-child
	{
		margin-right: auto;
		padding: 0;
	}
	.footer .platforms .col p
	{
		font-size: 2vw;
	}
}

@media (min-width: 900px)
{
	.footer h3
	{
		font-size: 14pt;
		margin-bottom: 10px;
	}
	.footer p
	{
		font-size: 13pt;
		padding: 5px 0;
	}
	.footer .row
	{
		max-width: 1700px;
	}
	.footer .row .half.half-desktop
	{
		width: 50%;
	}
	.footer .platforms .col p
	{
		font-size: 12pt;
	}
	.footer #company-logos img
	{
		width: auto;
		height: 70px;
		margin: 0 10px;
	}
}