/* General */
* {
	font-family: "Montserrat", Calibri;
	color: whitesmoke;
	background-color: black;
}

.jumboText {
	font-size: 100px;
	font-weight: bold;
}

.longText {
	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-hyphens: auto;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.flexContainer {
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	text-align: center;
	margin: auto;
	justify-content: center;
}

.loadingText:after {
  content: '.';
  animation: dots 1s steps(5, end) infinite;
}

@keyframes dots {
	0%, 20% {
		color: rgba(0,0,0,0);
		text-shadow:
		.25em 0 0 rgba(0,0,0,0),
		.5em 0 0 rgba(0,0,0,0);
	}
	40% {
		color: whitesmoke;
		text-shadow:
		.25em 0 0 rgba(0,0,0,0),
		.5em 0 0 rgba(0,0,0,0);
	}
	60% {
		text-shadow:
		.25em 0 0 whitesmoke,
		.5em 0 0 rgba(0,0,0,0);
	}
	80%, 100% {
		text-shadow:
		.25em 0 0 whitesmoke,
		.5em 0 0 whitesmoke;
	}
}

/* Header */
#mainHeader {
	text-align: center;
	border-bottom: 1px solid whitesmoke;
	margin-bottom: 10px;
}

#mainHeader > .topHeader > .hideableHeader {
	display: none;
}

#mainHeader > .topHeader > a {
	text-decoration: none;
}

#mainHeader > .topHeader > a > h1 {
	margin-top: 0px;
	margin-bottom: 0px;
}

#mainHeader > .topHeader > h3 {
	margin-top: 0px;
}

#mainHeader > .followHeader {
	z-index: 1;
	position: fixed;
	text-align: center;
	margin: auto;
	top: 0;
	width: 100%;
}

#mainHeader > .followHeader > a {
	text-decoration: none;
}

#mainHeader > .followHeader > a > h1 {
	text-align: center;
	margin: auto;
	margin-top: 0px;
	margin-bottom: 0px;
}

#mainHeader #headerGoBack > p {
	margin-top: 0px;
	color: whitesmoke;
}

@media screen and (max-width: 700px) {
	#mainHeader > .topHeader > a > h1 {
		font-size: 245%;
	}

	#mainHeader p {
		font-size: 12px;
	}

	#mainHeader > .topHeader > .hideable {
		display: none;
	}

	#mainHeader > .followHeader > a > h1 {
		font-size: 245%;
	}
}

/* Body */
main#mainContent {
	margin: auto;
}

#contentSelector {
	text-align: center;
	width: 50%;
	background-color: black;
	color: whitesmoke;
	border: 1px solid whitesmoke;
	border-radius: 4px;
	padding: 4px;
	font-weight: bold;
	display: block;
	margin: auto;
}

.productContainer > div {
	position: relative;
	width: 25%;
	min-width: 225px;
    background-color: transparent;
	margin: 10px;
    border-radius: 4px;
    padding: 20px;
	border: 1px solid white;
}

.productContainer > div > img {
	width: 80%;
	background-color: rgba(245,245,245,0.5);
	border-radius: 100%;
}

.productContainer > div > p {
    position: absolute;
    bottom: 1px;
    left: 16px;
	font-size: 18px;
	margin-bottom: 4px;
	/* -webkit-text-stroke: 0.75px black;
	-webkit-text-fill-color:white; */
}

.productContainer > div > a {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0,0,0,0.6);
	color: white;
	visibility: hidden;
	opacity: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	transition: opacity .2s, visibility .2s;
}

.productContainer > div:hover > a {
	text-decoration: none;
	visibility: visible;
	opacity: 1;
}

.productContainer > div > a > p {
	font-size: 20px;
	font-weight: bold;
	transition: .2s;
	transform: translateY(1em);
	text-align: center;
	text-decoration: none;
	padding: 10px;
	border-radius: 4px;
}

.productContainer > div:hover > a > p {
	transform: translateY(0);
}

.productContainer > div > a > p > span {
	margin-top: 0px;
	font-size: 15px;
	color: #b4b4b4;
}

#pageNumbers {
	width: fit-content;
	display: block;
	margin: auto;
}

#pageNumbers button {
	color: whitesmoke;
	background-color: black;
	border: 1px dotted whitesmoke;
	border-radius: 4px;
	width: 3em;
	height: 3em;
	padding: 5px;
	text-align: center;
	margin: 1px;
}

#pageNumbers button:hover {
	color: black;
	background-color: whitesmoke;
	cursor: pointer;
}

#pageNumbers button.currentPage {
	border: 1px solid whitesmoke;
}

/* Product Page */
.buyPage_Button {
	background-color: black;
	color: whitesmoke;
	font-size: 15px;
	font-weight: bold;
	padding-top: 1%;
	padding-bottom: 1%;
	padding-left: 2%;
	padding-right: 2%;
	margin-right: 2px;
	margin-top: 2px;
	border-radius: 4px;
}

.buyPage_Button:hover {
	background-color: whitesmoke;
	color: black;
	cursor: pointer;
}

.buyPage_Sale {
	color: whitesmoke;
	background-color: black;
	overflow: auto;
}

.buyPage_Sale > div {
	border: 1px solid black;
	border-radius: 4px;
	color: black;
	background-color: transparent;
	max-width: 420px;
	width: 50%;
	min-width: 220px;
	margin: 2px;
	padding: 4px;
}

.buyPage_Sale > div img {
	width: 100%;
	padding: 4px;
	/* background: url("../images/loading.gif") 50% no-repeat; */
	background-color: rgba(245,245,245,0.5);
	border-radius: 4px;
}

.buyPage_Sale > div #product_loadingText {
	width: 100%;
	padding: 4px;
	background-color: rgba(245,245,245,0.5);
	border-radius: 4px;
}

.buyPage_Sale p {
	margin: 0px;
	border: 1px solid black;
	border-radius: 4px;
	padding: 4px;
	color: black;
	background-color: whitesmoke;
}

.buyPage_Sale h3 {
	font-weight: bold;
	margin-bottom: 0px;
	color: whitesmoke;
	background-color: transparent;
}

.buyPage_Sale h3:first-child {
	margin-top: 0px;
}

#imageControls {
	/* border-top: 1px solid whitesmoke; */
	color: whitesmoke;
	background-color: transparent;
}

#imageControls > button {
	border: 1px solid whitesmoke;
	border-radius: 4px;
	font-weight: normal;
	width: 45%;
}

#buyControls {
	color: whitesmoke;
	background-color: transparent;
	border: 1px solid black;
	border-radius: 4px;
	width: 50%;
	max-width: 862px;
	min-width: 228px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 10px;
	padding-bottom: 10px;
}

#buyControls * {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

#buyControls > a {
	width: 88.6%;
	border: 1px solid whitesmoke;
	border-radius: 4px;
	margin-top: 4px;
	margin-bottom: 4px;
	margin-left: auto;
	margin-right: auto;
	padding: 4px;
	color: black;
	background-color: whitesmoke;
	text-decoration: none;
}

#buyControls > a:hover {
	cursor: pointer;
	color: whitesmoke;
	background-color: black;
}

#buyControls > select.variant {
	width: 90%;
	border: 1px solid black;
	border-radius: 4px;
	margin-top: 4px;
	margin-bottom: 4px;
	margin-left: auto;
	margin-right: auto;
	padding: 4px;
	color: black;
	background-color: whitesmoke;
	text-decoration: none;
}

#buyControls > select.quantity {
	width: 90%;
	border: 1px solid black;
	border-radius: 4px;
	margin-top: 4px;
	margin-bottom: 4px;
	margin-left: auto;
	margin-right: auto;
	padding: 4px;
	color: black;
	background-color: whitesmoke;
}

.failureText {
	text-align: center;
	display: none;
}

#product_title {
	text-align: center;
}

#loadingContent {
	text-align: center;
	word-break: break-all;
}

/* About */
#aboutPage #mainContent {
	text-align: center;
}

#aboutTable {
	border: 1px solid whitesmoke;
	border-radius: 4px;
	margin: auto;
}

#aboutTable th {
	border: 1px solid whitesmoke;
	border-radius: 4px;
}

#aboutTable th, #aboutTable td {
    padding: 10px;
}

#aboutPage .smallText {
	font-size: 10px;
}

#aboutPage .textContent {
	max-width: 75%;
	margin-left: auto;
	margin-right: auto;
}

#aboutPage .desktopMode {
	display: inline-table;
}

#aboutPage .mobileMode {
	display: none;
}

#aboutPage .mobileMode > div {
	border: 1px solid whitesmoke;
	border-radius: 4px;
	margin-bottom: 4px;
	margin-left: auto;
	margin-right: auto;
	width: 75%;
}

#aboutPage .mobileMode > div > p:first-of-type {
	font-weight: bold;
}
 
@media screen and (max-width: 455px) {
	#aboutPage .desktopMode {
		display: none;
	}

	#aboutPage .mobileMode {
		display: block;
	}
}

/* Footer */
footer {
	text-align: center;
	border-top: 1px solid whitesmoke;
	margin-top: 10px;
}

footer > a {
	text-decoration: none;
}

footer > a > p {
	margin: auto;
	margin-top: 10px;
	padding-top: 4px;
	padding-bottom: 4px;
	width: 30%;
	min-width: 250px;
	border: 1px solid whitesmoke;
	border-radius: 4px;
}

footer > a > p:hover {
	color: black;
	background-color: whitesmoke;
}