@mixin evolvethemes_reset() {
	// Reboot
	//
	// Normalization of HTML elements, manually forked from Normalize.css to remove
	// styles targeting irrelevant browsers while applying new styles.
	//
	// Normalize is licensed MIT. https://github.com/necolas/normalize.css

	// Document
	//
	// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
	// 2. Change the default font family in all browsers.
	// 3. Correct the line height in all browsers.
	// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.
	// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so
	//    we force a non-overlapping, non-auto-hiding scrollbar to counteract.
	// 6. Change the default tap highlight to be completely transparent in iOS.

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

	html {
		font-family: sans-serif; // 2
		line-height: 1.15; // 3
		-webkit-text-size-adjust: 100%; // 4
		-ms-text-size-adjust: 100%; // 4
		-ms-overflow-style: scrollbar; // 5
		-webkit-tap-highlight-color: rgba(#000, 0); // 6
	}

	// IE10+ doesn't honor `<meta name="viewport">` in some cases.
	@at-root {
		@-ms-viewport {
		  width: device-width;
		}
	}

	// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
	article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
		display: block;
	}

	// Body
	//
	// 1. Remove the margin in all browsers.
	// 2. As a best practice, apply a default `background-color`.
	// 3. Set an explicit initial text-align value so that we can later use the
	//    the `inherit` value on things like `<th>` elements.
	body {
		margin: 0; // 1
		text-align: left; // 3
	}

	// Suppress the focus outline on elements that cannot be accessed via keyboard.
	// This prevents an unwanted focus outline from appearing around elements that
	// might still respond to pointer events.
	//
	// Credit: https://github.com/suitcss/base
	[tabindex="-1"]:focus {
		outline: 0 !important;
	}

	// Content grouping
	//
	// 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
	}

	//
	// Correct element displays
	//
	output {
		display: inline-block;
	}

	summary {
		display: list-item; // Add the correct display in all browsers
		cursor: pointer;
	}

	template {
		display: none; // Add the correct display in IE
	}

	// Always hide an element with the `hidden` HTML attribute (from PureCSS).
	// Needed for proper display in IE 10-.
	[hidden] {
		display: none !important;
	}

	// User interaction
	// 1. Remove the tapping delay on clickable elements in all browsers (opinionated).
	// 2. Remove the tapping delay in IE 10.
	a,
	area,
	button,
	input,
	label,
	select,
	summary,
	textarea,
	[tabindex] {
		-ms-touch-action: manipulation; // 1
		touch-action: manipulation; // 2
	}
}

// -----------------------------------------------------------------------------
// $Accessibility
// -----------------------------------------------------------------------------

@mixin evolvethemes_accessibility_reset() {
	// Change the cursor on busy elements in all browsers (opinionated).
	[aria-busy="true"] {
		cursor: progress;
	}

	// Change the cursor on control elements in all browsers (opinionated).
	[aria-controls] {
		cursor: pointer;
	}

	// Change the cursor on disabled, not-editable, or otherwise
	// inoperable elements in all browsers (opinionated).
	[aria-disabled],
	[disabled] {
		cursor: disabled;
	}

	// Change the display on visually hidden accessible elements
	// in all browsers (opinionated).
	[aria-hidden="false"][hidden]:not(:focus) {
		clip: rect(0, 0, 0, 0);
		display: inherit;
		position: absolute;
	}
}

// -----------------------------------------------------------------------------
// $WordPress specific reset
// -----------------------------------------------------------------------------
@mixin evolvethemes_wp_reset() {
	// Text meant only for screen readers
	// https://make.wordpress.org/accessibility/handbook/markup/the-css-class-screen-reader-text/
	.screen-reader-text {
		border: 0;
		clip: rect(1px, 1px, 1px, 1px);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute !important;
		width: 1px;
		word-wrap: normal !important;

		&:focus {
			background-color: #eee;
			clip: auto !important;
			clip-path: none;
			color: #444;
			display: block;
			font-size: 1em;
			height: auto;
			left: 5px;
			line-height: normal;
			padding: 15px 23px 14px;
			text-decoration: none;
			top: 5px;
			width: auto;
			z-index: 100000; // Above WP toolbar
		}
	}

	img.screen-reader-text {
		pointer-events: none;
	}
}
