html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%
}

body {
	margin: 0
}

main {
	display: block
}

h1 {
	font-size: 2em;
	margin: .67em 0
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible
}

pre {
	font-family: monospace, monospace;
	font-size: 1em
}

a {
	background-color: transparent
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted
}

b,
strong {
	font-weight: bolder
}

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

small {
	font-size: 80%
}

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

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

img {
	border-style: none
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0
}

button,
input {
	overflow: visible
}

button,
select {
	text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
	-webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
	border-style: none;
	padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
	outline: 1px dotted ButtonText
}

fieldset {
	padding: .35em .75em .625em
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
}

progress {
	vertical-align: baseline
}

textarea {
	overflow: auto
}

[type=checkbox],
[type=radio] {
	box-sizing: border-box;
	padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

::-webkit-scrollbar{

  display:none;
}

details {
	display: block
}

summary {
	display: list-item
}

[hidden],
template {
	display: none
}

:root {
	--mobile-width: 768px;
	--tablet-width: 1024px;
	--laptop-width: 1200px;
	--desktop-width: 1680px
}

@font-face {
	font-family: Neue Plak W01 Light;
	src: url(../fonts/69419efe-c9a9-4ad3-8f73-df3d525afc48-fdf9d1b56e783f7d43db9df5ee5b9ce3.eot);
	src: url(../fonts/69419efe-c9a9-4ad3-8f73-df3d525afc48-fdf9d1b56e783f7d43db9df5ee5b9ce3.eot) format("eot"), url(../fonts/75eaabd9-ae35-4fe7-9055-7695913e1ee2-c655ab42f56a3906136a798f4394384d.woff2) format("woff2"), url(../fonts/b4569872-252c-4237-8870-df80b11b6302-1b3a8c670b390c6dc54eee6b76a736a1.woff) format("woff"), url(../fonts/15ee877e-bc3f-456d-8b18-3023d6a44954-80afdb993cf03f22b46833b7ece84fa4.ttf) format("truetype")
}

@font-face {
	font-family: Neue Plak W01 Regular;
	src: url(../fonts/a3d9d646-58c2-4bbd-90ef-4a3961ff8ae8-a1d7870ae368f449bd3c1c7410c0d77b.eot);
	src: url(../fonts/a3d9d646-58c2-4bbd-90ef-4a3961ff8ae8-a1d7870ae368f449bd3c1c7410c0d77b.eot) format("eot"), url(../fonts/d3335a6e-858a-4bb4-b96d-99238f023ca5-224cd5f4e9a713a9b39bc6cd8b8f607a.woff2) format("woff2"), url(../fonts/9cf260dd-ed6f-46cd-9e3b-ad324e1bca8a-2152a918433a67e2b025545b7df05c2c.woff) format("woff"), url(../fonts/a0c574ec-eab0-45f4-87c9-dbe3b9d1a9b4-18d123716a5b6107a89ffff293893b7e.ttf) format("truetype")
}

@font-face {
	font-family: Neue Plak W01 Bold;
	src: url(../fonts/69d40501-65e9-4dc5-9211-e862b38a8301-384106c1e0e6b3b1adc238edf15bfb56.eot);
	src: url(../fonts/69d40501-65e9-4dc5-9211-e862b38a8301-384106c1e0e6b3b1adc238edf15bfb56.eot) format("eot"), url(../fonts/25fece28-2138-4d24-8f30-2dc150ca0c30-e25f8b376c07fb370476e3f2897729a8.woff2) format("woff2"), url(../fonts/50e20747-d34d-40a8-a0bc-83fa440e9b1f-4f04b5ee3243f6f9b61ef0b1f0090622.woff) format("woff"), url(../fonts/7cd737f6-1d1a-4704-a527-a110d2b8d038-a9b2b6063ec144c545662ede9c7eeb79.ttf) format("truetype")
}

@font-face {
	font-family: Neue Plak W01 Narrow Regular;
	src: url(../fonts/d65648a4-4aa5-41f8-b289-b2688c7739ff-1d3a87b20aadd2c323238f45caab6663.eot);
	src: url(../fonts/d65648a4-4aa5-41f8-b289-b2688c7739ff-1d3a87b20aadd2c323238f45caab6663.eot) format("eot"), url(../fonts/3f9f1f5e-9e09-436f-8239-3999fbe202bd-68b39444efeee6b64de7b978c91c1890.woff2) format("woff2"), url(../fonts/e22f4d59-923e-40a0-9c5e-ff2ad50550f2-da95cd3b6ff79edf1886a350896e2542.woff) format("woff"), url(../fonts/c338ecda-f6eb-4791-9202-fb7130fa3329-3d0efa6e438844c4016c3bf5026beeee.ttf) format("truetype")
}

@font-face {
	font-family: Neue Plak W01 Narrow SemiBold;
	src: url(../fonts/e2fd9d50-7e2b-4cb7-ab4f-35f50d693b1e-18b526e06887bca7b9003bfb872dc744.eot);
	src: url(../fonts/e2fd9d50-7e2b-4cb7-ab4f-35f50d693b1e-18b526e06887bca7b9003bfb872dc744.eot) format("eot"), url(../fonts/c9edb252-080a-4031-9a89-afa2855d4f17-d84dda0023c36ff41e04703a2f2f0a73.woff2) format("woff2"), url(../fonts/d7b24ea6-a8d4-43db-8021-6a3098975722-15caf14753e9a39ff3baa2a4c635072c.woff) format("woff"), url(../fonts/726c85dd-32ee-4688-9a40-c938356e062c-c30572e7621f8d65199c2befbdd41a32.ttf) format("truetype")
}

.type-h1 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 54px;
	line-height: 74px;
	-webkit-transform: scaleX(.98);
	transform: scaleX(.98);
	-webkit-transform-origin: left;
	transform-origin: left;
	letter-spacing: 0
}

@media screen and (max-width:768px) {
	.type-h1 {
		font-size: 28px;
		line-height: 34px
	}
}

.type-h2 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 75px;
	line-height: 95px;
	-webkit-transform: scaleX(.98);
	transform: scaleX(.98);
	-webkit-transform-origin: left;
	transform-origin: left;
	letter-spacing: -.01em
}

@media screen and (max-width:1440px) {
	.type-h2 {
		font-size: 67px;
		line-height: 87px
	}
}

@media screen and (max-width:1280px) {
	.type-h2 {
		font-size: 59px;
		line-height: 79px
	}
}

@media screen and (max-width:768px) {
	.type-h2 {
		font-size: 40px;
		line-height: 55px
	}
}

.type-h3 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 72px;
	line-height: 90px;
	-webkit-transform: scaleX(.98);
	transform: scaleX(.98);
	-webkit-transform-origin: left;
	transform-origin: left;
	letter-spacing: -.01em
}

@media screen and (max-width:768px) {
	.type-h3 {
		font-size: 38px;
		line-height: 44px
	}
}

.type-h4 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 100px;
	line-height: 130px;
	-webkit-transform: scaleX(.98);
	transform: scaleX(.98);
	-webkit-transform-origin: left;
	transform-origin: left;
	letter-spacing: 0
}

@media screen and (max-width:768px) {
	.type-h4 {
		font-size: 42px;
		line-height: 52px
	}
}

.type-h5 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 46px;
	line-height: 58px;
	letter-spacing: .02em
}

@media screen and (max-width:768px) {
	.type-h5 {
		font-size: 26px;
		line-height: 32px
	}
}

.type-h6 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 44px;
	letter-spacing: .02em
}

@media screen and (max-width:768px) {
	.type-h6 {
		font-size: 20px;
		line-height: 26px
	}
}

.type-h7 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 26px;
	line-height: 40px;
	letter-spacing: .02em
}

@media screen and (max-width:768px) {
	.type-h7 {
		font-size: 20px;
		line-height: 27px
	}
}

.type-h8 {
	font-family: Montserrat, sans-serif;
	font-weight: 500;
	font-size: 26px;
	line-height: 40px;
	letter-spacing: .02em
}

@media screen and (max-width:768px) {
	.type-h8 {
		font-size: 20px;
		line-height: 27px
	}
}

.type-h9 {
	font-family: Montserrat, sans-serif;
	font-weight: 400;
	font-size: 26px;
	line-height: 40px;
	letter-spacing: .02em
}

@media screen and (max-width:768px) {
	.type-h9 {
		font-size: 18px;
		line-height: 26px
	}
}

.type-h10 {
	font-family: Montserrat, sans-serif;
	font-weight: 500;
	font-size: 22px;
	line-height: 36px;
	letter-spacing: .02em
}

@media screen and (max-width:768px) {
	.type-h10 {
		font-size: 14px;
		line-height: 24px
	}
}

.type-h11 {
	font-family: Neue Plak W01 Narrow SemiBold;
	font-size: 16px;
	line-height: 32px;
	letter-spacing: .6em
}

@media screen and (max-width:768px) {
	.type-h11 {
		font-size: 14px;
		line-height: 24px
	}
}

.type-sub1 {
	font-family: Neue Plak W01 Light, sans-serif;
	font-size: 20px;
	line-height: 36px;
	letter-spacing: .03em
}

@media screen and (max-width:768px) {
	.type-sub1 {
		font-size: 16px;
		line-height: 26px
	}
}

.type-sub2 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 36px;
	line-height: 70px;
	letter-spacing: .02em
}

@media screen and (max-width:768px) {
	.type-sub2 {
		font-size: 26px;
		line-height: 30px
	}
}

.type-sub3 {
	font-family: Neue Plak W01 Regular;
	font-size: 16px;
	line-height: 32px;
	letter-spacing: .05em
}

@media screen and (max-width:768px) {
	.type-sub3 {
		font-size: 16px;
		line-height: 26px
	}
}

.type-sub4 {
	font-family: Neue Plak W01 Narrow Regular, sans-serif;
	font-size: 14px;
	line-height: 28px;
	letter-spacing: .16em
}

@media screen and (max-width:768px) {
	.type-sub4 {
		font-size: 16px;
		line-height: 26px
	}
}

.type-sub5 {
	font-family: Neue Plak W01 Regular;
	font-size: 14px;
	line-height: 28px;
	letter-spacing: .15em
}

@media screen and (max-width:768px) {
	.type-sub5 {
		font-size: 14px;
		line-height: 24px
	}
}

.type-tab1 {
	font-family: Neue Plak W01 Regular;
	font-size: 20px;
	line-height: 32px;
	letter-spacing: .05em
}

.type-comp1 {
	font-family: Neue Plak W01 Bold, sans-serif;
	font-size: 14px;
	line-height: 28px;
	letter-spacing: -.05em;
}

@media screen and (max-width:768px) {
	.type-comp1 {
		line-height: 24px
	}
}

.type-comp2 {
	font-family: Neue Plak W01 Bold, sans-serif;
	font-size: 12px;
	line-height: 24px;
	letter-spacing: .25em
}

@media screen and (max-width:768px) {
	.type-comp2 {
		font-size: 14px;
		line-height: 24px
	}
}

.type-comp3 {
	font-family: Neue Plak W01 Narrow Regular, sans-serif;
	font-size: 12px;
	line-height: 24px;
	letter-spacing: .6em
}

@media screen and (max-width:768px) {
	.type-comp3 {
		font-size: 14px
	}
}

.type-comp4 {
	font-family: Neue Plak W01 Narrow Regular, sans-serif;
	font-size: 12px;
	line-height: 24px;
	letter-spacing: .25em
}

@media screen and (max-width:768px) {
	.type-comp4 {
		font-size: 14px
	}
}

.type-bg1 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 200px;
	line-height: 210px;
	-webkit-transform: scaleX(.98);
	transform: scaleX(.98);
	-webkit-transform-origin: left;
	transform-origin: left;
	letter-spacing: 0
}

@media screen and (max-width:768px) {
	.type-bg1 {
		font-size: 80px;
		line-height: 90px
	}
}

.type-bg2 {
	font-family: Montserrat, sans-serif;
	font-weight: 700;
	font-size: 250px;
	line-height: 290px;
	-webkit-transform: scaleX(.98);
	transform: scaleX(.98);
	-webkit-transform-origin: left;
	transform-origin: left;
	letter-spacing: 0
}

@media screen and (max-width:1440px) {
	.type-bg2 {
		font-size: 240px;
		line-height: 280px
	}
}

@media screen and (max-width:1280px) {
	.type-bg2 {
		font-size: 220px;
		line-height: 260px
	}
}

@media screen and (max-width:768px) {
	.type-bg2 {
		font-size: 120px;
		line-height: 120px
	}
}

.color-red {
	color: #f84525;
	color: var(--color-primary-red)
}

.color-white {
	color: #fff;
	color: var(--color-primary-white)
}

.color-gray {
	color: #6f6f6f
}

.background-is-black,
.background-is-red {
	color: #fff;
	color: var(--color-primary-white)
}

.background-is-white,
body {
	color: #111;
	color: var(--color-primary-black-2)
}

body {
	font-family: Neue Plak W01 Light, sans-serif;
	font-size: 20px;
	line-height: 36px;
	letter-spacing: .03em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow: hidden
}

@media screen and (max-width:768px) {
	body {
		font-size: 16px;
		line-height: 26px;
		overflow: auto
	}
}

ol,
ul {
	list-style: none;
	padding: 0;
	margin: 0
}

a {
	color: inherit;
	text-decoration: none
}

button {
	border: 0;
	background: none;
	outline: none;
	padding: 0
}

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

:root {
	--color-primary-black-1: #1f1e1d;
	--color-primary-black-2: #111;
	--color-primary-black-3: #171615;
	--color-primary-gray: #f9f9f9;
	--color-primary-white: #fff;
	--color-primary-red: #f84525;
	--color-sub-black-1: #1d1c1b;
	--color-sub-black-2: #2b2a2c;
	--color-sub-black-3: #2f2e2d;
	--color-sub-black-4: #252426;
	--color-sub-black-5: #393837;
	--color-sub-gray-1: #464646;
	--color-sub-gray-2: #5b5b5a;
	--color-sub-gray-3: #9c9c9c;
	--color-sub-gray-4: #bbb;
	--color-sub-white-1: #f2f2f2;
	--color-sub-white-2: #f6f6f6;
	--custom-ease-1: cubic-bezier(0.475, 0.425, 0, 0.995);
	--custom-ease-2: cubic-bezier(0.835, -0.005, 0.06, 1);
	--custom-ease-3: cubic-bezier(0.19, 1, 0.22, 1);
	--custom-ease-4: cubic-bezier(0.63, 0.03, 0.21, 1);
	--primary-ease: var(--custom-ease-1);
	--desktop-content-width: 1200px;
	--laptop-content-width: 1080px;
	--small-laptop-content-width: 960px
}

.content-container {
	max-width: 1200px;
	max-width: var(--desktop-content-width);
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative
}

@media screen and (max-width:1440px) {
	.content-container {
		max-width: 1080px;
		max-width: var(--laptop-content-width)
	}
}

@media screen and (max-width:1280px) {
	.content-container {
		max-width: 960px;
		max-width: var(--small-laptop-content-width)
	}
}

@media screen and (max-width:768px) {
	.content-container {
		max-width: calc(100% - 40px)
	}
}

.section-block {
	margin-bottom: 240px
}

@media screen and (max-width:768px) {
	.section-block {
		margin-bottom: 120px
	}
}

@media screen and (max-width:768px) {
	.section-block.mobile-no-bottom-margin {
		margin-bottom: 0
	}
}

.section-block:last-of-type {
	margin-bottom: 0
}

.top-of-page {
	padding-top: 180px
}

@media screen and (max-width:768px) {
	.top-of-page {
		padding-top: 116px
	}
}

.background-color-area {
	position: relative
}

.background-color-area:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	transition: -webkit-transform 1.25s cubic-bezier(.475, .425, 0, .995);
	transition: transform 1.25s cubic-bezier(.475, .425, 0, .995);
	transition: transform 1.25s cubic-bezier(.475, .425, 0, .995), -webkit-transform 1.25s cubic-bezier(.475, .425, 0, .995);
	transition: -webkit-transform 1.25s var(--primary-ease);
	transition: transform 1.25s var(--primary-ease);
	transition: transform 1.25s var(--primary-ease), -webkit-transform 1.25s var(--primary-ease);
	-webkit-transform-origin: right;
	transform-origin: right
}

@media screen and (max-width:768px) {
	.background-color-area:before {
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}

.background-color-area.theme-black:before {
	background-color: #1f1e1d;
	background-color: var(--color-primary-black-1)
}

.background-color-area.theme-red:before {
	background-color: #f84525;
	background-color: var(--color-primary-red)
}

.background-color-area.active:before {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transform-origin: left;
	transform-origin: left
}

.page-header {
	display: flex;
	justify-content: space-between;
	padding: 70px 0 180px
}

@media screen and (max-width:768px) {
	.page-header {
		padding: 30px 0 40px;
		flex-direction: column
	}
}

.page-header .ribbon-text {
	text-transform: uppercase
}

.page-header .header-left {
	width: 55%
}

@media screen and (max-width:1280px) {
	.page-header .header-left {
		width: 70%
	}
}

@media screen and (max-width:768px) {
	.page-header .header-left {
		width: 100%
	}
}

.page-header .headline {
	margin: 40px 0 0 35px
}

@media screen and (max-width:768px) {
	.page-header .headline {
		margin: 40px 0 0
	}
}

.page-header .header-right {
	display: flex;
	align-items: flex-end
}

.page-header .description {
	max-width: 240px;
	-webkit-transform: translate3d(0, cacl(100% - 50px), 0);
	transform: translate3d(0, cacl(100% - 50px), 0);
	color: #6f6f6f
}

@media screen and (max-width:768px) {
	.page-header .description {
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		margin-top: 17px;
		max-width: 100%
	}
}

.page-header .description:after {
	content: "";
	display: block;
	width: 10px;
	height: 1px;
	background-color: #111;
	background-color: var(--color-primary-black-2);
	margin-top: 30px;
	opacity: .5
}

@media screen and (max-width:768px) {
	.page-header .description:after {
		display: none
	}
}

.head-image {
	margin-bottom: 80px
}

.head-image-container {
	position: relative;
	overflow: hidden
}

.section-cta {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 190px 0;
	box-sizing: border-box
}

.area-cta {
	position: relative;
	margin: 100px auto 0;
	overflow: hidden
}

@media screen and (max-width:768px) {
	.area-cta {
		margin: 50px auto 0
	}
}

.area-cta:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #f84525;
	background-color: var(--color-primary-red);
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	transition: -webkit-transform 1.25s cubic-bezier(.475, .425, 0, .995);
	transition: transform 1.25s cubic-bezier(.475, .425, 0, .995);
	transition: transform 1.25s cubic-bezier(.475, .425, 0, .995), -webkit-transform 1.25s cubic-bezier(.475, .425, 0, .995);
	transition: -webkit-transform 1.25s var(--primary-ease);
	transition: transform 1.25s var(--primary-ease);
	transition: transform 1.25s var(--primary-ease), -webkit-transform 1.25s var(--primary-ease);
	-webkit-transform-origin: left;
	transform-origin: left
}

.area-cta.appear:before {
	-webkit-transform: scale(1);
	transform: scale(1)
}

.works-list {
	display: grid;
	grid-template-columns: auto auto;
	grid-column-gap: 6.666%;
	grid-row-gap: 160px;
	margin-bottom: 215px
}

@media screen and (max-width:768px) {
	.works-list {
		margin-top: 41px;
		display: block;
		width: calc(100% + 40px);
		-webkit-transform: translate3d(-20px, 0, 0);
		transform: translate3d(-20px, 0, 0);
		margin-bottom: 60px
	}
}

.link-text {
	font-family: Neue Plak W01 Bold, sans-serif;
	color: #f84525;
	color: var(--color-primary-red)
}

@-webkit-keyframes swipe-line {
	0% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
	33% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	66% {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	to {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}

@keyframes swipe-line {
	0% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
	33% {
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	66% {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0)
	}
	to {
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scale(1);
		transform: scale(1)
	}
}

.link-underline:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #f84525;
	background-color: var(--color-primary-red);
	margin-top: -2px
}

@media screen and (min-width:769px) {
	.link-underline:hover:after {
		-webkit-animation: swipe-line 1.25s cubic-bezier(.475, .425, 0, .995) forwards;
		animation: swipe-line 1.25s cubic-bezier(.475, .425, 0, .995) forwards;
		-webkit-animation: swipe-line 1.25s var(--primary-ease) forwards;
		animation: swipe-line 1.25s var(--primary-ease) forwards
	}
}

.button-arrow {
	position: relative;
	width: 20px;
	height: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	-webkit-transform: translate3d(0, 1px, 0);
	transform: translate3d(0, 1px, 0)
}

.button-arrow:after,
.button-arrow:before {
	content: "";
	display: block;
	width: 5px;
	height: 1px;
	background-color: #6f6f6f;
	-webkit-transform-origin: left;
	transform-origin: left
}

.button-arrow:before {
	-webkit-transform: rotate(39deg);
	transform: rotate(39deg)
}

.button-arrow:after {
	-webkit-transform: rotate(-39deg);
	transform: rotate(-39deg)
}

.button-arrow.right {
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1)
}

.animation {
	transition: opacity .95s cubic-bezier(.475, .425, 0, .995), -webkit-transform .95s cubic-bezier(.475, .425, 0, .995);
	transition: opacity .95s cubic-bezier(.475, .425, 0, .995), transform .95s cubic-bezier(.475, .425, 0, .995);
	transition: opacity .95s cubic-bezier(.475, .425, 0, .995), transform .95s cubic-bezier(.475, .425, 0, .995), -webkit-transform .95s cubic-bezier(.475, .425, 0, .995);
	transition: opacity .95s var(--primary-ease), -webkit-transform .95s var(--primary-ease);
	transition: opacity .95s var(--primary-ease), transform .95s var(--primary-ease);
	transition: opacity .95s var(--primary-ease), transform .95s var(--primary-ease), -webkit-transform .95s var(--primary-ease);
	opacity: 0;
	-webkit-transform: translate3d(0, 20px, 0);
	transform: translate3d(0, 20px, 0)
}

.animation-appear {
	opacity: 1;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	transition: opacity .95s cubic-bezier(.475, .425, 0, .995) .4s, -webkit-transform .95s cubic-bezier(.475, .425, 0, .995) .4s;
	transition: opacity .95s cubic-bezier(.475, .425, 0, .995) .4s, transform .95s cubic-bezier(.475, .425, 0, .995) .4s;
	transition: opacity .95s cubic-bezier(.475, .425, 0, .995) .4s, transform .95s cubic-bezier(.475, .425, 0, .995) .4s, -webkit-transform .95s cubic-bezier(.475, .425, 0, .995) .4s;
	transition: opacity .95s var(--primary-ease) .4s, -webkit-transform .95s var(--primary-ease) .4s;
	transition: opacity .95s var(--primary-ease) .4s, transform .95s var(--primary-ease) .4s;
	transition: opacity .95s var(--primary-ease) .4s, transform .95s var(--primary-ease) .4s, -webkit-transform .95s var(--primary-ease) .4s
}

.animation.initial-delay {
	transition-delay: 2.7s
}

.image-container {
	position: relative;
	-webkit-transform: translate3d(0, 100px, 0);
	transform: translate3d(0, 100px, 0);
	transition: -webkit-transform .95s cubic-bezier(.475, .425, 0, .995);
	transition: transform .95s cubic-bezier(.475, .425, 0, .995);
	transition: transform .95s cubic-bezier(.475, .425, 0, .995), -webkit-transform .95s cubic-bezier(.475, .425, 0, .995);
	transition: -webkit-transform .95s var(--primary-ease);
	transition: transform .95s var(--primary-ease);
	transition: transform .95s var(--primary-ease), -webkit-transform .95s var(--primary-ease);
	z-index: 1;
	-webkit-perspective: 1000px;
	perspective: 1000px
}

.image-container .image-wrapper {
	width: 100%;
	opacity: 0;
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
	transition: all 1.25s cubic-bezier(.475, .425, 0, .995);
	transition: all 1.25s var(--primary-ease);
	overflow: hidden;
	position: relative
}

.image-container .image-wrapper:after {
	content: "";
	display: block;
	position: absolute;
	top: -2px;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #f2f2f2;
	background-color: var(--color-sub-white-1);
	z-index: 3;
	transition: -webkit-transform 1.25s cubic-bezier(.475, .425, 0, .995);
	transition: transform 1.25s cubic-bezier(.475, .425, 0, .995);
	transition: transform 1.25s cubic-bezier(.475, .425, 0, .995), -webkit-transform 1.25s cubic-bezier(.475, .425, 0, .995);
	transition: -webkit-transform 1.25s var(--primary-ease);
	transition: transform 1.25s var(--primary-ease);
	transition: transform 1.25s var(--primary-ease), -webkit-transform 1.25s var(--primary-ease);
	-webkit-transform: scale(1.12);
	transform: scale(1.12);
	-webkit-transform-origin: top;
	transform-origin: top
}

.image-container .image-wrapper>div:not(.dummy) {
	transition: -webkit-transform 4s cubic-bezier(.19, 1, .22, 1);
	transition: transform 4s cubic-bezier(.19, 1, .22, 1);
	transition: transform 4s cubic-bezier(.19, 1, .22, 1), -webkit-transform 4s cubic-bezier(.19, 1, .22, 1);
	transition: -webkit-transform 4s var(--custom-ease-3);
	transition: transform 4s var(--custom-ease-3);
	transition: transform 4s var(--custom-ease-3), -webkit-transform 4s var(--custom-ease-3)
}

.image-container.show {
	-webkit-transform: translateZ(0);
	transform: translateZ(0)
}

.image-container.show .image-wrapper {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1)
}

.image-container.show .image-wrapper:after {
	-webkit-transform: scaleY(0);
	transform: scaleY(0)
}

@media screen and (min-width:769px) {
	.image-container.hover .image-wrapper,
	.image-container:hover:not(.no-hover) .image-wrapper {
		-webkit-transform: scale(.95) rotateY(-9deg);
		transform: scale(.95) rotateY(-9deg)
	}
	.image-container.hover .image-wrapper>div:not(.dummy),
	.image-container:hover:not(.no-hover) .image-wrapper>div:not(.dummy) {
		-webkit-transform: scale(1.1);
		transform: scale(1.1)
	}
}

.hidden-onload {
	opacity: 0
}

.hidden-onload.animate-load {
	transition: opacity .85s cubic-bezier(.475, .425, 0, .995);
	transition: opacity .85s var(--primary-ease)
}

.hidden-onload.visible {
	opacity: 1
}

.hidden-onload.swipe-to-appear {
	opacity: 1;
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
	transition: -webkit-clip-path .85s cubic-bezier(.63, .03, .21, 1);
	transition: clip-path .85s cubic-bezier(.63, .03, .21, 1);
	transition: clip-path .85s cubic-bezier(.63, .03, .21, 1), -webkit-clip-path .85s cubic-bezier(.63, .03, .21, 1);
	transition: -webkit-clip-path .85s var(--custom-ease-4);
	transition: clip-path .85s var(--custom-ease-4);
	transition: clip-path .85s var(--custom-ease-4), -webkit-clip-path .85s var(--custom-ease-4)
}

.hidden-onload.swipe-to-appear.visible {
	-webkit-clip-path: inset(-100% -100% -100% -100%);
	clip-path: inset(-100% -100% -100% -100%)
}

.will-change-color {
	transition: color .85s cubic-bezier(.475, .425, 0, .995);
	transition: color .85s var(--primary-ease)
}