/* general element styles */
body
{
	margin:0;
	padding:0;
	background:#222222;
	color:#ffffff;
	font-family: Arial, Helvetica, sans-serif;
	font-size:16px;
	line-height:1.4em;
	overflow-x:hidden;
	overflow-y:auto;
}
a
{
	color:inherit;
	text-decoration:none;
}
a i
{
	transition: transform .1s ease-in-out;
}
a:hover i
{
	transform: scale(1.2);
}
h1,h2
{
	padding-top:0;
	margin-top:0;
	font-size:1.5em;
	line-height:1.1em;
	margin-bottom:0.667em;
	text-align:center;
}
p
{
	margin-top:1em;
	margin-bottom:0;
}
p:first-child
{
	margin-top:0;
}
input,
textarea,
button,
select
{
	font:inherit;
}
input[type=checkbox]
{
	width:0.75em;
	height:0.75em;
}
input[disabled],
input[readonly]
{
    opacity:0.5;
}

/* general purpose styles */
.hide
{
	display:none !important;
}
.hide-desktop
{
	display:none !important;
}
.align-left
{
	text-align:left !important;
}
.align-center
{
	text-align:center !important;
}
.align-right
{
	text-align:right !important;
}
.half-width
{
	width:50%;
	height:auto;
}
.one-third-width
{
	width:33.3%;
	height:auto;
}
.two-thirds-width
{
	width:66.7%;
	height:auto;
}
.parent-active-inline-block
{
	display:none !important;
}
.active .parent-active-inline-block
{
	display:inline-block !important;
}
.active .parent-inactive
{
	display:none !important;
}
.faded
{
	opacity:0.5;
}

/* forms */
.form-group
{
	margin-bottom:0.75em;
}
.form-group>label
{
	display:block;
	margin-bottom:0.25em;
}
.form-group .form-check-input
{
	margin-right:0.5em;
	margin-left:0.5em;
}
.form-group textarea
{
	height:5em;
	resize:vertical;
}
.form-group input[type=text],
.form-group input[type=email],
.form-group input[type=password],
.form-group textarea,
.form-group select
{
	box-sizing: border-box;
	width:100%;
	border:none;
	padding:0.5em;
	outline:none;
}
form button,
a.button
{
	box-sizing: border-box;
	border:none;
	padding:0.5em;
	outline:none;
	box-shadow: none;
	padding:0.5em 2em;
	background:#222222;
	color:#ffffff;
	text-decoration: none !important;
}
img.form-img-preview
{
	max-height:10em;
	margin-bottom:0.5em;
	object-fit: contain;
	object-position: left;
}

/* top menu bar */
.top-menu-bar-height
{
	height:60px;
}
.top-menu
{
	line-height:60px;
}
.top-menu-bar-container
{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:100;
	background:linear-gradient(180deg, #333333, #111111);
}
.top-menu-bar
{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index: 1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	/*max-width:1464px;*/
	box-sizing:border-box;
	margin:0 auto;
	color:#ffffff;
	font-size:1em;
	font-weight:bold;
	line-height:1.2em;
	height:100%;
}
.top-title-container
{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	z-index: 1;
	box-sizing:border-box;
	height:100%;
	display:flex;
	align-items:center;
}
.top-title
{
	height:41px;
	width:auto;
	padding:0 0 0 32px;
	transition: all .1s ease-in-out;
}
.top-title:hover
{
	transform: scale(1.03);
}
.top-menu
{
	color:#ffffff;
	font-size:1em;
	font-weight:bold;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:flex;
	text-transform:uppercase;
	text-align:center;
	height:100%;
	z-index: 0;
	justify-content: center;
}
.top-menu>a
{
	padding:0 24px;
	height:100%;
	border-left:1px solid #000000;
}
.top-menu>a:last-child
{
	border-right:1px solid #000000;
}
.top-menu>a:hover
{
	background:#222222;
}
.top-menu-mobile
{
	display:none;
	text-transform:uppercase;
	text-align:right;
}
.top-menu-mobile>a
{
	display:inline-block;
	padding:0 32px;
	line-height:60px;
}
.top-menu-mobile>a>span
{
	margin-right:0.5em;
}
.top-menu-mobile>a>i
{
	display:inline-block;
	width:1em;
}
#top-menu-mobile-dropdown
{
	position:fixed;
	top:60px;
	line-height:60px;
	right:0;
	z-index:200;
	display:flex;
	flex-direction:column;
	text-align:right;
	background:#222222;
}
#top-menu-mobile-dropdown>a
{
	padding:0 32px;
	border-bottom:1px solid #000000;
}
#top-menu-mobile-dropdown>a:hover
{
	background:#111111;
}
#top-menu-mobile-dropdown .top-socials-mobile
{
	padding:0 32px;
}
#top-menu-mobile-dropdown .top-socials-mobile>a
{
	font-size:1.5em;
	margin-left:0.5em;
}
#top-menu-mobile-dropdown .top-socials-mobile>a:first-child
{
	margin-left:0;
}
.top-socials
{
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	z-index: 1;
	display:flex;
	align-items:center;
	font-size:1.5em;
	padding-right:32px;
}
.top-socials>a
{
	margin-left:0.5em;
}

/* main container */
.main-container
{
	color:#ffffff;
	background:#333333;
	font-family: Arial, Helvetica, sans-serif;
	font-size:1.3em;
}
@media (max-width: 991px)
{
	.main-container
	{
		font-size:1.165em;
	}
}
@media (max-width: 639px)
{
	.main-container
	{
		font-size:1em;
	}
}
.main-container.responsive,
.footer
{
	font-size:2vw;
	line-height:1.2em;
}
.main-container.text-page
{
	padding:2em;
	box-sizing: border-box;
}
.main-container.text-page h1
{
	text-align:center;
	font-size:2em;
	line-height: 1.2em;
	padding:0;
	margin:0;
}
.main-container.text-page h2
{
	text-align:left;
	font-size:1.5em;
	line-height: 1.2em;
	padding:0;
	margin:1em 0 0 0;
}
.main-container.text-page h3
{
	text-align:left;
	font-size:1.2em;
	line-height: 1.4em;
	padding:0;
	margin:1.5em 0 0.5em 0;
	font-weight:bold;
}
.main-container.text-page p
{
	text-align:left;
	padding:0;
	margin:0 0 1em 0;
}
.main-container.text-page ul,
.main-container.text-page ol
{
	text-align:left;
	padding:0;
	margin:0 0 1em 1em;
	list-style-position: inside;
}
.main-container.text-page p a,
.main-container.text-page ul a,
.main-container.text-page ol a
{
	text-decoration: underline;
	font-weight:bold;
}
.main-container.text-page .content
{
	padding-top:1.5em;
	text-align:left;
}
.section-container
{
	margin:0 auto;
	max-width:1400px;
}

/* other containers */
.base-margin
{
	padding-left:2em;
	padding-right:2em;
}
.text-section
{
	text-align:center;
	padding-top:2em;
	padding-bottom:2em;
}
.text-section h4
{
	padding-top:0;
	margin-top:1em;
	margin-bottom:0;
	font-size:1.0em;
	font-style:italic;
	font-weight:bold;
	color:#FFDE00;
}
.text-section h5
{
	padding-top:0;
	margin-bottom:1em;
	margin-top:0;
	font-size:1.0em;
	font-style:normal;
	font-weight:normal;
}
.text-section.credits h5
{
	white-space:pre-line;
}
.text-section>.section-container>*:last-child,
.split-section-content>*:last-child
{
	margin-bottom:0;
}
.split-section>.section-container
{
	padding:2em;
	text-align:center;
	display:flex;
	gap:1.5em;
	flex-direction:row-reverse;
	align-items:center;
}
.split-section:nth-child(odd)>.section-container
{
	flex-direction:row;
}
.split-section>.section-container>img,
.split-section>.section-container>canvas,
.split-section>.section-container>div
{
	display:inline-block;
	vertical-align:top;
	box-sizing:border-box;
	text-align:left;
}
.split-section>.section-container>div,
.split-section>.section-container>img,
.split-section>.section-container>canvas,
.split-section>.section-container>a
{
	height:auto;
	padding:0;
	width:0;
}
.split-section>.section-container>div
{
	flex:0.6;
}
.split-section>.section-container>img,
.split-section>.section-container>canvas,
.split-section>.section-container>a
{
	flex:0.4;
}
.split-section.split-50-50>.section-container>div
{
	flex:0.5;
}
.split-section.split-50-50>.section-container>img,
.split-section.split-50-50>.section-container>canvas,
.split-section.split-50-50>.section-container>a
{
	flex:0.5;
}
.split-section.split-70-30>.section-container>div
{
	flex:0.7;
}
.split-section.split-70-30>.section-container>img,
.split-section.split-70-30>.section-container>canvas,
.split-section.split-70-30>.section-container>a
{
	flex:0.3;
}
.split-section.split-80-20>.section-container>div
{
	flex:0.8;
}
.split-section.split-80-20>.section-container>img,
.split-section.split-80-20>.section-container>canvas,
.split-section.split-80-20>.section-container>a
{
	flex:0.2;
}
.split-section>.section-container>canvas
{
	aspect-ratio: 1;
}
/* gallery */
.gallery
{
	padding-top:1.5em;
	text-align:center;
	padding-left:1.5em;
}
.gallery iframe
{
	display:inline-block;
	vertical-align:top;
	width:43.9em;
	height:24.69375em;
	margin-right:1.5em;
	margin-bottom:1.5em;
	border:0.2em solid #000000;
}
.gallery span
{
	display:block;
	margin-right:1.5em;
}
.gallery div
{
	display:inline-block;
	vertical-align:top;
	width:21.4em;
	margin-right:1.5em;
	margin-bottom:1.5em;
}
.gallery img
{
	display:block;
	width:100%;
	border:0.2em solid #000000;
	margin:0 auto;
}
.gallery p
{
	padding:0.5em 0 0 0;
	margin:0;
}

/* action button */
a.action-button
{
	font-size:1.25em;
	display:block;
	width: 50%;
	box-sizing:border-box;
	margin-bottom:1em;
	background:#222222;
	padding: 0.75em;
	border: none;
	border-radius: 0.25em;
	color: white;
	line-height: 1em;
	filter:drop-shadow(0.2em 0.2em 0.1em #000000);
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}
.text-section>div>a.action-button:last-child,
.text-section>div>p>a.action-button:last-child,
.text-section>div>div:last-child>a.action-button:last-child
{
	margin-bottom:0.2em;
}
a.action-button:hover
{
	filter:drop-shadow(0.3em 0.3em 0.1em #000000);
	transition: all .1s ease-in-out;
}
.action-button-icon
{
	padding-left: 0.5em;
}

/* admin */
.admin-page
{
	display:flex;
	flex-direction: row;
	height:100vh;
	overflow:hidden;
	box-sizing: border-box;
}
.admin-page .admin-menu
{
	background:#333333;
	padding:1em 0;
	color:#dddddd;
	height:100%;
	overflow:auto;
}
.admin-page .admin-menu h4
{
	padding:0 1em;
	margin:0 0 1em 0;
}
.admin-page .admin-menu a
{
	font-size:0.9em;
	display:block;
	padding:0.25em 1em;
}
.admin-page .admin-menu a:hover
{
	background:#555555;
	color:#ffffff;
}
.admin-page .content-container
{
	flex:1;
	padding:1em;
	height:100%;
	overflow:auto;
}
.admin-page table,
.admin-page table th,
.admin-page table td
{
	border:1px solid #555555;
	border-collapse: collapse;
}
.admin-page table th,
.admin-page table td
{
	padding:0.25em 1em;
	text-align:left;
}
.admin-page table th
{
	background:#777777;
	color:#ffffff;
}
.admin-page table tr
{
	background:#eeeeee;
}
.admin-page table tr:nth-child(even)
{
	background: #dddddd;
}

@media (min-width: 1400px)
{
	.main-container.responsive,
	.footer
	{
		font-size:28px;
		line-height:1.2em;
	}
}
@media (max-width: 991px)
{
	.top-socials,
	.top-menu
	{
		display:none;
	}
	.top-menu-mobile
	{
		display:block;
	}
}
@media (max-width: 639px)
{
	.main-container.responsive,
	.footer
	{
		font-size:6vw;
		line-height:1.2em;
	}
	.hide-mobile
	{
		display:none !important;
	}
	.hide-desktop
	{
		display:block !important;
	}
	.half-width
	{
		width:100%;
	}
	.top-title
	{
		padding:0 0 0 16px;
	}
	.top-menu-mobile>a
	{
		padding:0 16px;
	}
	#top-menu-mobile-dropdown>a
	{
		padding:0 16px;
	}
	#top-menu-mobile-dropdown .top-socials-mobile
	{
		padding:0 16px;
	}
	.main-container.text-page
	{
		padding:1em;
	}
	.base-margin
	{
		padding:1em 0.5em;
	}
	.split-section>.section-container
	{
		padding:1em 0.5em;
		flex-direction:column !important;
	}
	.split-section>.section-container>div
	{
		width:100%;
		flex:0;
	}
	.split-section>.section-container>img,
	.split-section>.section-container>canvas,
	.split-section>.section-container>a
	{
		width:100%;
		flex:0;
	}
	.split-section.split-70-30>.section-container>img,
	.split-section.split-70-30>.section-container>canvas,
	.split-section.split-70-30>.section-container>a
	{
		width:80%;
	}
	.split-section.split-80-20>.section-container>img,
	.split-section.split-80-20>.section-container>canvas,
	.split-section.split-80-20>.section-container>a
	{
		width:70%;
	}
	.gallery
	{
		padding-left:1em;
	}
	.gallery>h3
	{
		margin-left:-1em;
	}
	.gallery span
	{
		margin-right:1em;
	}
	.gallery div
	{
		width:14.4em;
		margin-right:1em;
	}
	.gallery iframe
	{
		width:14em;
		height:7.875em;
		margin-right:1em;
	}
	.gallery img
	{
		width:14em;
	}
	a.action-button
	{
		font-size:1em;
		width: auto;
	}
}
@media (max-width: 419px)
{
	.top-menu-mobile>a>span
	{
		display:none;
	}
}
