/*
    css/reset.css
    A modern CSS reset and normalize combination for consistent cross-browser styling.
*/

/* 1. Box Sizing Reset
   -------------------------------------------------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* 2. Remove default margin
   -------------------------------------------------------------------------------------------------------------------- */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
figure,
hr,
ul,
ol,
dl,
dd {
	margin: 0;
}

/* 3. Set core body defaults
   -------------------------------------------------------------------------------------------------------------------- */
html:focus-within {
	scroll-behavior: smooth;
}

html,
body {
	/* width: 100%; */
	min-height: 100vh;

	/* 
		overflow-x: hidden will help to prevent scrolling in mobile devices when menu is visible.
		Another solution is to add position fixed to body .menu-open class
	*/
}

body {
	overflow-y: scroll;
	overflow-x: hidden;
}

body {
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

/* 4. Remove list styles on ul, ol elements with a class attribute
   -------------------------------------------------------------------------------------------------------------------- */
ul[class],
ol[class] {
	list-style: none;
	padding: 0;
}

/* 5. A elements that don't have a class get a default color/underline
   -------------------------------------------------------------------------------------------------------------------- */
a:not([class]) {
	text-decoration-skip-ink: auto;
}

/* 6. Make images easier to work with
   -------------------------------------------------------------------------------------------------------------------- */
img,
picture,
video,
canvas,
svg {
	max-width: 100%;
	display: block;
}

/* 7. Inherit fonts for form controls
   -------------------------------------------------------------------------------------------------------------------- */
input,
button,
textarea,
select {
	font: inherit;
}

/* 8. Remove all animations, transitions and scroll-behavior for people that prefer not to see them
   -------------------------------------------------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* 9. Normalize.css inspired styles
   -------------------------------------------------------------------------------------------------------------------- */

/* Render the `main` element consistently in all browsers. */
main {
	display: block;
}

/* Correct the font size and margin of `h1` in Chrome, Firefox, and Safari. */
h1 {
	font-size: 2em;
}

/* Add the correct display in Edge, Firefox, and IE. */
details {
	display: block;
}

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

/* Correct `small` and `strong` in all browsers. */
small {
	font-size: 80%;
}

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

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Add the correct display in IE 10+. */
template {
	display: none;
}

/* Add the correct display in IE 10. */
[hidden] {
	display: none;
}

/* Avoid text overflows */
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
	hyphens: auto;
	word-break: break-word; /* Fallback for older browsers */
}

/* Improve line wrapping */
p,
li {
	text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
}

/* Create a root stacking context */
#root,
#__next {
	isolation: isolate;
}

/* Links */
a {
	color: #000;
	background-color: transparent; /* Remove the gray background on active links in IE 10. */
	text-decoration: none; /* Remove underline by default */
	transition: all 0.3s ease-in-out;
}
a:link,
a:visited {
	color: #000;
	text-decoration: none;
}
a:hover {
	color: #000;
	text-decoration: none;
}

*:focus,
a:focus,
a:active {
	outline: none;
	box-shadow: none;
	text-decoration: none;
}

/* Text-level semantics */
abbr[title] {
	border-bottom: none; /* Remove the border on abbr elements in IE 10. */
	text-decoration: underline; /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
	text-decoration: underline dotted;
}

p {
	margin-bottom: 1.5em;
}

b,
strong {
	font-weight: bold; /* Add the correct font weight in Chrome, Edge, and Safari. */
}

code,
kbd,
samp,
pre {
	font-family:
		monospace, monospace; /* Correct the font family in all browsers. */
	font-size: 1em; /* Correct the font size in all browsers. */
}

/* Forms */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* Correct the font family in all browsers. */
	font-size: 100%; /* Correct the font size in all browsers. */
	line-height: 1.15; /* Correct the line height in all browsers. */
	margin: 0; /* Remove the margin in Firefox and Safari. */
}
textarea {
	resize: vertical;
	display: block;
}
button {
	border: 0;
	background: none;
	color: inherit;
}

button,
input {
	/* Show the overflow in IE. */
	overflow: visible;
}

button,
select {
	/* Remove the inheritance of text transform in Edge, Firefox, and IE. */
	text-transform: none;
}

/* Remove the padding in Firefox. */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/* Correct the default button style in all browsers. */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted currentcolor;
}

/* Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/* Correct the padding in Firefox. */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/* Correct the text wrapping in Edge and IE. */
legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress {
	vertical-align: baseline;
}

/* Remove the default vertical scrollbar in IE 10+. */
textarea {
	overflow: auto;
}

/* Correct the inability to style clickable types in iOS and Safari. */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/* Correct the odd appearance in Chrome and Safari. */
[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/* Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration,
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-results-button,
[type="search"]::-webkit-search-results-decoration {
	-webkit-appearance: none;
}

/* 10. Table resets
    -------------------------------------------------------------------------------------------------------------------- */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/* 11. Focus styles for accessibility
    -------------------------------------------------------------------------------------------------------------------- */

:focus-visible {
	outline: 2px solid 007bff; /* Bootstrap primary blue */
	outline-offset: 2px;
}
