/**
* Document basic styling
* Inspired by Normalize.css, HTML5 Boilerplate & Bootstrap Reboot Projects under MIT License
 */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
 */

@use "./variables" as variables;

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

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

/* Sections
 */

body {
	margin: 0; //Remove the margin in all browsers.
	font-family: variables.$font-family-base;
	font-size: variables.$font-size-base;
	font-weight: variables.$font-weight-base;
	line-height: variables.$line-height-base;
	color: variables.$body-color;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

//Typography
h1, h2, h3, h4, h5, h6 {
	margin-block-start: .5rem;
	margin-block-end: 1rem;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.2;
	color: inherit;
}

h1 {
	font-size: variables.$h1-font-size;
}

h2 {
	font-size: variables.$h2-font-size;
}

h3 {
	font-size: variables.$h3-font-size;
}

h4 {
	font-size: variables.$h4-font-size;
}

h5 {
	font-size: variables.$h5-font-size;
}

h6 {
	font-size: variables.$h6-font-size;
}

p {
	margin-block-start: 0;
	margin-block-end: .9rem;
}

/* Grouping content
 */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
	white-space: pre-wrap;
}

/* Text-level semantics
 */

a {
	background-color: transparent; //Remove the gray background on active links in IE 10.
	text-decoration: none;
	color: variables.$link-color-base;

	&:hover,
	&:active {
		color: variables.$link-hover-color-base;
	}

	&:not([href]):not([tabindex]) {
		color: inherit;
		text-decoration: none;
	}

	&:not([href]):not([tabindex]):hover,
	&:not([href]):not([tabindex]):focus {
		color: inherit;
		text-decoration: none;
	}

	&:not([href]):not([tabindex]):focus {
		outline: 0;
	}
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	border-block-end: none; /* 1 */
	text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
 */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
	border-style: none;
	height: auto;
	max-width: 100%;
}

/* Interactive
 */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

figcaption {
	font-size: 16px;
	color: variables.$gray-dark;
	line-height: 1.4;
	font-style: italic;
	font-weight: 400;
}

/* Misc
 */

/**
 * Add the correct display in IE 10+.
 */

template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
	display: none;
}

/* Print
 */

@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important; /* Black prints faster */
		-webkit-box-shadow: none !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre {
		white-space: pre-wrap !important;
	}

	pre,
	blockquote {
		break-inside: avoid;
		border: 1px solid variables.$gray-light;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		break-inside: avoid;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		break-after: avoid;
	}
}
