:root {
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
}

body {
	margin: 0px;
	position: relative;
	min-height: 100vh;
}

div.center {
	text-align: center;
	width: 100%;
}

p {
	margin-left: 5vw;
	margin-right: 5vw;
	text-align: justify;
	line-height:1.5;
}

.content.padded p {
	padding-top: 10px;
	padding-bottom: 10px;
}

ul,ol {
	margin-left: 5vw;
	margin-right: 5vw;
}

main {
	padding-bottom: 75px; /* Footer height */
}

footer {
	background-color: black;
	color: white;
	height: 75px;
	align-items: center;
	position: absolute;
	bottom: 0;
	width: 100vw;
	max-width: 100%;
}

h1 {
	text-align:center;
	margin: auto;
	font-family: 'Roboto Slab', sans-serif;
	font-size: 48px;
}

h2 {
	text-align:center;
	margin: auto;
	font-family: 'Roboto Slab', sans-serif;
}

a {
	color: red;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
	cursor: pointer;
}

ol li {
	font-size: 18px;
}

.card {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    border-radius: 10px;
    background-color: white;
    padding: 20px;
}

.parallax {
    min-height: 500px;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.non-parallax {
    height: 500px;
}

.flex-row {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
}

.flex-column {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

#results {
	text-align: center;
	font-size: 20px;
	font-family: Helvetica;
}

table {
	border-collapse: collapse;
	margin-top: 30px;
}

table, td {
	border: 0px;
}

tr {
	height:50px;
}

tr:nth-child(odd) {
	background: #f5f5f5;
}

td.c1 {
	border-right: 2px solid red;
}

td {
	text-align: center;
	font-family: Roboto;
	font-size: 2em;
	width: auto;
	padding: 0px 20px;
	height:50px;
	flex-shrink: 1;
}

td.error {
	text-align: center;
	font-family: Roboto;
	font-size: 2em;
	height:50px;
	flex-shrink: 1;
	background: red;
	color: white;
}

img {
	width: 100%;
}

.note {
	margin-left: 0px;
	margin-right: 0px;
}

.side-padding {
	padding-left: 20px;
	padding-right: 20px;
}

/* button code */
/* Colors are still included for what I'm probably erroneously calling backwards compatibility */
button {
	background:red;
	color:white;
	border:none;
	position:relative;
	height:60px;
	font-size:20px;
	padding:0 2em;
	cursor:pointer;
	transition:400ms ease all;
	outline:none;
	margin:20px;
	cursor: pointer;
	font-family: Roboto;
	border-radius: 10px;
}

button:hover {
	background-color:white;
	color:red;
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
}

/* button:before, button:after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	height:2px;
	width:0;
	transition:400ms ease all;
	background-color: red;
} */

button:after{
	right:inherit;
	top:inherit;
	left:0;
	bottom:0;
}

/* button:hover:before,button:hover:after{
	width:100%;
	transition:800ms ease all;
} */

/* Color-specific button code */
button.red-white {
	background:red;
	color:white;
}

button.red-white:hover {
	background-color:white;
	color:red;
}

button.red-white:before, button.red-white:after {
	background-color: red;
}

button.white {
	background: white;
	color: black;
}

button.white:hover {
	background-color: white;
	color: red;
}

button.white:before, button.white-transparent:after {
	background-color: red;
}

/* Changes for phones */
@media only screen and (max-width: 600px) {
    .flex-row {
        flex-wrap: wrap;
    }
}