/* ------------------------------ FONTS ------------------------------ */

/* --- FUTURA PT --- */
@font-face
{
	font-family: 'FuturaPT';
	font-weight: 300;
	font-style: normal;

	font-display: fallback;
	src: local(''),
	url('../font/futura-pt/futura-pt-light.woff2') format('woff2'),
	url('../font/futura-pt/futura-pt-light.woff') format('woff');
}

@font-face
{
	font-family: 'FuturaPT';
	font-weight: 600;
	font-style: normal;

	font-display: fallback;
	src: local(''),
	url('../font/futura-pt/futura-pt-demi.woff2') format('woff2'),
	url('../font/futura-pt/futura-pt-demi.woff') format('woff');
}

/* --- OSWALD --- */
@font-face
{
	font-family: 'Oswald';
	font-weight: 400;
	font-style: normal;

	font-display: fallback;
	src: local(''),
	url('../font/oswald/oswald-v24-latin-ext-regular.woff2') format('woff2'),
	url('../font/oswald/oswald-v24-latin-ext-regular.woff') format('woff');
}

/* ------------------------------ GENERAL ------------------------------ */
html
{
	font-size: 62.5%;
	line-height: normal; /* fix normalize.css */

	position: relative;

	box-sizing: border-box;
	min-height: 100%;
}

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

body
{
	font-family: 'FuturaPT', sans-serif;
	font-size: 2rem;
	font-weight: 300;

	padding-top: 140px; /* header height */

	text-align: left;

	color: #191919;
	background-color: #fff;

	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body.home,
body.error404,
body.single-projects
{
	padding-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol
{
	margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6
{
	font-family: 'Oswald', sans-serif;
	font-weight: 400;

	text-transform: uppercase;
}

h1
{
	font-size: 6rem;
}

h2
{
	font-size: 5rem;
}

h3
{
	font-size: 2.8rem;
}

h4
{
	font-size: 1.8rem;
}

strong
{
	font-weight: 600;
}

ul,
ol
{
	padding: 0;

	list-style-type: none;
	list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); /* fix IE Edge */

	counter-reset: counter;
}

a
{
	transition: 0.5s;
	text-decoration: none;

	color: #191919;
}

a:hover
{
	text-decoration: none;
}

blockquote,
figure
{
	margin: 0;
}

figcaption
{
	font-style: italic;

	padding-top: 5px;

	text-align: center;
}

iframe
{
	border: 0;
}

.btn
{
	font-family: 'Oswald', sans-serif;
	font-size: 1.4rem;

	position: relative;

	display: inline-block;

	padding: 8px 60px;

	text-decoration: none !important;
	letter-spacing: 1px;
	text-transform: uppercase;

	color: #dd2b47;
	border: 1px solid #dd2b47;
}

.btn:before
{
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;

	display: block;

	width: 0;
	height: 100%;

	content: '';
	transition: 0.5s;

	background: #dd2b47;
}

.btn:hover
{
	color: #fff;
}

.btn:hover:before
{
	width: 100%;
}

.btn svg
{
	display: inline-block;

	width: 6px;
	height: 14px;
	margin: -3px 0 0 6px;

	vertical-align: middle;
}

.btn svg path
{
	transition: 0.5s;

	fill: #dd2b47;
}

.btn:hover svg path
{
	fill: #fff;
}

.btn-lg
{
	font-size: 1.6rem;

	padding: 12px 60px;

	letter-spacing: 2px;
}

.stripe:after
{
	position: absolute;
	right: 0;
	bottom: -25px;
	left: 0;

	display: block;

	width: 25px;
	height: 3px;
	margin: 0 auto;

	content: '';

	background: #dd2b47;
}

.btn-lg svg
{
	width: 8px;
	height: 19px;
	margin: -4px 0 0 10px;
}

.lazyload
{
	opacity: 0;
}

img.lazyloading
{
	transition: 0.5s;

	opacity: 0.8;
}

.lazyloaded
{
	transition: 0.5s;

	opacity: 1;
}

::selection
{
	color: #fff;
	background: #dd2b47;
}

::selection
{
	color: #fff;
	background: #dd2b47;
}

.hidden
{
	display: none;
}

.container
{
	position: relative;

	max-width: 1170px;
	height: inherit;
	margin: 0 auto;
}

.container-large
{
	max-width: 1400px;
}

.container-text
{
	max-width: 800px;
}

.row
{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.row > .row
{
	flex: 1;
}

.row_justify-space
{
	justify-content: space-between;
}

.row_justify-center
{
	justify-content: center;
}

.row_align-center
{
	align-items: center;
}

@media (max-width: 1460px)
{
	.container-large
	{
		padding: 0 30px;
	}
}

@media (max-width: 1230px)
{
	.container
	{
		padding: 0 30px;
	}

	.container-text
	{
		padding: 0;
	}
}

@media (max-width: 960px)
{
	h1
	{
		font-size: 3.8rem;
	}

	h2
	{
		font-size: 2.6rem;
	}

	h3
	{
		font-size: 2rem;
	}

	h4
	{
		font-size: 1.6rem;
	}

	.btn
	{
		font-size: 1.3rem;

		padding: 6px 50px;
	}

	.btn-lg
	{
		font-size: 1.4rem;

		padding: 8px 45px;
	}
}

@media (max-width: 860px)
{
	.container-text
	{
		padding: 0 30px;
	}
}

@media (max-width: 760px)
{
	.container
	{
		padding: 0 20px;
	}
}

/* --- TABLES --- */
.table-wrapper
{
	overflow-y: auto;

	width: 100%;
}

.table-wrapper::-webkit-scrollbar
{
	width: 14px;
	height: 14px;

	-webkit-appearance: none;
}

.table-wrapper::-webkit-scrollbar-thumb
{
	border: 3px solid #fff;
	border-radius: 8px;
	background-color: rgba(0, 0, 0, 0.3);
}

table
{
	width: 100%;
	width: 560px;
	margin-bottom: 15px;

	border-collapse: collapse;
}

table td
{
	padding: 11px 20px;

	border: 1px solid #a8a8a8;
}

table th,
table thead td
{
	font-weight: 300;

	padding: 11px 20px;

	color: #fff;
	border: 1px solid #dd2b47;
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	background: #dd2b47;
}

table th:first-child,
table thead td:first-child
{
	border-left: 1px solid #dd2b47;
}

table th:last-child,
table thead td:last-child
{
	border-right: 1px solid #dd2b47;
}

/* --- FORMS --- */
form
{
	margin-bottom: 15px;
}

label
{
	padding-bottom: 5px;

	cursor: pointer;
}

input[type='text'],
input[type='email'],
input[type='url'],
input[type='password'],
input[type='tel'],
input[type='number'],
input[type='search'],
textarea
{
	line-height: 40px;

	display: block;

	width: 100%;
	height: 40px;
	margin: 0 0 15px 0;
	padding: 0 10px;

	transition: 0.3s;

	border: 1px solid #d3d3d3;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

textarea
{
	line-height: normal;

	height: 300px;
	padding: 5px 10px;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='url']:focus,
input[type='password']:focus,
input[type='tel']:focus,
input[type='number']:focus,
input[type='search']:focus,
textarea:focus
{
	border-color: #66afe9;
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(0, 162, 191, 0.6);
}

::-webkit-input-placeholder
{
	color: #333;
}

::-moz-placeholder
{
	color: #333;
}

:-ms-input-placeholder
{
	color: #333;
}

button,
input[type='submit']
{
	padding: 0;

	cursor: pointer;
	transition: 0.5s;

	border: none;
	background: none;
}

button:hover,
input[type='submit']:hover
{
	text-decoration: underline;
}

button:focus,
input[type='submit']:focus
{
	outline: none;
}

input[type='submit']
{
	display: inline-block;

	margin: 15px 0 0 0;
	padding: 5px 15px;

	color: #fff;
	border: none;
	background: #3f3f3f;
}

input[type='submit']:hover
{
	text-decoration: none;

	background: #00a2bf;
}

/* ------------------------------ HEADER ------------------------------ */
header
{
	position: absolute;
	z-index: 999;
	top: 0;
	left: 0;

	width: 100%;
	height: 140px;

	background: #10171c;
}

.home header,
.error404 header,
.single-projects header
{
	background: none;
}

.header-sticky
{
	position: fixed;

	height: 56px;
}

.home .header-sticky,
.error404 .header-sticky,
.single-projects .header-sticky
{
	background: #10171c;
}

.logo
{
	font-size: 0;

	position: relative;

	width: 60px;
	height: 60px;
}

.logo img
{
	position: absolute;
	top: 0;
	left: 0;

	display: none;

	width: 100%;
	height: 100%;
}

img.logo_v1
{
	display: block;
}

.header-sticky .logo
{
	width: 30px;
	height: 30px;
}

.header-sticky img.logo_v1,
.single-projects img.logo_v1
{
	display: none;
}

.header-sticky img.logo_v2,
.single-projects img.logo_v2
{
	display: block;
}

@media (max-width: 960px)
{
	header
	{
		position: fixed;

		height: 55px;
	}

	.logo
	{
		width: 30px;
		height: 30px;
	}

	img.logo_v1
	{
		display: none;
	}

	img.logo_v2
	{
		display: block;
	}
}

/* --- PRIMARY NAVIGATION --- */
.main-menu
{
	margin: 0;
}

.main-menu > li
{
	position: relative;
}

.main-menu a
{
	font-family: 'Oswald', sans-serif;
	font-size: 1.6rem;

	position: relative;

	margin: 0 0 0 55px;

	transition: none;
	letter-spacing: 2px;
	text-transform: uppercase;

	color: #fff;
}

.header-sticky .main-menu a
{
	font-size: 1.4rem;
}

.main-menu a:after
{
	position: absolute;
	bottom: -8px;
	left: 0;

	display: block;

	width: 0;
	height: 1px;

	content: '';
	transition: 0.5s;

	background: #4d4d4d;
}

.single-projects .main-menu a:after
{
	background: #fff;
}

.header-sticky .main-menu a:after
{
	bottom: -3px;
}

.main-menu > li:first-child > a
{
	margin: 0;
}

.main-menu a:hover:after,
.single-projects .main-menu-item-projects a:after
{
	width: 100%;
}

.main-menu .no-link a
{
	cursor: default;
	text-decoration: line-through;
	pointer-events: none;

	opacity: 0.2;
}

.main-menu .no-link a:after
{
	display: none;
}

@media (max-width: 960px)
{
	.main-menu a
	{
		font-size: 1.4rem;

		margin-left: 40px;
	}
}

@media (max-width: 760px)
{
	.main-menu a
	{
		margin-left: 30px;
	}

	.main-menu a:after
	{
		bottom: -3px;

		background: #fff;
	}
}

/* ------------------------------ CONTENT ------------------------------ */
.content
{
	position: relative;
}

.text-field a
{
	text-decoration: solid underline transparent;

	color: #dd2b47;
}

.text-field a:hover
{
	text-decoration: underline;
}

.text-field li
{
	margin-bottom: 4px;
}

.text-field ul li
{
	position: relative;

	padding-left: 22px;
}

.text-field ul li:before
{
	position: absolute;
	top: 12px;
	left: 0;

	display: block;

	width: 4px;
	height: 4px;

	content: '';

	background: #dd2b47;
}

.text-field ol li:before
{
	font-family: 'Oswald', sans-serif;
	font-size: 1.7rem;

	display: inline-block;

	margin-right: 16px;

	content: counters(counter, '.') '. ';
	counter-increment: counter;
	vertical-align: top;

	color: #dd2b47;
}

/*.text-field blockquote
{
	font-size: 2.4rem;
	font-style: italic;
	line-height: 3.8rem;

	position: relative;

	max-width: 700px;
	margin: 0 auto 15px auto;
	padding: 40px 60px;

	background: rgba(0, 0, 0, 0.1);
}

.text-field blockquote:before,
.text-field blockquote:after
{
	font-size: 7rem;
	font-style: normal;
	line-height: 58px;

	position: absolute;

	display: inline-block;

	color: rgba(0, 0, 0, 0.3);
}

.text-field blockquote:before
{
	top: 27px;
	left: 26px;

	content: '\201C';
}

.text-field blockquote:after
{
	right: 26px;
	bottom: -16px;

	content: '\201D';
}*/

.text-field .alignleft
{
	float: left;
}

.text-field .alignright
{
	float: right;
}

.text-field .aligncenter
{
	display: block;

	margin: 0 auto;
}

@media (max-width: 760px)
{
	/*.text-field blockquote
	{
		font-size: 2rem;
		line-height: 3rem;

		padding: 40px 25px;
	}

	.text-field blockquote:before,
	.text-field blockquote:after
	{
		font-size: 6rem;
		line-height: 50px;
	}

	.text-field blockquote:before
	{
		top: 17px;
		left: 22px;
	}

	.text-field blockquote:after
	{
		right: 24px;
	}*/
}

/* --- HOME PAGE --- */

/* INTRO */
.hp-intro
{
	position: relative;

	overflow: hidden;

	padding: 150px 0 90px 0;

	text-align: center;

	background: #151321;
}

.hp-intro .container
{
	z-index: 2;
}

.hp-intro__photo
{
	display: inline-block;

	width: 220px;
	height: auto;

	-webkit-animation: fadein 2s ease-in;
	        animation: fadein 2s ease-in;
}

.signature-wrapper
{
	position: relative;

	margin: 30px 0 32px 0;
}

.signature-wrapper h1
{
	font-size: 4.8rem;

	position: relative;
	z-index: 4;

	margin-bottom: 40px;

	letter-spacing: 29px;

	color: #fff;
}

.signature-wrapper span
{
	font-family: 'Oswald', sans-serif;
	font-size: 2.2rem;

	position: relative;
	z-index: 4;

	letter-spacing: 11px;
	text-transform: uppercase;

	color: #c72b47;
}

.signature-wrapper img
{
	position: absolute;
	z-index: 3;
	top: -25px;
	right: 0;
	left: 0;

	display: block;

	width: auto;
	height: 120px;
	margin: 0 auto;
}

.hp-intro .text-field
{
	font-size: 1.8rem;

	margin-bottom: 30px;

	color: #fff;
}

.hp-intro__anchor,
.project-intro__title-anchor
{
	display: flex;
	align-items: center;
	justify-content: center;

	width: 50px;
	height: 50px;
	margin: 0 auto;
}

.hp-intro__anchor svg,
.project-intro__title-anchor svg
{
	display: block;

	width: 32px;
	height: 14px;
}

.project-intro__title-anchor svg
{
	width: 26px;
	height: 12px;
}

.hp-intro__anchor svg path,
.project-intro__title-anchor svg path
{
	fill: #fff;
}

.hp-intro__background
{
	position: absolute;
	z-index: 1;
	top: 220px;
	left: 50%;

	display: block;

	width: auto;
	height: auto;

	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	-webkit-animation: fadein 2s ease-in;
	        animation: fadein 2s ease-in;
}

.hp-intro__background2
{
	position: absolute;
	z-index: 1;
	bottom: -50px;
	left: 50%;

	display: block;

	width: auto;
	height: auto;

	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	-webkit-animation: fadein 4s ease-in;
	        animation: fadein 4s ease-in;
}

@keyframes fadein
{
	from
	{
		opacity: 0;
	}
	to
	{
		opacity: 1;
	}
}

@-webkit-keyframes fadein
{
	from
	{
		opacity: 0;
	}
	to
	{
		opacity: 1;
	}
}

@media (max-width: 960px)
{
	.hp-intro
	{
		padding: 95px 0 47px 0;
	}

	.hp-intro__photo
	{
		width: 170px;
	}

	.signature-wrapper
	{
		margin: 15px 0 16px 0;
	}

	.signature-wrapper h1
	{
		font-size: 3.3rem;

		margin-bottom: 15px;

		letter-spacing: 10px;
	}

	.signature-wrapper span
	{
		font-size: 1.6rem;

		letter-spacing: 8px;
	}

	.signature-wrapper img
	{
		top: -8px;

		height: 73px;
	}

	.hp-intro__anchor svg,
	.project-intro__title-anchor svg
	{
		width: 22px;
		height: 10px;
	}

	.hp-intro__background
	{
		top: 160px;
	}

	.hp-intro__background2
	{
		width: 700px;
	}
}

/* INSTAGRAM */
.instagram
{
	position: relative;
	z-index: 2;

	padding-bottom: 50px;

	text-align: center;

	background: #dd2b47;
}

.instagram__feed
{
	-webkit-transform: translateY(-40px);
	        transform: translateY(-40px);
}

.instagram__feed a
{
	font-size: 0;

	position: relative;

	display: block;

	width: 25%;
}

.instagram__feed picture
{
	position: relative;

	display: block;

	width: 100%;
	height: 0;
	padding-bottom: 100%;
}

.instagram__feed img
{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center center;
}

.instagram__feed a:after
{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	display: block;

	width: 100%;
	height: 100%;

	content: '';
	transition: 0.5s;

	background: rgba(0, 0, 0, 0.6);
}

.instagram__feed a:hover:after
{
	background: rgba(0, 0, 0, 0);
}

.instagram__hashtag,
.instagram__icon
{
	position: absolute;
	z-index: 2;
	bottom: 18px;
}

.instagram__hashtag
{
	font-size: 1.4rem;

	left: 22px;

	text-transform: uppercase;

	color: #fff;
}

.instagram__icon
{
	right: 22px;
	bottom: 16px;

	display: inline-block;

	width: 22px;
	height: 22px;

	vertical-align: middle;
}

.instagram__icon path
{
	fill: #fff;
}

.instagram__link a
{
	font-size: 1.8rem;

	display: inline-block;

	color: rgba(255,255,255,0.7);
}

.instagram__link svg
{
	display: inline-block;

	width: 27px;
	height: 27px;
	margin-right: 5px;

	vertical-align: middle;
}

.instagram__link svg path
{
	fill: rgba(255,255,255,0.5);
}

.instagram__link a span
{
	position: relative;
}

.instagram__link a span:before,
.instagram__link a span:after
{
	position: absolute;
	bottom: -4px;
	left: 0;

	display: block;

	height: 1px;

	content: '';
	transition: 0.5s;
}

.instagram__link a span:before
{
	z-index: 1;

	width: 100%;

	background: rgba(255, 255, 255, 0.15);
}

.instagram__link a span:after
{
	z-index: 2;

	width: 0;

	background: rgba(255, 255, 255, 0.5);
}

.instagram__link a span:hover:after
{
	width: 100%;
} 

@media (max-width: 960px)
{
	.instagram
	{
		padding-bottom: 25px;
	}

	.instagram__feed
	{
		-webkit-transform: translateY(-16px);
		        transform: translateY(-16px);
	}

	.instagram__link a
	{
		font-size: 1.5rem;
	}

	.instagram__link svg
	{
		width: 23px;
		height: 23px;
	}
}

@media (max-width: 760px)
{
	.instagram__feed a
	{
		width: 33.33%;
	}

	.instagram__feed a:nth-child(4)
	{
		display: none;
	}

	.instagram__hashtag
	{
		left: 15px;
	}

	.instagram__icon
	{
		right: 15px;
	}
}

@media (max-width: 560px)
{
	.instagram__feed a
	{
		width: 50%;
	}

	.instagram__feed a:nth-child(3)
	{
		display: none;
	}
}

/* CLAIM */
.claim
{
	padding: 70px 0 100px 0;

	text-align: center;

	background: transparent url('../img/bg_pattern-hp.png') center top repeat-x;
	background-size: 58.5px 170px;
}

.claim .container > span
{
	font-size: 2.4rem;
}

.claim h2
{
	font-family: 'Oswald', sans-serif;
	font-size: 2.8rem;

	position: relative;

	padding: 20px 0 0 0;
}

.claim h2 span
{
	color: #dd2b47;
}

@media (max-width: 960px)
{
	.claim
	{
		padding: 40px 0;
	}

	.claim .container > span
	{
		font-size: 1.8rem;
	}

	.claim h2
	{
		font-size: 2.6rem;
		line-height: 3.5rem;
	}
}

/* PROJECTS */
.hp-projects__top
{
	position: relative;

	padding-top: 70px;

	background: #f5f5f5;
}

.hp-projects__top:after
{
	position: absolute;
	bottom: 0;
	left: 0;

	display: block;

	width: 100%;
	height: 60px;

	content: '';

	background: #fff;
}

.hp-projects__top-image
{
	position: relative;
	z-index: 2;

	display: block;

	width: 50%;
}

.hp-projects__top-image:before,
.hp-projects__top-image:after
{
	position: absolute;
	bottom: 100%;

	display: block;

	width: 1px;
	height: 70px;

	content: '';

	background: linear-gradient(to bottom, rgba(227,227,227,0) 0%,rgba(227,227,227,1) 40%,rgba(227,227,227,1) 100%);
}

.hp-projects__top-image:before
{
	left: 0;
}

.hp-projects__top-image:after
{
	right: 0;
}

.hp-projects__top-image picture
{
	font-size: 0;

	display: block;
}

.project-top-image
{
	display: block;

	width: 100%;
	height: auto;
}

.project-top-image-extra
{
	position: absolute;
	bottom: -32px;
	left: -58px;

	display: block;

	width: 41%;
	height: auto;
}

.hp-projects__top-info
{
	position: relative;
	z-index: 2;

	width: calc(50% - 50px);
}

.hp-projects__top-info span
{
	font-family: 'Oswald', sans-serif;
	font-size: 1.8rem;

	text-transform: uppercase;
}

.hp-projects__top-info h2
{
	margin: 5px 0 10px 0;
}

.hp-projects__top-info p
{
	line-height: 3rem;

	max-width: 420px;
	margin-bottom: 20px;
}

.hp-projects__logos
{
	padding: 100px 0;
}

.hp-projects__logos .row
{
	justify-content: space-around;
}

.hp-projects__logos picture,
.hp-projects__logos noscript
{
	display: block;

	margin: 15px;

	text-align: center;
}

.hp-projects__logos img
{
	display: inline-block;

	width: auto;
	max-width: 160px;
	height: auto;
	max-height: 90px;
}

.hp-projects__list
{
	position: relative;

	background: #f5f5f5;
}

.hp-projects__list:before,
.hp-projects__list:after
{
	position: absolute;
	z-index: 1;
	left: 0;

	display: block;

	width: 100%;

	content: '';

	background: #fff;
}

.hp-projects__list:before
{
	top: 0;

	height: 50px;
}

.hp-projects__list:after
{
	bottom: 0;

	height: 189px;
}

.hp-projects__list .container
{
	z-index: 2;
}

.hp-projects__list .container:before
{
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	left: 0;

	display: block;

	width: 1px;
	height: calc(100% - 173px);
	margin: 0 auto;

	content: '';

	background: #e5e5e5;
}

.hp-projects__list .container:after
{
	display: table;
	clear: both;

	content: '';
}

.hp-projects__list-item
{
	position: relative;
	z-index: 3;

	display: block;

	margin-top: 8%;
}

.hp-projects__list-item:nth-of-type(odd)
{
	float: left;
}

.hp-projects__list-item:nth-of-type(even)
{
	float: right;
}

.hp-projects__list-item:nth-child(1),
.hp-projects__list-item:nth-child(4),
.hp-projects__list-item:nth-child(6)
{
	width: 50%;
}

.hp-projects__list-item:nth-child(2),
.hp-projects__list-item:nth-child(3),
.hp-projects__list-item:nth-child(5)
{
	width: 40%;
}

.hp-projects__list-item:nth-child(1)
{
	margin-top: 0;
}

.hp-projects__list-item:nth-child(2)
{
	margin-top: 25.7%;
}

.hp-projects__list-item picture
{
	font-size: 0;

	position: relative;

	display: block;
}

.hp-projects__list-item picture:after
{
	position: absolute;
	top: 0;
	left: 0;

	display: block;

	width: 100%;
	height: 100%;

	content: '';
	transition: 0.5s;

	background: transparent;
}

.hp-projects__list-item:hover picture:after
{
	background: rgba(0, 0, 0, 0.5);
}

.hp-projects__list-item img
{
	display: block;

	width: 100%;
	height: auto;
	margin-bottom: 20px;

	object-fit: cover;
	object-position: center center;
}

.hp-projects__list-item h2
{
	font-size: 2.8rem;

	margin: 10px 0 15px 0;
}

.hp-projects__list-item span
{
	font-size: 1.4rem;

	color: #a7a7a7;
}

.hp-projects__list-item svg
{
	display: inline-block;

	width: 22px;
	height: 10px;

	transition: 0.5s;
}

.hp-projects__list-item:hover svg
{
	margin-left: 22px;
}

.hp-projects__list-item svg path
{
	fill: #dd2b47;
}

@media (max-width: 1340px)
{
	.project-top-image-extra
	{
		left: -38px;
	}
}

@media (max-width: 960px)
{
	.hp-projects__top-info
	{
		width: calc(50% - 35px);
	}

	.hp-projects__top-info span
	{
		font-size: 1.4rem;
	}

	.hp-projects__top-info h2
	{
		font-size: 3.8rem;
	}

	.hp-projects__top-info p
	{
		font-size: 1.8rem;
	}

	.project-top-image-extra
	{
		bottom: -21px;
		left: -23px;
	}

	.hp-projects__logos
	{
		padding: 40px 0;
	}

	.hp-projects__logos picture
	{
		margin: 20px;
	}

	.hp-projects__logos img
	{
		max-width: 114px;
		max-height: 66px;
	}
}

@media (max-width: 860px)
{
	.hp-projects__top
	{
		padding-top: 40px;
	}

	.hp-projects__top-image:before,
	.hp-projects__top-image:after
	{
		height: 40px;
	}

	.hp-projects__top:after
	{
		height: 40px;
	}
}

@media (max-width: 760px)
{
	.hp-projects__top
	{
		padding: 0 0 40px 0;
	}

	.hp-projects__top .row
	{
		display: block;
	}

	.hp-projects__top-image,
	.hp-projects__top-info
	{
		width: auto;
		max-width: 585px;
		margin: 0 auto;
	}

	.hp-projects__top-image:before,
	.hp-projects__top-image:after
	{
		display: none;
	}

	.project-top-image-extra
	{
		bottom: -32px;
	}

	.hp-projects__top:after
	{
		display: none;
	}

	.hp-projects__top-info
	{
		margin-top: 50px;

		text-align: center;
	}

	.hp-projects__top-info p
	{
		margin: 0 auto 20px auto;
	}

	.hp-projects__logos :nth-of-type(3)
	{
		display: none;
	}

	.hp-projects__logos picture,
	.hp-projects__logos noscript
	{
		width: 50%;
		margin: 40px auto;
	}

	.hp-projects__logos img
	{
		max-width: 160px;
		max-height: 90px;
	}

	.hp-projects__list:before,
	.hp-projects__list:after,
	.hp-projects__list .container:before
	{
		display: none;
	}

	.hp-projects__list-item
	{
		float: none !important;

		width: auto !important;
		max-width: 585px;
		margin: 40px auto;
	}

	.hp-projects__list-item:nth-child(2)
	{
		margin: 40px auto;
	}

	.hp-projects__list-title
	{
		text-align: center;
	}
}

@media (max-width: 585px)
{
	.hp-projects__list-item,
	.hp-projects__list-item:nth-child(2)
	{
		margin: 40px -20px;
	}

	.hp-projects__list-title
	{
		padding: 0 15px;
	}

	.hp-projects__list-item img
	{
		margin-bottom: 15px;
	}

	.hp-projects__list-item h2
	{
		margin: 5px 0 0 0;
	}

	.hp-projects__top-image
	{
		margin: 0 -20px;
	}

	.project-top-image-extra
	{
		left: 3%;
	}

	.hp-projects__top-info
	{
		margin-top: 40px;
	}
}

@media (max-width: 460px)
{
	.hp-projects__logos
	{
		padding: 30px 0;
	}

	.hp-projects__logos picture,
	.hp-projects__logos noscript
	{
		margin: 30px auto;
	}

	.hp-projects__logos img
	{
		max-width: 100px;
		max-height: 55px;
	}
}

/* SERVICES */
.hp-services
{
	margin-top: 120px;
	padding: 100px 0 70px 0;

	border-top: 1px solid #d9d9d9;
}

.hp-services__item
{
	margin-bottom: 30px;
	padding-right: 15px;

	text-align: center;
}

.hp-services__item img
{
	display: inline-block;

	width: auto;
	height: 30px;
	margin-bottom: 30px;
}

.hp-services__item h2
{
	position: relative;

	margin-bottom: 20px;
	padding-top: 15px;
}

.hp-services__item h2.stripe:after
{
	top: 0;
	right: 0;
	bottom: auto;
	left: 0;
}

@media (max-width: 960px)
{
	.hp-services__item p
	{
		font-size: 1.8rem;
	}
}

@media (max-width: 760px)
{
	.hp-services
	{
		margin: 0;
		padding: 30px 15px 0 15px;

		border: none;
	}

	.hp-services__item
	{
		width: 100%;
		padding-top: 30px;

		text-align: center;

		border-top: 1px solid #f2f2f2;
	}

	.hp-services__item:first-child
	{
		border: none;
	}

	.hp-services__item img
	{
		margin: 0 auto 20px auto;
	}

	.hp-services__item h2
	{
		font-size: 3.8rem;
	}

	.hp-services__item h2.stripe:after
	{
		right: 0;
	}
}

/* ------------------------------ PROJECTS------------------------------ */

/* INTRO */
.project-intro
{
	position: relative;

	text-align: center;

	color: #fff;
}

.project-intro .container
{
	padding-top: 370px;
	padding-bottom: 312px;
}

.project-intro__title span
{
	font-family: 'Oswald', sans-serif;

	text-transform: uppercase;
}

.project-intro__title h1
{
	margin-bottom: 12px;
}

.project-intro__title p
{
	font-size: 2rem;

	max-width: 415px;
	margin: 0 auto 15px auto;
}

.project-intro__title-anchor
{
	margin-bottom: 30px;
}

.project-intro__mockup-desktop
{
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: -288px;
	left: 0;

	width: 765px;
	height: 600px;
	margin: 0 auto;

	background: transparent url('../img/bg_mockup.png') center top no-repeat;
	background-size: cover;
}

.project-intro__mockup-desktop .mockup-frame
{
	position: relative;
	top: 27px;
	left: 92px;

	overflow-y: scroll;

	width: 585px;
	height: 371px;

	background: #000;
}

.project-intro__mockup-desktop .mockup-frame::-webkit-scrollbar
{
	display: none;

	-webkit-appearance: none;
}

.project-intro__mockup-desktop .mockup-frame picture
{
	font-size: 0;

	display: block;
}

.project-intro__mockup-desktop .mockup-frame img
{
	width: 100%;
	height: auto;
}

.project-intro__mockup-desktop .mockup-scroll
{
	position: absolute;
	top: 67px;
	right: 0;

	width: 16px;
	height: 270px;
}

.project-intro__mockup-desktop .mockup-scroll:before,
.project-intro__mockup-desktop .mockup-scroll:after
{
	position: absolute;
	right: 0;
	left: 0;

	display: block;

	width: 1px;
	margin: 0 auto;

	content: '';
}

.project-intro__mockup-desktop .mockup-scroll:before
{
	top: 90px;

	height: 75px;

	background: #fff;
}

.project-intro__mockup-desktop .mockup-scroll:after
{
	bottom: 0;

	height: 25px;

	background: #dd2b47;
}

.project-intro__mockup-desktop .mockup-scroll span
{
	font-size: 1.6rem;

	display: block;

	-webkit-transform: rotate(-90deg) translate(-54px, -1px);
	        transform: rotate(-90deg) translate(-54px, -1px);
	white-space: nowrap;
}

.project-intro__mockup-desktop .mockup-scroll-svg
{
	position: absolute;
	top: 183px;
	left: 0;
}

.project-intro__mockup-desktop .mockup-scroll-svg:before
{
	position: absolute;
	top: 5px;
	right: 0;
	left: 0;

	display: block;

	width: 2px;
	height: 9px;
	margin: 0 auto;

	content: '';
	-webkit-animation: scroll 1s linear none infinite normal;
	        animation: scroll 1s linear none infinite normal;

	border-radius: 50%;
	background: #fff;
}

@keyframes scroll
{
	0%
	{
		top: 5px;
	}
	100%
	{
		top: 10px;

		opacity: 0;
	}
}

@-webkit-keyframes scroll
{
	0%
	{
		top: 5px;
	}
	100%
	{
		top: 10px;

		opacity: 0;
	}
}

.project-intro__mockup-desktop .mockup-scroll svg
{
	display: block;

	width: 16px;
	height: 28px;
}

.project-intro__mockup-desktop .mockup-scroll svg path
{
	fill: #fff;
}

.project-intro__mockup-mobile
{
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: -288px;
	left: 0;

	width: 765px;
	height: 600px;
	margin: 0 auto;
	margin: 0 auto;
}

.project-intro__mockup-mobile img
{
	display: block;

	width: 100%;
	height: auto;
}

.project-intro__background
{
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;

	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center top;
}

@media (max-width: 1460px)
{
	.project-intro .container
	{
		padding-top: 210px;
	}
}

@media (max-width: 960px)
{
	.project-intro .container
	{
		padding-bottom: 225px;
	}

	.project-intro__title span
	{
		font-size: 1.8rem;
	}

	.project-intro__mockup-desktop,
	.project-intro__mockup-mobile
	{
		bottom: -215px;

		width: 565px;
		height: 443px;
	}

	.project-intro__mockup-desktop .mockup-frame
	{
		top: 20px;
		left: 68px;

		width: 432px;
		height: 273px;
	}

	.mockup-scroll
	{
		display: none;
	}
}

@media (max-width: 625px)
{
	.project-intro .container
	{
		padding-bottom: 135px;
	}

	.project-intro__mockup-desktop,
	.project-intro__mockup-mobile
	{
		bottom: -115px;

		width: 320px;
		height: 251px;
	}

	.project-intro__mockup-desktop .mockup-frame
	{
		top: 11px;
		left: 38px;

		width: 245px;
		height: 155px;
	}

	.project-intro__title h1
	{
		margin-bottom: 5px;
	}

	.project-intro__title p
	{
		margin-bottom: 0;
	}

	.project-intro__title-anchor
	{
		margin-bottom: 2px;
	}
}

/* CLAIM */
.project-claim
{
	font-family: 'Oswald', sans-serif;
	font-size: 2.8rem;

	padding: 200px 0 100px 0;

	text-align: center;
	text-transform: uppercase;

	background: transparent url('../img/bg_pattern-claim.png') center top repeat-x;
	background-size: 59px 410px;
}

.project-claim .text-field
{
	position: relative;
	z-index: 2;
}

@media (max-width: 960px)
{
	.project-claim
	{
		font-size: 2.7rem;

		padding: 150px 0 75px 0;
	}
}

@media (max-width: 625px)
{
	.project-claim
	{
		font-size: 2.6rem;
		line-height: 3.2rem;

		padding: 75px 0 50px 0;
	}
}

/* GALLERY */
.project-gallery
{
	position: relative;

	background: #f5f5f5;
}

.project-gallery:before,
.project-gallery:after
{
	position: absolute;
	z-index: 1;
	left: 0;

	display: block;

	width: 100%;
	height: 6.3%;

	content: '';

	background: #fff;
}

.project-gallery:before
{
	top: 0;
}

.project-gallery:after
{
	bottom: 0;
}

.project-gallery .container
{
	z-index: 2;
}

.project-gallery .lines
{
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	left: 0;

	width: auto;
	height: 100%;
}

.project-gallery .container:before,
.project-gallery .lines:before,
.project-gallery .lines:after
{
	position: absolute;
	z-index: 2;
	top: 6.3%;

	display: block;

	width: 1px;
	height: calc(100% - 12.6%);

	content: '';

	background: #e5e5e5;
}

.project-gallery .container:before
{
	right: 0;
	left: 0;

	margin: 0 auto;
}

.project-gallery .lines:before
{
	left: 40%;
}

.project-gallery .lines:after
{
	right: 40%;
}

.project-gallery .container:after
{
	display: table;
	clear: both;

	content: '';
}

.project-gallery__item
{
	font-size: 0;

	position: relative;
	z-index: 3;

	display: block;

	margin-top: 10%;
}

.project-gallery__item picture,
.project-gallery__item noscript
{
	font-size: 0;

	display: block;
}

.project-gallery__item:nth-of-type(odd)
{
	float: left;
}

.project-gallery__item:nth-of-type(even)
{
	float: right;
}

.project-gallery__item:nth-of-type(1),
.project-gallery__item:nth-of-type(4n),
.project-gallery__item:nth-of-type(4n+5)
{
	width: 50%;
}

.project-gallery__item:nth-of-type(4n+2),
.project-gallery__item:nth-of-type(4n+3)
{
	width: 40%;
}

.project-gallery__item:nth-of-type(1)
{
	margin-top: 0;
}

.project-gallery__item:nth-of-type(2)
{
	margin-top: 15%;
}

.project-gallery img
{
	display: block;

	width: 100%;
	height: auto;

	object-fit: cover;
	object-position: center center;
}

@media (max-width: 1230px)
{
	.project-gallery .lines
	{
		right: 30px;
		left: 30px;
	}
}

@media (max-width: 760px)
{
	.project-gallery:before,
	.project-gallery:after
	{
		height: 80px;
	}

	.project-gallery .container:before
	{
		display: none;
	}

	.project-gallery__item
	{
		float: none !important;

		width: auto !important;
		max-width: 585px;
		margin: 40px auto;
	}

	.project-gallery__item:nth-of-type(2)
	{
		margin: 40px auto;
	}

	.project-gallery .lines
	{
		right: 0;
		left: 0;

		max-width: 585px;
		margin: 0 auto;
	}

	.project-gallery .lines:before,
	.project-gallery .lines:after
	{
		top: 80px;

		height: calc(100% - 160px);
	}

	.project-gallery .lines:before
	{
		left: 25px;
	}

	.project-gallery .lines:after
	{
		right: 25px;
	}
}

@media (max-width: 625px)
{
	.project-gallery:before,
	.project-gallery:after
	{
		height: 40px;
	}

	.project-gallery__item
	{
		margin: 20px auto;
	}

	.project-gallery__item:nth-of-type(2)
	{
		margin: 20px auto;
	}

	.project-gallery .lines:before,
	.project-gallery .lines:after
	{
		top: 40px;

		height: calc(100% - 80px);
	}

	.project-gallery .lines:before
	{
		left: 45px;
	}

	.project-gallery .lines:after
	{
		right: 45px;
	}
}

/* INFO */
.project-info
{
	font-size: 2rem;

	padding: 80px 0 60px 0;

	text-align: center;
}

.project-info .text-field
{
	max-width: 615px;
	margin: 0 auto;
}

.project-info .text-field p
{
	margin-bottom: 30px;
}

@media (max-width: 760px)
{
	.project-info
	{
		font-size: 1.6rem;
		line-height: 2.4rem;

		padding: 0 0 40px 0;
	}

	.project-info .text-field p
	{
		margin-bottom: 15px;
	}
}

/* NEXT */
.project-next
{
	padding: 50px 0 40px 0;

	text-align: center;

	color: #fff;
	background: #dd2b47 url('../img/bg_pattern-projects.png') center top repeat-x;
	background-size: 55px 220px;
}

.project-next h2
{
	font-size: 2.8rem;

	display: inline-block;

	margin: 10px 0 0 0;

	color: #fff;
}

.project-next svg
{
	display: inline-block;

	width: 22px;
	height: 10px;

	transition: 0.5s;
}

.project-next a:hover svg
{
	margin-left: 22px;
}

.project-next svg path
{
	fill: #fff;
}

@media (max-width: 760px)
{
	.project-next
	{
		padding: 30px 0;
	}

	.project-next h2
	{
		font-size: 2.6rem;
	}
}

/* ------------------------------ FOOTER ------------------------------ */
footer
{
	position: relative;

	padding: 70px 0 60px 0;

	text-align: center;

	color: #fff;
	background: #070708;
}

footer a
{
	color: #fff;
}

footer .container
{
	z-index: 2;
}

.attractions__item
{
	width: 33.33%;
}

.attractions__item span
{
	font-family: 'Oswald', sans-serif;
	font-size: 7.2rem;

	display: inline-block;

	margin-bottom: 10px;
}

.attractions__item p
{
	font-size: 1.4rem;

	text-transform: uppercase;

	opacity: 0.5;
}

.footer__divider
{
	position: relative;

	height: 110px;
	margin: 15px 0 30px 0;
}

.footer__divider:after
{
	position: absolute;
	right: 0;
	left: 0;

	display: block;

	width: 1px;
	height: 100%;
	margin: 0 auto;

	content: '';

	background: rgba(255, 255, 255, 0.1);
}

.footer__company
{
	margin-bottom: 100px;
}

.footer__company img
{
	display: inline-block;

	width: 160px;
	height: auto;
	margin-bottom: 10px;
}

.footer__company p
{
	font-size: 1.2rem;

	text-transform: uppercase;
}

.footer__contact
{
	font-family: 'Oswald', sans-serif;
	font-size: 1.8rem;

	margin-bottom: 50px;

	text-transform: uppercase;
}

.footer__contact span
{
	display: inline-block;

	margin-bottom: 30px;
}

.footer__contact a
{
	font-size: 5.6rem;

	position: relative;
}

.footer__contact a:before,
.footer__contact a:after
{
	position: absolute;
	bottom: -10px;
	left: 0;

	display: block;

	height: 1px;

	content: '';
	transition: 0.5s;
}

.footer__contact a:before
{
	z-index: 1;

	width: 100%;

	background: rgba(255, 255, 255, 0.15);
}

.footer__contact a:after
{
	z-index: 2;

	width: 0;

	background: rgba(255, 255, 255, 1);
}

.footer__contact a:hover:after
{
	width: 100%;
}

.footer__social
{
	justify-content: center;

	margin-bottom: 17px;
}

.footer__social a
{
	margin: 0 11px;
}

.footer__social svg
{
	display: block;

	width: 22px;
	height: 22px;
}

.footer__social svg path
{
	transition: 0.5s;

	fill: #fff;
}

.footer__social a:hover svg path
{
	fill: rgba(255, 255, 255, 0.5);
}

.footer__office
{
	font-size: 1.4rem;
	line-height: 3rem;

	letter-spacing: 2px;
	text-transform: uppercase;

	opacity: 0.5;
}

.footer__background
{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}

.footer__background img
{
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center center;
}

@media (max-width: 960px)
{
	.footer__background img
	{
		object-position: 62% center;
	}
}

@media (max-width: 760px)
{
	footer
	{
		padding: 30px 0;
	}

	.attractions__item
	{
		width: 100%;
		margin: 5px 0;
	}

	.attractions__item span
	{
		font-size: 5.8rem;
	}

	.footer__divider
	{
		height: 60px;
		margin-bottom: 15px;
	}

	.footer__company
	{
		margin-bottom: 100px;
	}

	.footer__contact
	{
		margin-bottom: 40px;
	}

	.footer__contact span
	{
		margin-bottom: 20px;
	}

	.footer__contact a
	{
		font-size: 3rem;
	}

	.footer__contact a:before,
	.footer__contact a:after
	{
		bottom: -8px;
	}

	.footer__office
	{
		font-size: 1.2rem;
		line-height: 2rem;
	}

	.footer__background
	{
		overflow: hidden;
	}

	.footer__background img
	{
		position: absolute;
		top: 545px;
		left: 50%;

		width: auto;
		height: auto;

		transform: translateX(-45%);

		object-fit: none;
		object-position: center bottom;
	}
}

/* ------------------------------ EXTRA ------------------------------ */

/* --- WP ADMIN BAR --- */
.admin-bar header
{
	top: 32px;
}

#wpadminbar
{
	overflow: hidden;
}

@media (max-width: 782px)
{
	.admin-bar
	{
		margin-top: -46px;
	}

	.admin-bar header
	{
		top: 0;
	}

	#wpadminbar
	{
		display: none;
	}
}

/* ------------------------------ JS OFF ------------------------------ */
.no-js picture
{
	display: none;
}

/* ------------------------------ PRINT ------------------------------ */
@media print
{
	header,
	nav,
	.tools,
	footer
	{
		display: none !important;
	}
}
