/* fonts */
/* @import url('https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700,900&display=swap&subset=cyrillic,cyrillic-ext'); */
/* @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;900&display=swap'); */
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,600,700&display=swap');

* {
	box-sizing: border-box;
	outline: none;
}

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

h1, h2, h3, h4, h5, h6, p {
	margin: 0;
	padding: 0;
}

ul, ol {
	margin: 0;
	padding: 0;
}

button {
	outline: none;
	border: none;
}

img {
	border: none;
}

a {
	text-decoration: none;
	color: inherit;
	display: inline-block;
}

select {
	appearance: none;
}

input[type='number'] {
	-moz-appearance: textfield;
}

input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

html {
	touch-action: manipulation;
}

body {
	position: relative;
	padding: 0;
	margin: 0;
	font-size: 14px;
	font-family: 'Open Sans', sans-serif;
	color: #333;
	background-color: #F5F6F8;
	overflow-x: hidden;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

main {
	flex: 1;
}

button {
	cursor: pointer;
}

input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
}

.has-error input {
	border-color: #e20932;
}

.has-success input {
	border-color: #228b22;
}