:root {
	--font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Tahoma, sans-serif;
	--font-main-serif: "Georgia", "Times New Roman", Times, serif;
}

/* For WebKit browsers (Chrome, Safari) */
::-webkit-scrollbar {
	width: 4px;
	/* Width of the scrollbar */
	height: 4px;
	/* Height of the scrollbar (for horizontal scrolling) */
}

::-webkit-scrollbar-track {
	background: var(bg-main) /* Background color of the track */
}

::-webkit-scrollbar-thumb {
	background: var(--border);
	border-radius: 6px;
	/* Round the corners */
}

::-webkit-scrollbar-thumb:hover {
	background: var(--fg-body)
}

/* For Firefox */
body {
	scrollbar-color: #666 #333 /* thumb color and track color */
}

body {
	font-family: var(--font-main);
	font-size: 16px;
	line-height: 1.2;
	color: #ddd;
	background: #123;
	margin: 0;
	padding: 0;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	height: 100vh;
	background-attachment: fixed;
}

main {
	margin: 0 auto;
	width: 80%;
	display: flex;
	min-height: 100.5vh;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
}

header {
	height: 140px;
	display: flex;
	justify-content: space-between;
	width: 100%;
}

header h1 {
	font-size: 1.2rem;
	margin:0;
	padding: 3rem 1rem;
}

header h1 >.slogan {
	font-style: italic;
	font-weight: 200;
}

.bg1 {
	background-image: url('img/d-bg1.png');
}

.bg2 {
	background-image: url('img/d-bg2.png');
}

.bg3 {
	background-image: url('img/d-bg3.png');
}

.logo {
	background-image: url('img/d-logo.png');
	background-size: 48%;
	background-position: 50%;
	width: 240px;
	background-repeat: no-repeat;
	height: 120px;
}

#page { min-height: 90%; }

.columns {
	columns: 4 200px;
	column-gap: 1rem;
	/* height: 100%; */
	width: 97%;
	padding-bottom: 5rem;
}

.columns div {
	break-inside: avoid;
	margin-bottom: 1rem;
	column-fill: balance;
}

.columns div >h3,
.columns div >p   {
	padding: 0 .5rem; 
}
.columns div >h3 {
	margin-bottom: .5rem;
}
.columns div >p {
	margin-top: 0;
}

footer {
	font-size: .8rem;
	padding: 2rem;
	background: #00000055;
	display: flex;
	justify-content: space-between;
	/* line-height: 2; */
	}

footer div:last-child {
	line-height: 2;
}

.card {padding: .5rem;
background: #ffffff88;
color: #333; 
}

.card > a {
	text-decoration: none;
}

.card:hover {
background: #ffffffee;
color: #111; 
}

.card:hover > a {
	text-decoration: underline;
}
	
.card img { width: 100%; }
.card p { font-size: .9rem; }

.overlay {
background: #00003333; 
}

.card.span {
	column-span: all;
	break-after: avoid-column;
	break-before: avoid-column;
	margin-top: 1rem;
}

.card.span img {
	width: 50%;
}

.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1000; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgba(0, 0, 0, 0.8); /* Black w/ opacity */
}

.modal-content {
    position: relative;
    margin: auto;
    padding: 0;
    width: 75%; /* 75% of screen */
    height: 75%; /* 75% of screen */
    max-width: 800px; /* Optional max width */
}

.close {
    position: absolute;
    top: 10px;
    right: 20px;
    color: white;
    font-size: 24px;
    cursor: pointer;
}


#videoPlayer {
	height:100%;
}

.modal-content {
	height: 80%;
	background: #000;
	padding: 1rem;
	margin: 1rem auto;
	border-radius: 1rem;
}

a.vidplay {
appearance: button;
	background: #222;
	width: calc(100% - 1rem);
	padding: .5rem;
	color: #fff;
	text-decoration: none;
	text-align: center;
	display: block;
}

a.link {
appearance: button;
	background: #369;
	width: calc(100% - 1rem);
	padding: .5rem;
	color: #fff;
	text-decoration: none;
	text-align: center;
	display: block;
}