/* ========================================
   BASE STYLES - Global typography & layout
   ======================================== */

/* Font definitions */
@font-face {	
	font-family: 'BebasNeue';
	src: url('/_site_config/font/BebasNeue.otf');	
}

/* CSS Variables */
:root {
    --shadow-light: 0 2px 8px rgba(0,0,0,0.1);
}

/* Global HTML styles */
html {
    scroll-behavior: smooth;
}

body {
    font-family: verdana;
    font-size: 18px;
    color: #DBDBDB;
    background-color: rgb(10,10,10);
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Typography */
h1 {
	color: #FFFFFF;
	text-align: center;
	font-family: BebasNeue;
	font-size: min(10vw, 120px);
	overflow: hidden;
	overflow-wrap: break-word;
	margin: 0.5rem 0;
	font-weight: 500;
	line-height: 1.2;
}

h2 {
	color: #8DABE0;
	font-size: 24px;
    scroll-margin-top: 16px;
	margin: 0.5rem 0;
	font-weight: 500;
	line-height: 1.2;
}

h3 {
	font-size: 18px;
	color: #DBDBDB;
	text-decoration: underline;
	margin: 0.5rem 0;
	font-weight: 500;
	line-height: 1.2;
}

p {
	font-size: 18px;
	color: #DBDBDB;
	margin: 1em 0;
}

li {
	color: #DBDBDB;
}

/* Links */
a {
    color: #F9D000;
	text-decoration: none;
}

a:visited {
  color: #F2A900;
}

a:hover {
  color: #427AFF;
}

a:active {
  color: #427AFF;
}

/* Layout structures */
main {
	margin-top: 15px;
	margin-bottom: 15px;
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	padding: 10px;
	flex: 1;
}

section {
	background-color: rgb(0,0,0,0.9);
	padding: 15px;
	border: 1px solid #406DBC;
	border-radius: 0.5em;
	margin-bottom: 1em;
}

article {
	padding-bottom: 10px;
	margin-bottom: 50px;
	border-bottom: 1px solid white;
}

article img {
	max-width: 100%;
	height: auto;
	display: block;
}

article:last-child {
	margin-bottom: 0px;
}

/* Table base styles */
table {
	margin-bottom: 16px;
	border-collapse: collapse;
}

table, td {
    border: 1px solid #333;
	color: #fff;
	padding-left: 10px;
	padding-right: 10px;
}

thead, tfoot {
    background-color: #333;
    color: #fff;
	padding-left: 40px;
}

thead, tfoot, th {
	padding-left: 15px;
}

/* Other elements */
#background-video {
	position: fixed;
	top: 50%;
	left: 50%;
	bottom: 0;
	min-width: 100%;
	min-height: 100%;
	z-index: -100;
	transform: translateX(-50%) translateY(-50%);
	background-size: cover;
	transition: 1s opacity;
}

.ratio {
	padding-top: 56.25%;
}

.my-link, .my-link:link, .my-link:visited, .my-link:hover, .my-link:active {
  color: inherit;
  text-decoration: none;
}

/* Lightbox image handling */
.lightbox-image {
  display: inline-block;
  vertical-align: top;
  font-size: 0;
}

.lightbox-image img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* Image alignment in paragraphs */
p img {
  display: inline-block;
  vertical-align: top;
  font-size: 0;
}

.footer {
	margin-top: 20px;
	background-color: transparent;
	color: RGB(100,100,100);
	text-align: center;
}

.footer-links {
	margin: 0;
	width: 100%;
	height: auto;
	font-size: 14px;
	background-color: rgb(25,25,25);
	color: RGB(100,100,100);
	text-align: center;
	list-style-type: none;
}

#construction-info {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: auto;
	padding: 20px;
	border: 1px solid #406DBC;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1000;
}

/* Form elements */
button, input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	color: inherit;
}

button {
	cursor: pointer;
	color: #000000;
}
