/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/


@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

* {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

:root {
	--color-background: hsl(270 50% 10% / 1);
	--color-links: hsl(190 100% 50% / 1);
	--color-nav: hsl(250 50% 20% / 1);
	--color-purple: #662D91;
	--color-blue: #00BCE4;
	--color-pink: #ED1558;
	--color-iogt-blue: #4C819F;
	--color-iogt-pink: #C64352;
	--color-images: #332266;
}

body {
	margin: 0;
	padding: 16px;
	font-family: 'Arial';
	font-size: 18px;
	background-color: hsl(270 50% 10% / 1);
	color: #FFFFFF;
}

a {
	color: var(--color-links);
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
h1 {
	margin-top: 0;
	margin-bottom: 16px;
	font-size: 32px;
}
h2 {
	margin-top: 0;
	margin-bottom: 16px;
	font-size: 24px;
}
p {
	margin-top: 0;
	margin-bottom: 16px;
}
dt {
	font-size: 24px;
}
h1,h2,dt {
	font-family: 'Bebas Neue', sans-serif;
	font-weight: 400;
	font-style: normal;
}
dl {
	margin: 0;
	padding: 0;
}

/*///////////////////////////////////////////////////////////////////////////*/

.frame {
	min-width: 320px;
	max-width: 800px;
	margin: auto;
	border-radius: 16px;
	background-color: var(--color-nav);
}

header {
	padding: 16px;
}
header nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
}
header nav .logo {
	margin-right: auto;
}
header nav .join {
	display: inline-block;
	background-color: var(--color-pink);
	color: #FFFFFF;
	padding: 2px 12px;
	border-radius: 12px;
}
/*///////////////////////////////////////////////////////////////////////////*/

main section {
	padding: 16px;
}
main section .split {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-column-gap: 16px;
	   -moz-column-gap: 16px;
	        column-gap: 16px;
}
main section .split .center {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	padding: 16px;
	text-align: center;
	background-color: var(--color-blue);
    border-radius: 8px;
}
main section .split img {
	width: 50%;
	border-radius: 8px;
	-o-object-fit: contain;
	   object-fit: contain;
    background-color: var(--color-images);
}
main section .split.right img {
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}
main section.join {
	text-align: center;
	background-color: var(--color-blue);
	padding: 32px;
	margin-top: 32px;
}

main section .split.join {
	background-color: #FFFFFF;
	color: #000000;
	padding: 16px;
	margin: 16px;
	border-radius: 8px;
}
main section .split.join div {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	text-align: center;
}
main section .split.join img {
	width: 128px;
	background-color: inherit;
	margin: 16px 0 0 0;
}

/*///////////////////////////////////////////////////////////////////////////*/

a.button {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	color: #FFFFFF;
	background-color: var(--color-pink);
	padding: 16px 32px;
	border-radius: 32px;
	font-size: 18px;
	font-weight: bold;
	text-transform: uppercase;
	text-align: center;
}

a.logo,
a.join {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
}
a.logo::before {
	content: '';
	width: 32px;
	height: 32px;
	background-image: url(graphics/favicon.png);
	background-size: 32px;
}

/*///////////////////////////////////////////////////////////////////////////*/

.applicant {
    background-color: #FFFFFF;
    color: #000000;
    margin: 16px;
    border-radius: 8px;
}

/*///////////////////////////////////////////////////////////////////////////*/

.members {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
    row-gap: 16px;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
}
.members .member {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-column-gap: 16px;
	   -moz-column-gap: 16px;
	        column-gap: 16px;
}
.members .member img {
	width: 128px;
	border: 1px solid #FFFFFF;
	border-radius: 8px;
}
.members .member dd {
	margin: 0;
}

/*///////////////////////////////////////////////////////////////////////////*/

footer {
	padding: 16px;
	background-color: #000000;
    border-radius: 0 0 16px 16px;
}
footer dt {
	font-size: 18px;
}
footer dd {
	margin: 0;
	padding: 0;
}
dd + dt {
	margin-top: 16px;
}
footer .columns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-bottom: 16px;
}
footer p {
	text-align: center;
}

footer nav a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
}
footer nav a::before {
	content: '';
	width: 16px;
	height: 16px;
	background-image: url(graphics/socials.svg);
	background-size: 48px;
}
footer nav a.facebook::before {
	background-position: -16px 0;
}
footer nav a.instagram::before {
	background-position: -32px 0;
}
footer nav a.twitter::before {
	background-position: 0 -16px;
}
footer nav a.tiktok::before {
	background-position: -16px -16px;
}

/*///////////////////////////////////////////////////////////////////////////*/

img.span {
	width: 100%;
	max-height: 320px;
	background-color: #000000;
	-o-object-fit: cover;
	   object-fit: cover;
}

/*///////////////////////////////////////////////////////////////////////////*/

table {
	width: 100%;
	border: 1px solid #FFFFFF;
	border-collapse: collapse;
}
td,
th {
	text-align: center;
	padding: 8px;
	border: 1px solid #FFFFFF;
}

dt {
	font-weight: bold;
}

/*///////////////////////////////////////////////////////////////////////////*/

article {
	display: none;
}

body[data-page="home"] article.home,
body[data-page="board"] article.board,
body[data-page="join"] article.join, 
body[data-page="lajv"] article.lajv,
body[data-page="applications"] article.applications,
body[data-page="rules"] article.rules {
	display: block;
}

/*///////////////////////////////////////////////////////////////////////////*/

@media screen and (max-width: 560px) {
	body {
		padding: 0;
	}
	.frame {
		border-radius: 0;
	}
	header nav {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
    	-webkit-box-pack: center;
    	    -ms-flex-pack: center;
    	        justify-content: center;
	}
	header nav .logo {
		width: 100%;
	    -webkit-box-pack: center;
	        -ms-flex-pack: center;
	            justify-content: center;
	    margin-bottom: 8px;
	}
	main section .split {
		display: block;
	}
	main section .split img {
		width: 100%;
		margin-bottom: 16px;
	}
	footer .columns {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
    	row-gap: 16px;
		text-align: center;
	}
	footer nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	    -webkit-column-gap: 16px;
	       -moz-column-gap: 16px;
	            column-gap: 16px;
	    row-gap: 8px;
	    -webkit-box-pack: center;
	        -ms-flex-pack: center;
	            justify-content: center;
	    max-width: 300px;
	    margin: auto;
	}
}
