/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {line-height: 1.15; -webkit-text-size-adjust: 100%;}
body {margin: 0;}
main {display: block;}
h1 {font-size: 2em; margin: 0.67em 0;}
hr {box-sizing: content-box; height: 0; overflow: visible;}
pre {font-family: monospace, monospace; font-size: 1em;}
a {background-color: transparent;}
abbr[title] {border-bottom: none; text-decoration: underline; text-decoration: underline dotted;}
b, strong {font-weight: bolder;}
code, kbd, samp {font-family: monospace, monospace; font-size: 1em;}
small {font-size: 80%;}
sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
img {border-style: none;}
button, input, optgroup, select, textarea {font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0;}
button, input {overflow: visible;}
button, select {text-transform: none;}
button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button;}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {border-style: none; padding: 0;}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {outline: 1px dotted ButtonText;}
fieldset {padding: 0.35em 0.75em 0.625em;}
legend {box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal;}
progress {vertical-align: baseline;}
textarea {overflow: auto;}
[type="checkbox"], [type="radio"] {box-sizing: border-box; padding: 0;}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {height: auto;}
[type="search"] {-webkit-appearance: textfield; outline-offset: -2px;}
[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
::-webkit-file-upload-button {-webkit-appearance: button; font: inherit;}
details {display: block;}
summary {display: list-item;}
template {display: none;}
[hidden] {display: none;}


/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
html {color: #000; font-size: 1em; line-height: 1.4;}
::-moz-selection {background: #FCF1D8; text-shadow: none;}
::selection {background: #FCF1D8; text-shadow: none;}
hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}
audio, canvas, iframe, img, svg, video {vertical-align: middle;}
fieldset {border: 0; margin: 0; padding: 0;}
textarea {resize: vertical;}
.hidden, [hidden] {display: none !important;}
.sr-only { border: 0; clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px;}
.sr-only.focusable:active, .sr-only.focusable:focus {clip: auto; height: auto; margin: 0; overflow: visible; position: static; white-space: inherit; width: auto;}
.invisible {visibility: hidden;}
.clearfix::before, .clearfix::after {content: " "; display: table;}
.clearfix::after {clear: both;}
.left{float: left;}
.right{float: right;}






/* 
* Custom styles 
*/
html{
	scroll-behavior: smooth;
}
html, body {
  box-sizing: border-box;
  height: 100%;
  padding: 0;
  margin: 0;
}
body{
	transition: background-color 0.5s ease;
	font-size: 14px;
	color: #414141;
	font-family: helvetica, sans-serif;
	background-color: #FFEDCA;
}
a {
	color: #414141;
	transition: color 0.5s ease;
	text-decoration: none;
}
.text-content a{
	text-decoration: underline;
}
a:hover{
	color: #000000;
	transition: color 0.5s ease;
}
.text-center{
	text-align: center;
}
p {
	margin-block-start: 0.67em;
	margin-block-end: 1em;
}
h1{
	font-size: 24px;
	text-align: center;
}
h2{
	font-size: 20px;
}
h3{
	font-size: 16px;
}
h1, h2, h3{
	color: #B85703;
	transition: color 0.5s ease;
}
/*
* General layout
*/
#wrapper{
  box-sizing: border-box;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
#wrapper-body{
  flex-grow: 1;	
}
#wrapper-header, #wrapper-footer{
	flex-grow: 0;
  flex-shrink: 0;
}
#wrapper-footer{
	margin-top: 12px;
}
.container{
	width: 100%;
	box-sizing: border-box;
	padding-left: 12px;
	padding-right: 12px;
}
#main-area-desktop{
	display: none;
}


@media (min-width: 768px) {
	h1{
  	font-size: 24px;
  }
  h2{
  	font-size: 24px;
  }
  h3{
  	font-size: 20px;
  }
  
	#main-area-desktop{
  	display: block;
    width: 100%;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
  }
  #main-area-mobile{
  	display: none;
  }
}

@media (min-width: 920px) {
	.container{
  	width: 900px;
  	margin-left: auto;
  	margin-right: auto;
  	box-sizing: content-box;
  	padding-left: 0;
  	padding-right: 0;
  }
  #main-area-desktop{
  	width: 900px;
  }
}


@media (max-height: 428px) and (min-width: 500px) {
	#main-area-desktop{
		display: none;
	}
	#btn-fullscreen{
		display: none;
	}
	#btn-reload-game{
		display: none;
	}
	#main-area-mobile{
		display: block;
	}
}


/*
* Header bar
*/
header {
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  background-color: #FFF8E8;
  transition: background-color 0.5s ease;
  margin-bottom: 24px;
}

#header-content {
	height: 64px;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#header-content-left{
	display: flex;
	align-items: center;
}

#header-site-title{
	margin-left: 8px;
	color: #414141;
	transition: color 0.5s ease;
	font-size: 20px;
	font-weight: 700;
	font-family: 'Nunito Sans', 'Nunito Sans fallback', sans-serif;
}
#header-site-title-primary{
	color: #B85703;
	transition: color 0.5s ease;
}

#header-desktop-menu{
	display: none;
}
#header-desktop-menu > li{
	display: inline-block;
	margin-right: 24px;
	list-style-type: none;
	font-size: 16px;
	font-weight: bold;
}

#header-desktop-menu > li:last-of-type{
	margin-right: 0;
}

#header-mobile-menu-btn{
	margin-right: 8px;
	cursor: pointer;
}

#header-mobile-menu-btn svg{
	height: 24px;
	fill: #414141;
	transition: fill 0.5s ease;
	margin-top: 1px;
}




/*
* Homepage
*/
.homepage h1{
	font-size: 24px;
	text-align: center;
}
.homepage h2{
	text-align: center;
}

#home-banner{
	background-color: #FFF8E8;
	border:1px solid #ADADAD;
	border-radius: 12px;
	box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.15);
	width: 100%;
	height: 160px;
	position: relative;
	margin-bottom: 48px;
	/*display: none;*/
}
#home-banner-content{
	position: relative;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	height: 100%;
	column-gap: 12px;
	padding-left: 12px;
	padding-right: 12px;
}
#home-banner img{
	width: 128px;
	height: 128px;
}
#home-banner-right{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
}
#home-banner-title{
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
#home-banner-play-btn{
	cursor: pointer;
	height: 48px;
	margin-top: 36px;
	padding-left: 24px;
	padding-right: 24px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border-radius: 24px;
	animation: .4s jump ease infinite alternate;
	transition: all .2s ease-in-out;
	background-color: #F08325;
	color: #ffffff;
	transition: color 0.5s ease, background-color 0.5s ease;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
}



.games-list{
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin-bottom: 48px;
  column-gap: 24px;
  row-gap: 24px;
}
.games-list li{
	background-color: #FFF8E8;
	border:1px solid #ADADAD;
	border-radius: 8px;
	box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.15);
	box-sizing: border-box;
  list-style-type: none;
  width: 160px;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  padding-top: 8px;
  padding-bottom: 8px;
}
.games-list a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
  width: 100%;
  height: 100%;
}
.games-list img{
	transition: transform .3s ease;
	margin-bottom: 8px;
}


@media (min-width: 768px) {
	#header-site-title{
		font-size: 24px;
	}
	#header-mobile-menu-btn{
		display: none;
	}
	#header-desktop-menu{
  	display: block;
	}

	#home-banner{
		height: 288px;
		display: block;
	}
	#home-banner img{
		width: 192px;
		height: 192px;
	}
	#home-banner-title{
		font-size: 20px;
	}

	.games-list{
		row-gap: 42px;
	}
	.games-list li{
		width: 160px;
	}
}

@media (min-width: 920px) {
	.games-list{
		column-gap: 44px;
		row-gap: 44px;
	}
	.games-list li{
		width: 192px;
  	height: 192px;
  	padding-bottom: 0;
  	padding-top: 0;
	}
}


/*
* Sidebar
*/
#sidebar-overlay{
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99999999;
  background-color: rgba(0,0,0,.2);
  transition: background-color 0.5s ease;
  overflow: auto;
  display: none;
}
#sidebar{
	position: fixed;
	top: 0;
	bottom: 0;
	width: 270px;
	right: -270px;
	overflow: auto;
	z-index: 2;
	-webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #B85703;
  transition: background-color 0.5s ease, transform 0.4s;
	box-shadow: -10px 0px 10px 0px rgba(0, 0, 0, 0.50);
	color: #fff;
}
#sidebar a{
	color: #fff;
	transition: color 0.5s ease;
	line-height: 32px;
}
#sidebar ul{
	list-style-type: none;
	padding-inline-start: 0;
}

#sidebar.active{
	transform: translate(-270px);
}
#sidebar-close-btn{
	cursor: pointer;
	position: absolute;
	top: 32px;
	right: 32px;
	transform: translate(50%, -50%);
	padding: 8px;
}
#sidebar-content{
	margin-top: 48px;
	margin-left: 16px;
	margin-right: 16px;
}





/*
* Part above the game
*/
#above-game{
	transition: color 0.5s ease;
	margin-bottom: 16px;
}
#above-game h1{
	text-align: center;
	font-size: 24px;
	color: #B85703;
}
#above-game-menu{
	margin-bottom: 12px;
}
.btn-above-game{
	font-weight: bold;
	cursor: pointer;
	line-height: 32px;
	display: inline-block;
	margin-right: 24px;
	-webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}
.btn-above-game:last-of-type{
	margin-right: 0;
}
.btn-above-game span{
	display: inline-block;
}
.btn-above-game svg{
	margin-bottom: 3px;
	margin-right: 6px;
	vertical-align: middle;
}
.btn-above-game svg path{
	fill:#414141;
	transition: fill 0.5s ease;
}
.btn-above-game:hover{
	color: #000;
	transition: color 0.5s ease;
}
.btn-above-game:hover svg path{
	fill: #000;
	transition: fill 0.5s ease;
}

#btn-lights-out{
	display: none;
}
#btn-fullscreen{
	display: none;
}
#btn-reload-game{
	display: none;
}

#btn-back-to-game{
	display: none;
	cursor: pointer;
	position: fixed;
	right: 16px;
	bottom: 48px;
	background-color: #F08325;
	color: #fff;
	border-radius: 24px;
	padding: 0 24px;
	box-sizing: border-box;
	height: 48px;
	line-height: 46px;
	font-weight: bold;
	font-size: 16px;
	box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.25);
}
#btn-back-to-game svg{
	margin-left: 12px;
}
#btn-back-to-game svg path{
	fill: #fff;
}

/*
* Main area
*/
#game-container{
	margin-left: auto;
	margin-right: auto;
}
#game-iframe{
	border: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.4);
}
ruffle-player, ruffle-embed, ruffle-object {
	--preloader-background: #99986c;
	--logo-display: none;
	--ruffle-blue: #D9D2B0;
  --ruffle-orange: #FCF1D8;
}


/*
* Main are mobile
*/
#mobile-play-container{
	width: 100%;
	max-width: 400px;
	min-width: 200px;
	min-height: 115px;
	margin-left: auto;
	margin-right: auto;
	aspect-ratio: 200 / 115;
	background-size: cover;
	background-position-y: center;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: center;
	overflow: hidden;
}
#mobile-play-container img{
	position: absolute;
	width: 100%;
	/*height: 100%;*/
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	opacity: 0.5;
}
#mobile-play-btn{
	cursor: pointer;
	height: 48px;
	padding-left: 16px;
	padding-right: 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 24px;
	animation: .4s jump ease infinite alternate;
	transition: all .2s ease-in-out;
	background-color: #F08325;
	color: #ffffff;
	transition: color 0.5s ease, background-color 0.5s ease;
	font-size: 16px;
	font-weight: bold;
	-webkit-user-select: none !important;
	-khtml-user-select: none !important;
	-moz-user-select: none !important;
	-ms-user-select: none !important;
	user-select: none !important;
}
@keyframes jump {
  0% {
    transform: scale(1);
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
  }
  100% {
    transform: scale(1.04);
    box-shadow: 0 4px 20px rgba(0,0,0,.1);
  }
}
#mobile-game-container{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 2000;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-y: contain;

	touch-action: none !important;
	touch-action-delay: none !important;
	-webkit-touch-callout: none !important;
	-webkit-user-select: none !important;
	-khtml-user-select: none !important;
	-moz-user-select: none !important;
	-ms-user-select: none !important;
	user-select: none !important;
	-webkit-tap-highlight-color: rgba(0,0,0,0) !important;
	outline: none!important;
	outline-style: none !important;

	opacity: 0;
  transition: opacity 0.5s ease;
}
#mobile-game-container.fade-in{
	opacity: 1;
}
#mobile-game-iframe{
	overflow: hidden;
	background: #FCF1D8;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	max-width: 100%;
	max-height: 100%;
	width: 1px;
	min-width: 100%; 
	height: 1px;
	min-height: 100%;
	border: 0;
	margin: 0;
	padding: 0;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
#mobile-game-container-close-btn {
  position: absolute;
  top: 50px;
  left: 0;
  background: #414141;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
  color: #fff;
  height: 48px;
  width: 48px;
  text-align: center;
  line-height: 48px;
  transition: width 1000ms;
  cursor: pointer;
  z-index: 5000;
}

/*
* Part below game
*/
#below-game-hide{
	display: none;
}
#below-game-hide-btn{
	cursor: pointer;
	text-decoration: underline;
	margin-top: 12px;
	display: inline-block;
	transition: color 0.5s ease;
}
#below-game{
	color: #000000;
	transition: color 0.5s ease;
	margin-bottom: 16px;
	scroll-margin: 64px;
}
#below-game-desc{
	max-width: 620px;
}
#below-game-desc h2{
	font-size: 20px;
	margin-block-start: 1em;
  margin-block-end: 0.67em;
}
#below-game-desc h3{
	font-size: 16px;
	margin-block-start: 1em;
  margin-block-end: 0.67em;
}

@media (min-width: 768px) {  
  /* Game area */
	#btn-lights-out{
		display: inline-block;
	}
	#btn-fullscreen{
		display: inline-block;
	}
	#btn-reload-game{
		display: inline-block;
	}
	/* Below game */
	#below-game-content{
		display: flex;
	}
}


/*
* Footer
*/
footer{
	background-color: #FFF8E8;
	transition: background-color 0.5s ease, color 0.5s ease;
	padding-top: 16px;
	padding-bottom: 48px;
}

footer ul{
	list-style-type: none;
	padding-inline-start: 0;
}



/*
* Desktop
*/
@media only screen and (min-width: 920px) {
  #header-content{
  	padding-left: 0;
  	padding-right: 0;
  }
}

/*
* Landscape mobile
*/
@media only screen and (min-width: 500px) and (max-height: 428px) {
	#mobile-play-container{
		width: 400px;
		margin-left: auto;
		margin-right: auto;
	}	
}



.btn-large{
	padding-left: 18px;
	padding-right: 18px;
	height: 48px;
	border-radius: 24px;
	border: 1px solid #D9D2B0;
	background-color: #FCF1D8;
	transition: background 0.5s ease, border 0.5s ease;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	font-weight: bold;
	font-size: 20px;
}

.btn-round-large{
	height: 48px;
	width: 48px;
	border-radius: 24px;
	border: 1px solid #D9D2B0;
	background-color: #FCF1D8;
	transition: background 0.5s ease, border 0.5s ease;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}


.sp-message{
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  background-color: #FFF8E8;
  padding: 12px;
  border-radius: 8px;
}


body.dark{
	background-color: #0E1418;
}
.dark a{
	color: rgba(255, 255, 255, 0.7);
}
.dark a:hover{
	color: rgba(255, 255, 255, 1);
}
.dark header{
	background-color: #2B2F32;
}
.dark #header-site-title{
	color: rgba(255, 255, 255, 0.7);
}
.dark #header-site-title-primary{
	color: rgba(255, 255, 255, 1);
}



.dark .btn-large{
	border: 1px solid #2B2F32;
	background-color: #0E1418;
}
.dark .btn-round-large{
	border: 1px solid #2B2F32;
	background-color: #0E1418;
}
.dark #header-mobile-menu-btn svg{
	fill: rgba(255, 255, 255, 0.7);
}
.dark #sidebar-overlay{
  background-color: rgba(0,0,0,.2);
}
.dark #sidebar{
	background-color: #4C4C37;
	box-shadow: -10px 0px 10px 0px rgba(0, 0, 0, 0.50);
	color: rgba(255, 255, 255, 0.7);
}
.dark #sidebar a{
	color: rgba(255, 255, 255, 0.7);
}
.dark #above-game{
	color: rgba(255, 255, 255, 0.7);
}
.dark h1, .dark h2, .dark h3, .dark .homepage h1, .dark #above-game h1{
	color: rgba(255, 255, 255, 0.7);
}

.dark .btn-above-game svg path{
	fill: rgba(255, 255, 255, 0.7);
}
.dark .btn-above-game:hover{
	color: rgba(255, 255, 255, 1);
}
.dark .btn-above-game:hover svg path{
	fill: rgba(255, 255, 255, 1);
}

.dark #mobile-play-container::before {
  background-color: rgba(14, 20, 24, 0.5);
}
.dark #mobile-play-btn{
	background-color: rgba(255, 255, 255, 1);
	color: #0E1418;
}
.dark #below-game{
	color: rgba(255, 255, 255, 0.7);
}
.dark footer{
	color: rgba(255, 255, 255, 0.7);
	background-color: #2B2F32;
}
.dark footer h3{
	color: rgba(255, 255, 255, 1);
}
