:root {
	--font-body: 'Roboto', sans-serif;
	--color-bg: #0d0024;
	--color-text: #ecf0ff;
	--color-text-body: rgba(240, 240, 255, 0.8);
	--color-1: hsl(14deg, 100%, 72%);
	--color-2: hsl(345deg, 85%, 71%);
	--gradient: linear-gradient(to right, hsl(14deg, 100%, 72%), hsl(345deg, 85%, 71%));
	--gradient2: linear-gradient(to right, hsl(14deg, 100%, 72%), hsl(345deg, 85%, 71%));
}

@font-face {
	font-family: 'fontello';
	src: url('./fontello.woff') format('woff2'), url('./fontello.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

[class^="icon-"]:before,
[class*=" icon-"]:before {
	font-family: "fontello";
	font-style: normal;
	font-weight: normal;
	display: inline-block;
	text-decoration: inherit;
	width: 1em;
	margin-right: .2em;
	text-align: center;
	font-variant: normal;
	text-transform: none;
	line-height: 1em;
	margin-left: .2em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.icon-cog:before {
	content: '\e00a';
}
.icon-mobile:before {
	content: '\e017';
}
.icon-mail:before {
	content: '\e019';
}
.icon-params:before {
	content: '\e01f';
}
.icon-wallet:before {
	content: '\e02c';
}
.icon-lightbulb:before {
	content: '\e00e';
}

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

html,
body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

html {
	font-size: 10px;
}

body {
	overflow-x: hidden;
	font-family: var(--font-body);
	font-size: 1.4rem;
	background-color: var(--color-bg);
	color: var(--color-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.2;
	letter-spacing: 0.05em;
}

p {
	color: var(--color-text-body);
	line-height: 1.6;
	letter-spacing: 0.01em;
}

body {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.container {
	width: 100%;
	max-width: 1400px;
	margin: auto;
}

header {
	width: 72vw;
	margin: 10rem 1rem 2rem 4rem;
}

header svg {
	display: inline-block;
	width: 100%;
	height: auto;
}

header h1 {
	width: 0;
	height: 0;
	line-height: 0;
	font-size: 0;
	opacity: 0;
}

header h2 {
	display: inline-block;
	font-size: 5vw;
	text-align: right;
	color: var(--color-1);
	background: var(--gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

main {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: -6em 0 0;
	padding: 0 1em 3em 3.5em;
	font-size: 4vw;
}

main > section {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

article {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
article:nth-of-type(2n - 1) {
	height: 172vw;
}

article h3 {
	position: relative;
}

article h3.icon:before {
	position: absolute;
	top: -0.05em;
	left: -1.5em;
	margin: 0 0.6em 0 0;
	font-size: 1.4em;
	color: var(--color-1);
	background: var(--gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	padding: 1px 1px 1px 0; /* For gradient */
}

article .image-wrap {
	position: absolute;
	top: 0;
	left: -3.5em;
	z-index: -1;
	width: 100vw;
	height: 172vw;
	overflow: hidden;
}
article .image-wrap img {
	position: absolute;
	top: 0;
	right: 0;
	width: 150%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	opacity: 0.4;
	-webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	-webkit-filter: brightness(0.8);
	filter: brightness(0.8);
}

ul {
	margin: 1em 0 0;
	padding: 0;
}
li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	max-width: 12em;
	padding: 0.2em 0;
}
li strong {
	min-width: 5em;
	color: var(--color-1);
	background: var(--gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

footer {
	width: 100%;
	margin-top: -14rem;
	padding: 2rem 2rem 5rem;
}

form {
	font-size: 4vw;
}

form h3 {
	margin: 1em 0 0.8em;
}
form p {
	margin: 0.5em 0 1em;
}

.highlight {
	padding: 3px;
	background: var(--gradient);
}

label.screen-reader {
	position: absolute;
	left: -100000px;
	opacity: 0;
}

.radio-wrap {
	display: inline-block;
	position: relative;
	width: 50%;
}
.radio-wrap label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
	cursor: pointer;
	background-color: var(--color-bg);
	outline: 3px solid var(--color-bg);
	-webkit-transition: background-color 0.2s ease, outline-color 0.2s ease;
	-o-transition: background-color 0.2s ease, outline-color 0.2s ease;
	transition: background-color 0.2s ease, outline-color 0.2s ease;
}
.radio-wrap label span {
	display: block;
	width: 100%;
	font-weight: bold;
	font-size: 1.1em;
	letter-spacing: 0.05em;
	text-align: center;
	color: var(--color-text);
}
.radio-wrap:first-of-type label {
	padding: 0.4em calc(0.5em + 6px) 0.4em 0.5em;
}
.radio-wrap:last-of-type label {
	padding: 0.4em 0.5em 0.4em calc(0.5em + 6px);
}

input[type=radio] {
	position: absolute;
	z-index: -1;
	opacity: 0;
}

input[type=radio]:checked + label {
	background-color: transparent;
	outline-color: transparent;
}

fieldset {
	position: relative;
	margin: 0;
	padding: 0;
	border: none;
}
fieldset:not(.row) {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
fieldset.row {
	white-space: nowrap;
}

input::-webkit-input-placeholder {
	font-family: var(--font-body);
	font-weight: bold;
	font-size: 1.1em;
	letter-spacing: 0.05em;
	color: var(--color-text);
}

input::-moz-placeholder {
	font-family: var(--font-body);
	font-weight: bold;
	font-size: 1.1em;
	letter-spacing: 0.05em;
	color: var(--color-text);
}

input:-ms-input-placeholder {
	font-family: var(--font-body);
	font-weight: bold;
	font-size: 1.1em;
	letter-spacing: 0.05em;
	color: var(--color-text);
}

input::-ms-input-placeholder {
	font-family: var(--font-body);
	font-weight: bold;
	font-size: 1.1em;
	letter-spacing: 0.05em;
	color: var(--color-text);
}

input,
button,
input::placeholder {
	font-family: var(--font-body);
	font-weight: bold;
	font-size: 1.1em;
	letter-spacing: 0.05em;
	color: var(--color-text);
}
input::-webkit-input-placeholder {
	opacity: 0.8;
}
input::-moz-placeholder {
	opacity: 0.8;
}
input:-ms-input-placeholder {
	opacity: 0.8;
}
input::-ms-input-placeholder {
	opacity: 0.8;
}
input::placeholder {
	opacity: 0.8;
}
input,
button {
	width: 100%;
	border: none;
	border-radius: none;
}
input:focus,
button:focus {
	outline: none;
}

input {
	position: relative;
	-webkit-box-flex: 2;
	-ms-flex: 2 1 250px;
	flex: 2 1 250px;
	padding: 0.8em 1em;
	background-color: #3d3350;
}

button {
	position: relative;
	-webkit-box-flex: 1;
	-ms-flex: 1 2;
	flex: 1 2;
	padding: 0.5em 1em;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	background-color: transparent;
}

button:hover {
	background: var(--gradient);
	color: white;
}

@media (min-width: 1024px) {
	body {
		padding: 3rem;
	}
	.container {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: minmax(35%, 40%) 5rem minmax(500px, 1fr);
		grid-template-columns: minmax(35%, 40%) minmax(500px, 1fr);
		-ms-grid-rows: 55% 4rem 1fr;
		grid-template-rows: 55% 1fr;
		-webkit-column-gap: 5rem;
		-moz-column-gap: 5rem;
		column-gap: 5rem;
		row-gap: 4rem;
	}
	.container > *:nth-child(1) {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.container > *:nth-child(2) {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.container > *:nth-child(3) {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}
	.container > *:nth-child(4) {
		-ms-grid-row: 3;
		-ms-grid-column: 3;
	}

	header {
		-ms-grid-row: 1;
		grid-row: 1;
		-ms-grid-column: 1;
		grid-column: 1;
		width: 100%;
		margin: 0;
	}

	header h2 {
		font-size: 1.5em;
	}

	main {
		-ms-grid-row: 1;
		-ms-grid-row-span: 2;
		grid-row: 1/3;
		-ms-grid-column: 2;
		grid-column: 2;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin: 0;
		padding: 0 1em 0 3.5em;
		font-size: 14px;
	}

	main > section {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 4em 1fr 4em 1fr 4em 1fr;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		-webkit-column-gap: 4em;
		-moz-column-gap: 4em;
		column-gap: 4em;
		row-gap: 2em;
		width: 100%;
		max-width: 70em;
		margin: 0 auto;
	}

	article {
		display: block;
		max-width: 25em;
		height: auto;
	}
	article:nth-of-type(2n - 1) {
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
		grid-column: 1/3;
		height: auto;
	}
	article:nth-of-type(2n) {
		-ms-grid-column: 3;
		-ms-grid-column-span: 2;
		grid-column: 3/5;
	}
	/* article:nth-of-type(2n-1):last-of-type {
		grid-column: 2/4;
	} */
	article .image-wrap {
		position: fixed;
	}
	article .image-wrap::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(255, 255, 255, 0.1);
	}
	article .image-wrap img {
		width: 100%;
	}
	article:nth-of-type(3) .image-wrap {
		top: initial;
		right: initial;
		bottom: 0;
		left: 0;
		width: 70%;
		max-width: 96rem;
		height: auto;
		padding-top: 25%;
		-webkit-clip-path: polygon(0 100%, 0% 64%, 30% 0%, 100% 100%);
		clip-path: polygon(0 100%, 0% 64%, 30% 0%, 100% 100%);
	}
	article:nth-of-type(3) .image-wrap img {
		-webkit-clip-path: none;
		clip-path: none;
	}
	article:nth-of-type(5) .image-wrap {
		top: 0;
		right: 0;
		bottom: initial;
		left: initial;
		width: 70%;
		max-width: 96rem;
		height: auto;
		padding-bottom: 25%;
		-webkit-clip-path: polygon(0 0, 70% 100%, 100% 46%, 100% 0);
		clip-path: polygon(0 0, 70% 100%, 100% 46%, 100% 0);
	}
	article:nth-of-type(5) .image-wrap img {
		-webkit-clip-path: none;
		clip-path: none;
	}

	article:nth-of-type(1) .image-wrap {
		display: none;
	}

	article p:last-of-type {
		margin-bottom: 0;
	}

	footer {
		-ms-grid-row: 2;
		grid-row: 2;
		-ms-grid-column: 1;
		grid-column: 1;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
		margin: 0;
		padding: 0;
	}

	form {
		width: 100%;
		margin-bottom: 0;
		font-size: 14px;
	}

	form h3 {
		margin: 1em 0 0.5em;
	}
}

@media (min-width: 1400px) {
	.container {
		width: 85%;
	}
}
