@font-face {
    font-family: 'Gotham Narrow';
    src: url('/fonts/GothamNarrow-Black.eot');
    src: url('/fonts/GothamNarrow-Black.eot?#iefix') format('embedded-opentype'),
        url('/fonts/GothamNarrow-Black.woff2') format('woff2'),
        url('/fonts/GothamNarrow-Black.woff') format('woff'),
        url('/fonts/GothamNarrow-Black.ttf') format('truetype'),
        url('/fonts/GothamNarrow-Black.svg#GothamNarrow-Black') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Narrow Bold';
    src: url('GothamNarrow-Bold.eot');
    src: url('/fonts/GothamNarrow-Bold.eot?#iefix') format('embedded-opentype'),
        url('/fonts/GothamNarrow-Bold.woff2') format('woff2'),
        url('/fonts/GothamNarrow-Bold.woff') format('woff'),
        url('/fonts/GothamNarrow-Bold.ttf') format('truetype'),
        url('/fonts/GothamNarrow-Bold.svg#GothamNarrow-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

.XdataCollect
{
	display: none !important;
}

.XtheGame
{
	display: block !important;
}


.game-container
{
	text-align:center
}

h1
{
	font-size:42px;
	line-height:42px;
    font-family: 'Gotham Narrow';
}

h1 small
{
	line-height:1.3vw;
	font-size:1.3vw
}

.info-panel
{
	margin:15px 0;
	font-size:1.2em
}

.game-board
{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:15px;
	perspective:1000px;
	width:100%;
	max-width:100%;
	justify-items:center
}

.card
{
	width:17vw;
	height:15vw;
	cursor:pointer;
	position:relative;
	transform-style:preserve-3d;
	transition:transform .6s
}

.card.flipped
{
	transform:rotateY(0deg)
}

.card-face
{
	position:absolute;
	width:100%;
	height:100%;
	backface-visibility:hidden;
	border-radius:10px;
	overflow:hidden
}

.card-back
{
	background-image:url(back.png);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center
}

.card-front
{
	transform:rotateY(180deg)
}

.card-front img
{
	width:100%;
	height:100%;
	object-fit:contain
}

.win-screen-overlay
{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#000000b3;
	display:none;
	justify-content:center;
	align-items:center;
	z-index:100
}

.win-screen-box
{
	background:url(win.png) center center no-repeat transparent;
	background-color:#ffffff80;
	border-radius:0;
	text-align:center;
	width:100%;
	height:100%;
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items:center
}

.win-screen-content
{
	position:relative;
	width:70vh;
	height:60vh;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	gap:0;
	font-size:2vw;
	line-height:2vw;
	background: linear-gradient(#d1010d, #a7161f);
	border-radius: 10px;
	border: 4px solid #000;
	padding:35px 30px 15px 30px;
}


.win-screen-content h2
{
	font-size:3vw;
	color:#fff;
}
.win-screen-content p
{
	font-size:1.5vw;
	color:#fff;
	margin:5px;
}
.win-screen-content p.yellow
{
	color:#ffd500;
}
.win-screen-content p.corner
{
	font-family: 'Gotham Narrow';;
	position: absolute;
  top: 0;
  left: 0;
  background: #ffd500;
  width: 25vh;
  height: 10vh !important;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2vw;
  transform: translate(-3vw,-3vw) rotate(0deg);
  appearance: none;
  border: 3px solid #6b3f00;
  color: #000;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all .1s ease-in-out;
}

.timerEnd
{
	font-size:2vw
}

.desktop
{
	display:block;
	margin:auto
}

.mobile
{
	display:none
}

.theGame
{
	display:none
}

html,body
{
	padding:0;
	margin:0;
	color:#fff
}

strong
{
	font-family:inherit;
	color:inherit;
	font-size:inherit;
	font-weight:bolder
}

body
{
	width:100vw;
	min-height:100vh;
	overflow-x:hidden;
	margin-top:0;
	text-align:center;
	overflow-x:hidden;
	font-family: 'Gotham Narrow';
	font-weight:400;
	font-style:normal;
	color:#002664;
	background-color:#f4f3f0;
	background-image:url(/imagens/bg.jpg);
	background-position:center var(--bg-offset, 0px);
	background-repeat:repeat-x;
	user-select:none;
	background-size:cover;
	will-change:background-position;
	opacity:0;
	transition:opacity .5s ease;
}

body.is-loaded
{
	opacity:1;
}

.loading-container
{
	width:80%;
	max-width:600px;
	background-color:#e8eef7;
	border-radius:16px;
	overflow:hidden;
	margin:auto;
	clear:both;
	margin-top:20px
}

.loading-bar
{
	width:100%;
	height:20px;
	background:linear-gradient(to right,#cfe0f4,#2b6fb3);
	background-size:200% 100%;
	animation:loading 2s infinite linear
}

@keyframes loading {
	0%
	{
		background-position:200% 0
	}

	100%
	{
		background-position:-200% 0
	}
}

a:not(.button):not(.quizAnswer):not(.button2):not(.noUnderline)
{
	font-family:inherit;
	font-size:inherit;
	color:inherit;
	font-weight:inherit;
	text-decoration:none;
	border-bottom:1px solid currentColor;
	position:relative
}

a:not(.button):not(.quizAnswer):not(.button2):not(.noUnderline)::after
{
	content:"";
	position:absolute;
	left:0;
	bottom:-3px;
	width:0;
	height:1px;
	background-color:currentColor;
	transition:width .3s ease
}

a:not(.button):not(.quizAnswer):not(.button2):not(.noUnderline):hover::after
{
	width:100%
}

.section
{
	display:block;
	position:relative;
	width:100%;
	height:auto;
	padding:0px 20px 16px 20px
}
.section5
{
	padding-top:40px
}

.content
{
	position:relative;
	max-width:820px;
	margin:auto
}

.header
{
	min-height:0;
	padding-top:0px
}
.header img
{
	width:90%;
	max-width:720px;
	height:auto;
	display:block;
	margin:0 auto
}
.howto
{
	width:86%;
	max-width:620px;
	height:auto;
	display:block;
	margin:24px auto 10px
}

.button
{
	font-family: 'Gotham Narrow';;
	font-weight:bolder!important;
	position:relative;
	display:inline-block;
	padding:16px 50px;
	text-align:center;
	text-decoration:none;
	color:#fff;
	margin:auto 10px;
	transition:all .3s ease;
	font-size:32px!important;
	line-height:32px!important;
	font-family: 'Gotham Narrow';
	appearance:none;
	border:3px solid #6b3f00;
	border-radius:10px;
  	padding: 18px 40px;
	color:#000;
	font-size:20px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:1px;
	cursor:pointer;
	transition:all .1s ease-in-out;
	margin-top: 20px;
}

.button:hover
{
	background-color:#00266480
}

.disclaimer
{
	font-size:14px;
	line-height:22px;
	padding-top:18px;
	color:#002664;
	max-width:560px;
	margin:0 auto
}

.title
{
	font-family: 'Gotham Narrow';;
	font-size:18px;
	line-height:18px;
	text-transform:uppercase;
	margin:10px auto 22px;
}

.subTitle
{
	font-family: 'Gotham Narrow';;
	font-size:16px;
	line-height:22px;
	color:#002664;
	text-transform:uppercase;
	letter-spacing:.04em
}

.subTitle span
{
	color:#000
}

.filler3
{
	background-size:66%
}

.filler4
{
	background-size:66%
}

form
{
	width:600px;
	max-width:90%;
	margin:auto
}

form .short
{
	display:block;
	width:calc(((100% / 5) * 2) - 1%);
	margin:.5%;
	float:left
}

form .long
{
	display:block;
	width:calc(((100% / 5) * 3) - 1%);
	margin:.5%;
	float:left
}
form .half
{
	display:block;
	width:calc(((100% / 4) * 2) - 1%);
	margin:.5%;
	float:left
}

form .full
{
	display:block;
	width:calc(100% - 1%);
	float:left;
	margin:.5%
}

form input
{
	padding:12px 18px;
	background:#f2f3f6;
	border:1px solid #cdd2de;
	border-radius:22px;
	font-size:16px;
	color:#002664;
	text-align:left;
	text-transform:uppercase;
	font-family: 'Gotham Narrow';
}

form input::placeholder
{
	color:#9aa3b2
}

form select
{
	padding:15px 20px;
	border:1px solid #47292a;
	background:#000;
	border-radius:0;
	font-size:26px;
	color:#ffd500;
	text-align:left
}

span.short
{
	float:left;
	text-align:left;
	padding:9px 0;
	font-size:12px;
	color:#fff
}

.break
{
	clear:both
}

.break1
{
	height:20px
}

.break2
{
	height:50px
}

input[type="file"]
{
	display:none
}

.file-upload-wrapper
{
	position:relative;
	text-align:center
}

.custom-file-upload,.playNow
{
	appearance:none;
	border:3px solid #6b3f00;
	border-radius:40px;
	padding:18px 60px;
	background:linear-gradient(to bottom,#ffd700 0%,#fc0 60%,#f2b800 100%);
	color:#000;
	font-size:28px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:1px;
	cursor:pointer;
	transition:all .1s ease-in-out
}

.custom-file-upload:hover,.playNow:hover
{
	filter:brightness(1.05)
}

.custom-file-upload:active,.playNow:active
{
	transform:translateY(6px);
}

.playNow
{
	font-family: 'Gotham Narrow';;
	font-weight: lighter;
	position:relative;
	display:inline-block;
	text-decoration:none;
	margin:0px;
	margin-bottom:20px;
	padding:10px 30px;
	font-size:22px
}

span.message1
{
	display:block;
	text-align:center;
	padding:26px 10px 0;
	color:#002664;
	font-size:13px
}

span.message2
{
	display:block;
	text-align:center;
	font-size:14px;
	line-height:18px;
	color:#002664;
	max-width:540px;
	margin:0 auto
}

span.message2 strong
{
	color:#efaf24
}

.checkbox-container
{
	display:flex;
	align-items:center;
	margin-bottom:10px
}

.checkbox-container span
{
	text-align:left;
	font-size:14px;
	line-height:18px;
	color:#002664
}

.checkbox-label
{
	display:flex;
	align-items:center;
	gap:10px
}

.checkbox-label input[type="checkbox"]
{
	margin:0;
	margin-top:-3px;
	flex-shrink:0;
	width:16px;
	height:16px
}

.terms
{
	width:720px;
	max-width:92%;
	margin:auto;
	color:#002664
}

.overlay
{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(15,32,74,0.72);
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:1000
}

.overlay-content
{
	font-family: 'Gotham Narrow';;
	color:#1c2c66;
	padding:20px;
	border-radius:8px;
	text-align:center;
	font-size:24px;
	max-width:600px;
	width:90%;
	line-height:24px;
	overflow-x:hidden;
	overflow-y:visible;
	max-height:80vh;
	background:linear-gradient(#ffffff,#e8eef7);
	border:2px solid #1c2c66;
	text-transform: uppercase;
}
.overlay.hidden
{
	display:hidden
}

.customMessage
{
	position:absolute;
	display:none;
	z-index:999
}

.theGame
{
	background:url(/imagens/bg.jpg) center center no-repeat transparent;
    background-attachment: fixed;
	min-height:100vh;
	background-size:cover;
	position:relative;
	color:#ffd600;
	overflow: hidden;
}

.gameSection
{
	width:90vw;
	max-width:980px;
	margin:auto
}

.level-transition
{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	padding:30px 40px;
	background:#ffdb43;
	border-radius:20px;
	border:3px solid #c42d38;
	opacity:0;
	transition:opacity .4s ease;
	z-index:20;
	text-align:center;
	pointer-events:none
}

.level-transition-content
{
	font-family: 'Gotham Narrow';;
	font-size:calc(16px + 1.2vw);
	text-transform:uppercase;
	letter-spacing:.1em;
	color:#c42d38
}

.level-transition-content .level-number
{
	display:block;
	font-size:48px;
	line-height:1;
	font-weight:700;
	margin-top:5px
}

.level-transition.visible
{
	opacity:1
}

#game-board
{
	margin:20px auto;
	display:none;
	max-width:720px;
	width:100%;
	grid-template-columns:repeat(auto-fit,minmax(90px,1fr));
	gap:18px;
	justify-items:center
}

.card
{
	position:relative;
	width:158px;
	height:167px;
	max-width:158px;
	perspective:1000px;
	cursor:pointer
}

.card-face
{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	backface-visibility:hidden;
	transform-style:preserve-3d;
	transition:transform .5s ease
}

.card-back
{
	background:url(/imagens/verso.png) center center no-repeat transparent;
	background-size:contain;
	transform:rotateY(0deg)
}

.card-front
{
	transform:rotateY(-180deg);
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain
}

.card.flipped .card-back
{
	transform:rotateY(180deg)
}

.card.flipped .card-front
{
	transform:rotateY(0deg)
}

.card.matched
{
	opacity:.8;
	cursor:default
}

.startGame
{
	margin-top:20px
}

.winners
{
	display:none
}

.parallax-img
{
	transition:transform .1s linear
}

.pimg1
{
	position:absolute;
	display:none;
	top:0;
	right:-15vw
}

.pimg2
{
	position:absolute;
	display:none;
	top:0;
	left:-15vw
}

.topLinks
{
	position:relative;
	top:0;
	right:auto;
	background:none;
	color:#fff;
	padding:0;
	margin:16px auto 0;
	text-transform:uppercase;
	display:flex;
	justify-content:center;
	gap:2px;
	flex-wrap:wrap
}

.topLinks a
{
	padding:8px 16px;
	position:relative;
	margin-right:0;
	text-decoration:none;
	color:#fff;
	background:#002664;
	border-radius:2px;
	font-size:12px;
	letter-spacing:.08em
}

.topLinks a::before
{
	content:none
}

.dataCollect .custom-file-upload,
.dataCollect .playNow,
.dataCollect .button2,
.topLinks a,
#start-game-btn,
#play-again-btn
{
	appearance:none;
	border:none;
	border-radius:2px;
	padding:10px 28px;
	background:linear-gradient(to bottom,#1d5fa3 0%,#0f4684 100%);
	color:#fff;
	font-size:18px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.08em;
	text-decoration:none;
}

.dataCollect .playNow,
.dataCollect .button2
{
	padding:10px 36px;
	font-size:32px;
	display:inline-block;
	margin-top:0px
}

.dataCollect .custom-file-upload:hover,
.dataCollect .playNow:hover,
.dataCollect .button2:hover,
.topLinks a:hover,
#start-game-btn:hover,
#play-again-btn:hover
{
	filter:brightness(1.08)
}

.dataCollect .custom-file-upload:active,
.dataCollect .playNow:active,
.dataCollect .button2:active,
.topLinks a:active,
#start-game-btn:active,
#play-again-btn:active
{
	transform:translateY(2px);
}

.topLinks a:last-child
{
	margin-right:0
}

.gameTitle
{
	display:none;
	padding-top:20px;
	font-weight: lighter;
}

#start-screen
{
	width:100%;
	height:calc(100% - 25vh);
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	text-align:center
}

.start-screen-image
{
	margin:12px 0 18px
}

.start-screen-image img
{
	max-width:320px;
	width:70vw;
	height:auto
}

#start-screen h1
{
	font-size:3vw;
	line-height:3vw;
	font-family: 'Gotham Narrow';;
	font-weight: lighter;
}

#start-screen small
{
	font-size:2.5vw;
	line-height:3vw;
	font-family: 'Gotham Narrow';;
	font-weight: lighter;
}

#play-again-btn
{
	font-family: 'Gotham Narrow';;
	appearance:none;
	border:3px solid #6b3f00;
	border-radius:10px;
  	padding: 18px 40px;
  	background:linear-gradient(to bottom,#ffd700 0%,#fc0 60%,#f2b800 100%);
	color:#000;
	font-size:20px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:1px;
	cursor:pointer;
	transition:all .1s ease-in-out;
	  margin-top: 20px;

}

.win-screen-box
{
	background-size:75vh
}

#rotate-device-prompt
{
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	z-index:9999;
	background:url(../imagens/turn.png) center center no-repeat transparent;
	background-size:cover;
	align-items:center;
	justify-content:center;
	text-align:center;
	flex-direction:column
}


@media (max-width: 1368px) {
	.card
	{
		width:13vw;
		height:13vw
	}
}

@media (max-width: 900px) and (orientation: landscape) {
	.theGame
	{
		padding:0
	}

	.gameTitle
	{
		font-size:calc(18px + 1vw)
	}

	.info-panel
	{
		font-size:1.1rem
	}

	.level-transition
	{
		padding:18px 24px
	}

	#game-board
	{
		max-width:100%;
		grid-template-columns:repeat(auto-fit,minmax(70px,1fr))
	}

	.card
	{
		min-height:auto;
		height:110px
	}

	#start-screen h1
	{
		font-size:3.8vw
	}

	#start-screen small
	{
		font-size:3vw
	}
}

@media (max-width: 768px) {
	*
	{
		font-size:5vw
	}
	body
	{	
		width:100%;
		height:100%;
		background:url(/imagens/bg.jpg) top center repeat transparent;
		background-size: cover;
        background-attachment: fixed;
	}
	.mobile
	{
		display:block
	}

	.parallax-img
	{
		display:none!important
	}

	.section1
	{
		margin-top:0px
	}

	.section5
	{
		background-size:450%
	}

	.header
	{
		min-height:20vh;
		padding-top:0vh;
		margin-left:-2vw;
		margin-right:-2vw
	}
	.header img{
		max-width:80%;
	}

	.disclaimer
	{
		font-size:14px;
		line-height:20px;
		padding-top:6vh;
		width:90vw;
		margin-left:5vw
	}

	.button
	{
		font-size:5vw!important;
		margin:10px;
		padding:1vh 3vh
	}

	form
	{
		width:720px;
		max-width:90%;
		margin:auto
	}

	form .short,form .long,form .full
	{
		width:calc(100% - 1%);
		margin:1.5% .5%;
		font-size:5vw
	}

	form input
	{
		padding:15px 20px
	}

	form select
	{
		padding:15px 20px
	}

	span.message1
	{
		font-size:5vw;
		margin-top:10px
	}

	span.short
	{
		font-size:3vw;
		color:#efaf24
	}

	.terms
	{
		width:90%
	}

	.custom-file-upload
	{
		font-size:7vw;
		padding:28px 30px 20px;
		max-width:80%
	}

	.overlay-content
	{
		width:50%
	}

	.topLinks
	{
		position:relative;
		top:0;
		right:auto;
		background:none;
		color:#fff;
		padding:0;
		text-transform:uppercase;
		width:100%;
		margin:10px auto 0;
		font-size:2.8vw;
		justify-content:center
	}

	.topLinks a
	{
		font-size:2.6vw;
		padding:8px 14px
	}

	.title,.subTitle
	{
		color:#002664;
	}
	.title
	{
		width:70vw;
		margin:6px auto 18px
	}
		.title img
	{
		max-width:100%;
	}
	.subTitle
	{
		font-size:4vw;
		line-height:5vw
	}
	.subTitle span
	{
		font-size:4vw;
		line-height:4vw;
	}
	span.message2
	{
		font-size:3vw;
		line-height:3vw
	}

	#start-game-btn.button
	{
		font-family: 'Gotham Narrow';;
		font-weight:bolder!important;
		position:relative;
		display:inline-block;
		padding:6px 15px;
		text-align:center;
		text-decoration:none;
		background:#003428;
		color:#fff;
		margin:auto 10px;
		transition:all .3s ease;
		font-size:3vw!important;
		line-height:3vw!important;
		border:none
	}

	#timer,.info-panel
	{
		font-size:2vw
	}

	.info-panel
	{
		display:none;
		text-align:center;
		font-style:normal;
		font-weight:700
	}

	#play-again-btn
	{
		transform:translateY(16vh);
		padding:5px 10px!important;
		margin-top: -30px;
		margin-bottom: 70px;
	}

	.theGame
	{
		overflow:hidden
		margin:0;
		padding:0;
	}

	#start-screen h1
	{
		font-size:4vw;
		line-height:4vw;
		font-family: 'Gotham Narrow';
	}

	#start-screen small
	{
		font-size:3.5vw;
		line-height:4vw;
		font-family: 'Gotham Narrow';
	}

	#start-screen
	{
		position:relative;
		height:100%;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		text-align:center
	}
}

@media only screen and (orientation: portrait) {
	#rotate-device-prompt
	{
		display:flex
	}
}
