/*
 * default.css — Base reset + WordPress utilities
 *
 * Table of Contents:
 *   1.0 Box Model
 *   2.0 HTML5 Elements
 *   3.0 Base Typography
 *   4.0 Links
 *   5.0 Images & Media
 *   6.0 Forms
 *   7.0 Tables
 *   8.0 WordPress — Alignment
 *   9.0 WordPress — Screen Reader
 *   10.0 WordPress — Captions
 * ----------------------------------------------------------------------------
 */


/* =============================================================================
   1.0 Box Model
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}


/* =============================================================================
   2.0 HTML5 Elements
   ========================================================================== */

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
video {
	display: inline-block;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden] {
	display: none;
}


/* =============================================================================
   3.0 Base Typography
   ========================================================================== */

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	margin-top: 0;
}

p {
	margin: 0 0 1rem;
	line-height: 1.6;
}

address {
	font-style: italic;
}

abbr[title] {
	border-bottom: 1px dotted;
	cursor: help;
	text-decoration: none;
}

b,
strong {
	font-weight: 700;
}

dfn {
	font-style: italic;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup { top: -0.5em; }
sub { bottom: -0.25em; }

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

pre {
	background-color: #f8f9fa;
	overflow: auto;
	padding: 1.25rem;
	white-space: pre-wrap;
	word-wrap: break-word;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

blockquote {
	font-style: italic;
	font-weight: 300;
	margin: 1.5rem 2.5rem;
}

del {
	color: #555;
}

ins {
	background: #fff9c0;
	text-decoration: none;
}

dl { margin: 0 1.25rem; }
dt { font-weight: 700; }
dd { margin: 0 0 1.25rem; }

menu,
ol,
ul {
	margin: 1rem 0;
	padding: 0 0 0 2.5rem;
}

nav ul,
nav ol {
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
}

li > ul,
li > ol {
	margin: 0;
}

hr {
	border: 0;
	border-top: 1px solid #dee2e6;
	margin: 1.5rem 0;
}

figure {
	margin: 0;
}


/* =============================================================================
   4.0 Links
   ========================================================================== */

a {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 2px;
}


/* =============================================================================
   5.0 Images & Media
   ========================================================================== */

img,
video,
iframe {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

svg:not(:root) {
	overflow: hidden;
}


/* =============================================================================
   6.0 Forms
   ========================================================================== */

form {
	margin: 0;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

button,
input,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	margin: 0;
	max-width: 100%;
}

textarea {
	overflow: auto;
	width: 100%;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer;
}

button[disabled],
input[disabled] {
	cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
	padding: 0;
}


/* =============================================================================
   7.0 Tables
   ========================================================================== */

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

th {
	font-weight: 700;
}

td {
	padding: 0.375rem 0.625rem 0.375rem 0;
}


/* =============================================================================
   8.0 WordPress — Alignment
   ========================================================================== */

.alignleft {
	float: left;
	margin: 5px 20px 5px 0;
}

.alignright {
	float: right;
	margin: 5px 0 5px 20px;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

img.alignnone {
	margin: 5px 0;
}

.wp-caption.alignleft { margin: 5px 10px 5px 0; }
.wp-caption.alignright { margin: 5px 0 5px 10px; }

.wp-caption.alignleft + ul,
.wp-caption.alignleft + ol {
	list-style-position: inside;
}


/* =============================================================================
   9.0 WordPress — Screen Reader
   ========================================================================== */

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	overflow: hidden;
	height: 1px;
	width: 1px;
	white-space: nowrap;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	position: absolute;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

.skip-to-main-content-link {
	left: -9999px;
	opacity: 0;
	padding: 1em;
	position: absolute;
	z-index: 999;
}

.skip-to-main-content-link:focus {
	left: 50%;
	opacity: 1;
	transform: translateX(-50%);
}


/* =============================================================================
   10.0 WordPress — Captions
   ========================================================================== */

.wp-caption {
	background: transparent;
	border: none;
	margin: 0;
	padding: 0;
}

.wp-caption .wp-caption-text,
.entry-caption,
.gallery-caption {
	font-size: 0.875rem;
	font-style: italic;
	margin: 0.25rem 0 1rem;
}

img.wp-smiley,
.rsswidget img {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding: 0;
}
