/* Colors and fonts */

:root {
	--dgmca-whitish: rgb(224, 232, 233);
	--dgmca-whitish-10: rgba(224, 232, 233, 0.1);
	--dgmca-whitish-20: rgba(224, 232, 233, 0.2);
	--dgmca-whitish-40: rgba(224, 232, 233, 0.4);
	--dgmca-whitish-55: rgba(224, 232, 233, 0.55);
	--dgmca-whitish-70: rgba(224, 232, 233, 0.7);

	--dgmca-greenish-25: rgba(34, 152, 97, 0.25);
	--dgmca-greenish-40: rgba(34, 152, 97, 0.40);

	--dgmca-yellowish: rgb(247, 222, 82);
	--dgmca-yellowish-25: rgba(247, 222, 82, 0.25);
	--dgmca-yellowish-40: rgba(247, 222, 82, 0.40);
	--dgmca-yellowish-55: rgba(247, 222, 82, 0.55);

	--dgmca-tealish: rgba(67, 230, 216);
	--dgmca-tealish-25: rgba(67, 230, 216, 0.25);
	--dgmca-tealish-40: rgba(67, 230, 216, 0.40);

	--dgmca-redish: rgb(230, 100, 67);
	--dgmca-redish-25: rgba(230, 100, 67, 0.25);
	--dgmca-redish-40: rgba(230, 100, 67, 0.40);
}

@font-face {
	font-family: 'OCR-A BT';
	font-style: normal;
	font-weight: normal;
	src: local('OCR-A BT'), url('/fonts/OCR-a___.woff') format('woff');
}

/* Base layout and styles */

* {
	box-sizing: border-box;
}

html {
	position: relative;
	min-height: 100%;
	padding: 0;
	margin: 0;
}

body {
	background:
			repeating-linear-gradient(45deg, #2f314e, #24414f 2px),
			radial-gradient(circle, #0f110e, #201916);
	background-blend-mode: overlay;
	background-size: cover;

	padding: 0;
	height: 100vh;
	margin: 0;
	
	font-family: "OCR-A BT", monospace; 
	font-weight: 300;
	font-style: normal;
	font-size: 22px;
	color: var(--dgmca-whitish);
}

body::before {
	content: "";
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	pointer-events: none;
	background-image:
			radial-gradient(rgba(255,255,255,0.5) 20%, transparent 50%),
			radial-gradient(rgba(0,0,0,0.5) 50%, transparent 20%);
	background-size: 5px 5px, 3px 3px;
	opacity: 0.1;
	z-index: -1;
}

.body-wrapper {
}

a {
	color: #E0E8E9;
	text-decoration: none;
}

/* Utility styles */

.mt-single {
	margin-top: 15px;
}

.mt-double {
	margin-top: 30px;
}

/* Text styles */

.normal-text {
	
}

.heading-text {
	font-weight: 400;
	text-transform: uppercase;
}

.sad-text {
	opacity: 0.5;
}

/* Alerts */

.page-alert .alert {
	background: var(--dgmca-tealish-25);
	border: 1px solid var(--dgmca-tealish-40);
	padding: 10px;
	margin-bottom: 20px;
	border-radius: 2px;
}

.page-alert .alert.alert-error {
	background: var(--dgmca-redish-25);
	border: 1px solid var(--dgmca-redish-40);
}

/* Header */

.header {
	display: flex;
	justify-content: start;
	align-items: start;
	padding: 20px 20px 20px 20px;
	font-size: 26px;
}

.header a {
	color: var(--dgmca-whitish);
}

.header span {
	padding: 0 30px;
	border-left: 2px solid var(--dgmca-whitish-70);
}

.header span:first-child {
	padding-left: 0;
	border-left: none;
}

@media screen and (max-width: 1000px) {

	.header .header-domain {
		display: none;
	}
	
}

@media screen and (max-width: 600px) {

	.header {
		flex-direction: column;
		gap: 10px;
	}
	
	.header span {
		padding-left: 0;
		border-left: none;
	}

}

/* Main */

.main {
	display: flex;
	justify-content: start;
	align-items: start;
	gap: 30px;
}

.main-boxes {
	align-self: stretch;
	border-top: 2px solid var(--dgmca-whitish-40);
	border-right: 2px solid var(--dgmca-whitish-40);
	border-bottom: 2px solid var(--dgmca-whitish-40);
	padding: 6px 6px 6px 1px;
}

.main-box {
	width: 40px;
	height: 40px;
	margin-bottom: 6px;
	background-color: var(--dgmca-whitish);
	box-shadow: 0 0 10px var(--dgmca-whitish-70);
}

.main-box:last-child {
	margin-bottom: 0;
}

.main-body {
	position: relative;
	z-index: 1;
	min-height: 620px;
	max-width: 1292px;
	flex-basis: 1292px;
	padding-right: 40px;
}

.main-body-title {
	font-size: 26px;
}

@media screen and (max-width: 1000px) {

	.main {
		gap: 20px;
	}

	.main-box {
		width: 30px;
		height: 30px;
	}

	.main-body {
		padding-right: 20px;
	}
}

@media screen and (max-width: 600px) {

	.main-boxes {
		display: none;
	}

	.main-body {
		padding-left: 20px;
	}
	
}

/* Home page and session listing */

.home-box {
	padding: 20px 30px 30px;
	width: 100%;
}

.session-date {
	font-size: 18px;
	margin-top: 20px;
	border: 1px solid var(--dgmca-whitish-20);
	background-color: var(--dgmca-whitish-10);
}

.session-date-date {
	padding: 5px;
}

.session-date-sessions {
	display: flex;
	justify-content: space-evenly;
	gap: 10px;
	row-gap: 10px;
}

.session-time {
	flex-grow: 1;
	border-top: 1px solid var(--dgmca-whitish-20);
	border-right: 1px solid var(--dgmca-whitish-20);
}

.session-time:last-child {
	border-right: none;
}

a.session-time-link {
	display: block;
	background: var(--dgmca-greenish-25);
	padding: 5px;
	white-space: nowrap;
}

a.session-time-link:hover {
	background: rgba(34, 152, 97, 0.4);
}

.session-time-label {
	padding: 5px;
	opacity: 0.6;
	white-space: nowrap;
}

@media screen and (max-width: 800px) {

	.home-box {
		padding: 20px;
	}
	
	.session-date-sessions {
		flex-wrap: wrap;
	}
	
}

/* Video page - video */

.session-page .main-body {
	max-width: none;
	flex-basis: auto;
}

.video-section {
	display: flex;
	gap: 30px;
	align-items: start;
}

.video-box {
	padding: 6px;
	min-width: 1280px;
	max-width: 1280px;
}

.video-holder video {
	display: block;
}

.video-info {
	border-top: 2px solid var(--dgmca-whitish-55);
	font-size: 18px;
	display: flex;
	justify-content: space-evenly;
}

.video-info div {
	flex-basis: 20%;
	padding: 5px;
	border-right: 2px solid var(--dgmca-whitish-55);
	text-transform: uppercase;
}

.video-info div:last-child {
	border-right: none;
}

@media screen and (max-width: 1700px) {

	.video-section {
		flex-direction: column;
		max-width: 1292px;
	}

}

@media screen and (max-width: 1400px) {

	.video-box {
		width: 100%;
		min-width: auto;
	}

}

@media screen and (max-width: 800px) {

	.video-info {
		flex-direction: column;
	}

	.video-info div {
		border-right: none;
	}
}

/* Video page - order hook */

.order-hook-box {
	padding: 20px;
}

.video-timestamp {
	color: var(--dgmca-tealish);
	font-size: 56px;
}

.video-timestamp.video-loading {
	opacity: 0.5;
}

.form-button.order-print-button {
	background: var(--dgmca-tealish-25);
}

.form-button.order-print-button:hover {
	background: var(--dgmca-tealish-40);
}

.form-button.order-print-button:disabled {
	background: var(--dgmca-whitish-20);
}

@media screen and (max-width: 1400px) {

	.order-hook-box {
		display: flex;
		gap: 40px;
		align-items: end;
	}

	.order-hook-box-action, .order-hook-box-info {
		flex-basis: 50%;
	}
}

@media screen and (max-width: 800px) {
	
	.order-hook-box {
		flex-direction: column;
		gap: 20px;
	}
	
}

/* Order page */

.order-main {
	display: flex;
	gap: 30px;
	align-items: start;
}

.order-form-box {
	flex-basis: 50%;
	padding: 26px;
}

.order-session-info {
	padding-bottom: 20px;
	display:flex;
	justify-content: start;
	gap: 40px;
}

.order-session-info-values {
	color: var(--dgmca-tealish);
}

.order-right {
	flex-basis: 50%;
}

.order-capture-img {
	max-width: 100%;
	margin-bottom: 30px;
	padding: 6px;
}

.order-capture-img img {
	max-width: 100%;
	display: block;
}

.order-form-box .form-field {
	width: 100%;
}

.order-info-box {
	flex-basis: 50%;
	padding: 26px;
}

.order-sizes {
	background: var(--dgmca-whitish-10);
	border: 1px solid var(--dgmca-whitish-40);
	border-radius: 2px;
	margin-top: 10px;
}

.order-size {
	border-top: 1px solid var(--dgmca-whitish-40);
	padding: 6px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: start;
}

.order-size:first-child {
	border-top: none;
}

.order-size-tick {
	flex-basis: 30px;
	text-align: center;
	font-size: 28px;
}

.order-size-tick span {
	opacity: 0;
}

.order-size.order-size-selected {
	background-color: var(--dgmca-greenish-40);
}

.order-size.order-size-selected .order-size-tick span {
	opacity: 1;
}

@media screen and (max-width: 1200px) {

	.order-session-info {
		gap: 20px;
		font-size: 18px;
	}
	
}

@media screen and (max-width: 1000px) {

	.order-capture-img {
		margin-bottom: 20px;
	}
	
	.order-main {
		flex-direction: column;
		gap: 20px;
	}
}

/* About */

.about-list {
	line-height: 32px;
}

/* Forms */

.manage-box {
	padding: 20px 20px 40px;
}

.form-row {
	display: flex;
	justify-content: start;
	align-items: start;
	gap: 20px;
}

.form-label {
	font-size: 18px;
	font-weight: 500;
	display: block;
}

.form-field {
	display: block;
	background: var(--dgmca-whitish-10);
	padding: 8px;
	border: 1px solid var(--dgmca-whitish-40);
	border-radius: 2px;
	width: 440px;
	margin-top: 10px;
	color: #ffffff;
	font-size: 22px;
	font-family: "OCR-A BT", serif;
}

.form-validation {
	display: block;
	margin-top: 5px;
	color: var(--dgmca-redish);
}

.form-buttons {
	display: flex;
	justify-content: start;
	gap: 10px;
}

.form-button {
	background: var(--dgmca-yellowish-40);
	color: white;
	font-family: "OCR-A BT", serif;
	font-weight: 400;
	font-size: 20px;
	border: 1px solid var(--dgmca-whitish-55);
	border-radius: 2px;
	padding: 8px;
	display: block;
	cursor: pointer;
}

.form-button:hover {
	background: var(--dgmca-yellowish-55);
	border-color: var(--dgmca-whitish-70);
}

.form-button.secondary-button {
	background: var(--dgmca-whitish-10);
}

.form-button.secondary-button:hover {
	background: var(--dgmca-tealish-25);
}

.form-button.danger-button {
	background: var(--dgmca-redish-25);
}

.form-button.danger-button:hover {
	background: var(--dgmca-redish-40);
}

.form-select {
	background: var(--dgmca-whitish-10);
	padding: 8px;
	border: 1px solid var(--dgmca-whitish-40);
	font-size: 22px;
	font-family: "OCR-A BT", serif;
	color: white;
	border-radius: 2px;
}

@media screen and (max-width: 600px) {

	.form-field {
		width: auto;
	}

	.form-row {
		flex-direction: column;
	}
	
	.form-buttons {
		flex-direction: column;
	}

}

/* Table */

.dgmca-table {
	width: 100%;
	border: 1px solid var(--dgmca-whitish-40);
	border-spacing: 0;
	border-radius: 2px;
}

.dgmca-table th {
	padding: 5px;
	background-color: var(--dgmca-whitish-20);
	text-align: left;
	font-weight: 400;
	font-size: 20px;
}

.dgmca-table td {
	padding: 5px;
	text-align: left;
	font-size: 20px;
	color: white;
}

.dgmca-table td a {
	color: var(--dgmca-yellowish);
}

.dgmca-table tbody tr:nth-child(even) {
	background-color: var(--dgmca-whitish-10);
}

.dgmca-table .table-actions {
	display: flex;
	justify-content: end;
	gap: 10px;
}

.dgmca-table .table-button {
	background: var(--dgmca-yellowish-40);
	border: 1px solid var(--dgmca-whitish-70);
	font-size: 16px;
	padding: 4px;
	border-radius: 2px;
}


@media screen and (max-width: 800px) {
	
	.dgmca-table thead {
		display: none;
	}
	
	.dgmca-table td {
		display: block;
	}

}

/* Prepper README */

.prepper-readme {
	font-size: 18px;
}

.prepper-readme ol, .prepper-readme ul {
	padding-left: 30px;
}

.prepper-readme li {
	padding-bottom: 10px;
}

.prepper-readme h1, .prepper-readme h2 {
	margin: 0;
	font-weight: 400;
	font-size: 24px;
}

.prepper-readme h2 {
	margin-top: 50px;
}

.prepper-readme h3 {
	font-weight: 400;
	font-size: 18px;
	margin-top: 40px;
}

.prepper-readme pre code {
	text-shadow: none;
	font-family: monospace;
	color: var(--dgmca-tealish);
}

@media screen and (max-width: 1200px) {

	.prepper-readme pre {
		white-space: wrap;
	}

}


/* Fancy double-border box */

.double-box {
	position: relative;
}

.double-box::before,
.double-box::after {
	content: "";
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	box-sizing: border-box;
}

.double-box::before {
	border: 2px solid var(--dgmca-whitish-55);
	z-index: 2;
	background-image:
			repeating-linear-gradient(
					to right,
					var(--dgmca-whitish-55),
					var(--dgmca-whitish-55) 2px,
					transparent 2px,
					transparent 40px
			),
			repeating-linear-gradient(
					to bottom,
					var(--dgmca-whitish-55),
					var(--dgmca-whitish-55) 2px,
					transparent 2px,
					transparent 40px
			);
	background-repeat: no-repeat;
	background-position: top, left;
	background-size: 100% 2px, 2px 100%;
}

.double-box::after {
	top: 4px;
	left: 4px;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border: 2px solid var(--dgmca-whitish-55);
	
	z-index: 1;
}

/* Footer */

.footer {
	padding: 20px 10px 20px;
	font-size: 16px;
}

.footer-links {
	padding-top: 10px;
	display: flex;
	justify-content: start;
	gap: 20px;
}

.footer-links a {
	color: var(--dgmca-yellowish);
}