/* =================================
  Base Element Styles
==================================== */

@import url('https://fonts.googleapis.com/css?family=Nunito|Roboto+Mono');

* {
	box-sizing: border-box;
}

body,
input,
button {
	font-family: 'Nunito', sans-serif;
}

body {
	font: 1em/1.5;
	color: rgba(6, 49, 68, 0.9);
	background: #000;
}

header {
	text-align: center;
}

header span {
	color: #fff;
	font-family: 'Anton', Impact, 'Arial Narrow Bold', sans-serif;
	letter-spacing: 1.5mm;
	position: relative;
	top: 1vh;
	font-size: 3.5em;
	top: 10px;
	text-shadow: 0.5px 0.5px #094e00;
}

h1 {
	font-family: 'Raleway', Arial, Helvetica, sans-serif;
	font-size: 2.5em;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.85);
	margin: 0;
	text-shadow: 2px 2px #094e00;
}

a {
	text-decoration: none;
}

/* =================================
  Form Element Styles
==================================== */

form {
	color: white;
	background: #000;
	border: 2px solid#6ac773;
	border-radius: 4px;
	opacity: 0.75;
	padding: .875em 1.875em 1.875em;
}

fieldset,
legend,
button {
	padding: 0;
	border: none;
}

fieldset {
	margin-top: 1.5em;
}

legend,
button {
	font-size: 1.25em;
}

legend {
	font-weight: 500;
	padding-top: .5em;
	border-top: 2px solid #6ac773;
	margin-bottom: 1.125em;
}

input[type="text"],
input[type="email"],
legend {
	width: 100%;
}

label {
	color: #fff;
	display: block;
	margin-bottom: .5em;
}

label.errorText {
	color: #fffb00;
}

input,
select {
	margin-bottom: 1.125em;
}

input {
	color: white;
	font-size: 1em;
	font-weight: 500;
	padding: .8em;
	background: #000000;
	border: 2px solid #b0d3e2;
	border-radius: 4px;
	outline: none;
}

input:focus {
	background: #242a2e;
	border-color: rgb(43, 255, 0);
	color: white;
	transition: border-color .4s, background-color .4s;
}

#cc-num {
	background-image: url('../static/images/cc-icons.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position-x: right;
}

input[type="checkbox"],
input[type="radio"] {
	display: inline-block;
}

/* disabled pseudo class manipulation | Reference:
https://developer.mozilla.org/en-US/docs/Web/CSS/:disabled */
input[type="checkbox"]:disabled {
	border: 1px solid red;
}

button {
	color: #fff;
	padding: .55em 1.25em;
	background: #6ac773;
	margin: 1.25em 0 .5em;
	cursor: pointer;
	border: 2px solid black;
	border-radius: 4px;
	transition: all 0.5s;
	animation: pulse 2s infinite;
}
/* Pulse Effect | Reference:
https://stackoverflow.com/questions/44513333/how-to-create-a-pulse-effect-on-an-image-for-a-couple-seconds-when-the-page-load
*/
@-webkit-keyframes pulse {
	0% {
		-webkit-box-shadow: 0 0 0 0 #6ac773;
	}
	70% {
		-webkit-box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
	}
	100% {
		-webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
	}
}
@keyframes pulse {
	0% {
		-moz-box-shadow: 0 0 0 0 rgba(6ac773);
		box-shadow: 0 0 0 0 #6ac773;
	}
	70% {
		-moz-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
		box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
	}
	100% {
		-moz-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
	}
}

button:hover {
	background: #fff;
	border: 2px solid #353e44;
	color: #6ac773;
}

input,
select,
option {
	font-family: 'roboto', sans-serif;
}

legend.payment-legend.errorText,
legend.actitity-legend.errorText,
label.errorText {
	color: red;
	font-family: sans-serif;
	font-size: 2vh;
	font-weight: bold;
}

/* =================================
  Page Styles
==================================== */

.container {
	margin: auto;
	max-width: 680px;
}

.shirt div {
	float: left;
	margin-right: .85em;
}

.interests input {
	margin-bottom: 0;
}

.credit-card {
	margin-top: 1.25em;
}

/* =================================
  Slideshow Styles
==================================== */

#slideshow {
	min-height: 100%;
	min-width: 1024px;
	width: 100%;
	/* height: auto; */
	position: fixed;
	top: 0;
	left: 0;
	z-index: -9999;
	display: grid;
	height: 100%;
}

#slideshow img {
	max-width: 100%;
	max-height: 100vh;
	margin: auto;
	height: 100vh;
	width: 100%;
}

#ppLogo,
#bcLogo {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 50%;
}

/* =================================
  Helper Classes
==================================== */

.is-hidden {
	display: none;
}

.clearfix::after {
	content: " ";
	display: table;
	clear: both;
}

/* =================================
  Media Queries
==================================== */

@media (min-width: 0) and (max-width: 679px) {
	header {
		color: #fff;
		padding: 2em 0;
	}
	button {
		width: 100%;
	}
}

@media (min-width: 680px) {
	header {
		color: #fff;
		padding: 4.65em 0 2.5em;
	}
	.col {
		float: left;
	}
	.col + .col {
		margin-left: 2.5%;
	}
	.col-3 {
		width: 23%;
	}
	.col-6 {
		color: #fff;
		width: 49%;
	}

	label {
		clear: both;
	}
}
