/* TYPOGRAPHY
---------------------------------------------------------------------------------*/

body {
  color: var(--primary-text-color);
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

/* default headings */
h1, h2, h3, h4, h5, h6 {
  color: var(--primary-heading-color);
  margin: 0;
  padding: 0;
}

h1 {
  font-size: 46px;
}

h2 {
  font-size: 40px;
}

h3 {
  font-size: 34px;
}

h4 {
  font-size: 28px;
}

h5 {
  font-size: 22px;
}

h6 {
  font-size: 16px;
}

/* GENERAL INPUT
---------------------------------------------------------------------------------*/
input[type="text"],
input[type="tel"],
input[type="password"],
textarea,
select {
	padding: 5px;
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
	border-color: rgb(104, 145, 162);
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.025),0 0 5px rgb(104, 145, 162);
}

input[type="text"],
input[type="password"],
input[type="radio"],
input[type="checkbox"],
input[type="search"],
select,
textarea {
	margin-right: 5px;
	margin-left: 5px;
}

/* separate styling for search bar customization */
input[type="search"] {
	padding: 5px;
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
}

::placeholder {
	color: #aaa;
	opacity: 1;
}

/* TABLES
---------------------------------------------------------------------------------*/
.table {
  width: 100%;
  background-color: transparent;
}

.table tr {
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid #ccc;
}

.table th,
.table td {
  padding: 5px 10px;
}

.table thead {
  vertical-align: bottom;
  border-bottom: 2px solid #aaa;
}

.table tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, .05);
}

.table tbody tr:hover {
  background-color: rgba(0, 0, 0, .075);
}

/* ELEMENTS
---------------------------------------------------------------------------------*/
ul {
  list-style-type: disc;
}

ul > li > ul {
  list-style-type: circle;
}

ul > li > ul > li > ul {
  list-style-type: square;
}
ol {
  list-style-type: decimal;
}

ol > li > ol {
  list-style-type: lower-alpha;
}

ol > li > ol > li > ol {
  list-style-type: lower-roman;
}


hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
  margin-top: .5em;
  margin-bottom: .5em;
}

img {
	height: auto;
	max-width: 100%;
}

/* LINKS
---------------------------------------------------------------------------------*/
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}
