@charset "utf-8";

/* ------------------------- */
/* 2. General
/* ------------------------- */

#elapsed-time {
	position:fixed;
	bottom:10px;
	right:10px;
	font-size:10px;
	font-weight:bold;
}

* {
	box-sizing:border-box;
}

html {
	overflow-x:hidden;
	height:100%;
}

body {
	overflow-x:hidden;
	font-family:'Montserrat', sans-serif;
	background-color:#1c1c1c;
}

img {
	vertical-align:text-bottom;
}

p {
	margin:0;
}

h1, h2, h3, h4, h5 {
	margin:0;
	font-weight:normal;
}

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

a {
	outline:0;
	text-decoration:none;
}

a:hover, a:active, a:focus {
	outline:0;
}

a:hover {
	text-decoration:none;
}

figure {
	margin:0;
}

input[type="text"],
input[type="email"],
input[type="submit"],
input[type="search"],
textarea,
select {
	border-radius:0;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}

.html-content {
	/*font-size:13px;
	line-height:23px;*/
}

.html-content strong,
.html-content b {
}

.html-content a {
	color:inherit;
	text-decoration:underline;
}

.html-content a:hover {
}

.clearfix:after {
	content:"";
	display:table;
	clear:both;
}

.table {
	display:table;
	width:100%;
	height:100%;
}

.table-cell {
	display:table-cell;
	vertical-align:middle;
}

.iframe-wrapper {
    position:relative;
    padding-bottom:56.25%;
    height:0;
}

.iframe-wrapper iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:none;
}

/* ------------------------- */
/* 2.1. Grid
/* ------------------------- */

.row {
	width:100%;
}

.col {
  	float:left;
  	min-height:1px;
}

.col-right {
	float:right;
}

.hide {
	display:none;
}

.show {
	display:block;
}

.col-lg-1 { width:8.3333%; }
.col-lg-2 { width:16.6666%; }
.col-lg-3 { width:25%; }
.col-lg-4 { width:33.3333%; }
.col-lg-5 { width:41.6666%; }
.col-lg-6 { width:50%; }
.col-lg-7 { width:58.3333%; }
.col-lg-8 { width:66.6666%; }
.col-lg-9 { width:75%; }
.col-lg-10 { width:83.3333%; }
.col-lg-11 { width:91.6666%; }
.col-lg-12 { width:100%; }

.col-lg-1-5 { width:20%; }
.col-lg-2-5 { width:40%; }
.col-lg-3-5 { width:60%; }
.col-lg-4-5 { width:80%; }
.col-lg-5-5 { width:100%; }

.hide-lg { display:none; }
.show-lg { display:block; }

@media all and (max-width: 1279px) {
	.col-xl-1 { width:8.3333%; }
	.col-xl-2 { width:16.6666%; }
	.col-xl-3 { width:25%; }
	.col-xl-4 { width:33.3333%; }
	.col-xl-5 { width:41.6666%; }
	.col-xl-6 { width:50%; }
	.col-xl-7 { width:58.3333%; }
	.col-xl-8 { width:66.6666%; }
	.col-xl-9 { width:75%; }
	.col-xl-10 { width:83.3333%; }
	.col-xl-11 { width:91.6666%; }
	.col-xl-12 { width:100%; }

	.col-xl-1-5 { width:20%; }
	.col-xl-2-5 { width:40%; }
	.col-xl-3-5 { width:60%; }
	.col-xl-4-5 { width:80%; }
	.col-xl-5-5 { width:100%; }

	.hide-xl { display:none; }
	.show-xl { display:block; }
}

@media all and (max-width: 1023px) {
	.col-md-1 { width:8.3333%; }
	.col-md-2 { width:16.6666%; }
	.col-md-3 { width:25%; }
	.col-md-4 { width:33.3333%; }
	.col-md-5 { width:41.6666%; }
	.col-md-6 { width:50%; }
	.col-md-7 { width:58.3333%; }
	.col-md-8 { width:66.6666%; }
	.col-md-9 { width:75%; }
	.col-md-10 { width:83.3333%; }
	.col-md-11 { width:91.6666%; }
	.col-md-12 { width:100%; }

	.col-md-1-5 { width:20%; }
	.col-md-2-5 { width:40%; }
	.col-md-3-5 { width:60%; }
	.col-md-4-5 { width:80%; }
	.col-md-5-5 { width:100%; }

	.hide-md { display:none; }
	.show-md { display:block; }
}

@media all and (max-width: 767px) {
	.col-sm-1 { width:8.3333%; }
	.col-sm-2 { width:16.6666%; }
	.col-sm-3 { width:25%; }
	.col-sm-4 { width:33.3333%; }
	.col-sm-5 { width:41.6666%; }
	.col-sm-6 { width:50%; }
	.col-sm-7 { width:58.3333%; }
	.col-sm-8 { width:66.6666%; }
	.col-sm-9 { width:75%; }
	.col-sm-10 { width:83.3333%; }
	.col-sm-11 { width:91.6666%; }
	.col-sm-12 { width:100%; }

	.col-sm-1-5 { width:20%; }
	.col-sm-2-5 { width:40%; }
	.col-sm-3-5 { width:60%; }
	.col-sm-4-5 { width:80%; }
	.col-sm-5-5 { width:100%; }

	.hide-sm { display:none; }
	.show-sm { display:block; }
}

@media all and (max-width: 567px) {
	.col-xs-1 { width:8.3333%; }
	.col-xs-2 { width:16.6666%; }
	.col-xs-3 { width:25%; }
	.col-xs-4 { width:33.3333%; }
	.col-xs-5 { width:41.6666%; }
	.col-xs-6 { width:50%; }
	.col-xs-7 { width:58.3333%; }
	.col-xs-8 { width:66.6666%; }
	.col-xs-9 { width:75%; }
	.col-xs-10 { width:83.3333%; }
	.col-xs-11 { width:91.6666%; }
	.col-xs-12 { width:100%; }

	.col-xs-1-5 { width:20%; }
	.col-xs-2-5 { width:40%; }
	.col-xs-3-5 { width:60%; }
	.col-xs-4-5 { width:80%; }
	.col-xs-5-5 { width:100%; }

	.hide-xs { display:none; }
	.show-xs { display:block; }
}

@media all and (max-width: 479px) {
	.col-xxs-1 { width:8.3333%; }
	.col-xxs-2 { width:16.6666%; }
	.col-xxs-3 { width:25%; }
	.col-xxs-4 { width:33.3333%; }
	.col-xxs-5 { width:41.6666%; }
	.col-xxs-6 { width:50%; }
	.col-xxs-7 { width:58.3333%; }
	.col-xxs-8 { width:66.6666%; }
	.col-xxs-9 { width:75%; }
	.col-xxs-10 { width:83.3333%; }
	.col-xxs-11 { width:91.6666%; }
	.col-xxs-12 { width:100%; }

	.col-xxs-1-5 { width:20%; }
	.col-xxs-2-5 { width:40%; }
	.col-xxs-3-5 { width:60%; }
	.col-xxs-4-5 { width:80%; }
	.col-xxs-5-5 { width:100%; }

	.hide-xxs { display:none; }
	.show-xxs { display:block; }
}

.responsive {
	width:100%;
	height:auto;
}

.wrapper {
	position:relative;
	margin:0 auto;
	width:100%;
	max-width:1060px;
	padding:0 90px;
}

.wrapper.large {
	max-width:1366px;
}

.list-inline > li {
	display:inline-block;
}

.list-float > li {
	float:left;
}

.align-left {
	text-align:left;
}

.align-right {
	text-align:right;
}

.align-center {
	text-align:center;
}

.relative {
	position:relative;
}

.absolute {
	position:absolute;
}

.overflow-hidden {
	overflow:hidden;
}

#page-wrapper {
	position:relative;
	box-shadow:0 50px 50px 0 rgba(0, 0, 0, .75);
}

/* ------------------------- */
/* 3. Header
/* ------------------------- */

#header {
	position:fixed;
	top:0;
	left:0;
	right:0;
	padding:15px 90px 11px;
	border-bottom:1px solid transparent;
	z-index:100;
	/*background-color:transparent;*/
	/*transition:background-color 0.5s ease;*/
	transition-property:border-bottom, background-color;
	transition-duration:0.5s;
	transition-timing-function:ease;
	/*pointer-events:none;*/
}

#header .logo {
	display:inline-block;
	position:relative;
	z-index:10;
	/*pointer-events:auto;*/
}

#header .logo svg {
	width:80px;
	height:80px;
}

#header .logo svg g * {
	transition:fill 0.5s ease, stroke 0.5s ease;
}

#header nav {
	position:absolute;
	top:45px;
	right:90px;
	width:100%;
}

#header nav .social {
	display:none;
}

#header nav .menu-wrapper {
	display:none;
	position:absolute;
	right:0;
	opacity:0;
}

#header nav ul li + li {
	margin:0 0 0 25px;
}

#header nav ul li a {
	text-transform:uppercase;
	font-size:12px;
	line-height:14px;
	font-weight:bold;
	color:#fff; /* to be removed */
	transition:color 0.5s ease;
}

#header nav ul li a.lang {
	opacity: .5;
	font-weight: normal;
	transition:opacity 0.5s ease;
}

#header nav ul li a.lang:hover {
	opacity: 1;
}

#header nav ul li a.lang.active {
	opacity: 1;
	font-weight: bold;
}

/* Transparent / opaque white */
#header.transparent-white .color-change,
#header.opaque-white .color-change {
	color:#fff;
}

#header.transparent-white .bgcolor-change,
#header.opaque-white .bgcolor-change {
	background-color:#fff;
}

#header.transparent-white .fill-change,
#header.opaque-white .fill-change {
	fill:#fff;
}

#header.transparent-white .stroke-change,
#header.opaque-white .stroke-change {
	stroke:#fff;
}

#header.transparent-white:hover,
#header.transparent-white.open {
	background-color:rgba(0, 0, 0, .075);
}

/*
#header.opaque-white:hover {
	background-color:rgba(0, 0, 0, 1);
}
*/

/* Transparent / opaque black */
#header.opaque-black {
	color:#000;
	background-color:#fff;
}

#header.transparent-black .color-change,
#header.opaque-black .color-change,
#header.sticky-black .color-change {
	color:#000;
}

#header.transparent-black .bgcolor-change,
#header.opaque-black .bgcolor-change,
#header.sticky-black .bgcolor-change {
	background-color:#000;
}

#header.transparent-black .fill-change,
#header.opaque-black .fill-change,
#header.sticky-black .fill-change {
	fill:#000;
}

#header.transparent-black .stroke-change,
#header.opaque-black .stroke-change,
#header.sticky-black .stroke-change {
	stroke:#000;
}

#header.transparent-black:hover,
#header.transparent-black.open {
	background-color:rgba(255, 255, 255, .75);
	/*border-bottom:1px solid #d8d8d8;*/
}

/* Works sticky */
/*#header.sticky {*/
/*	pointer-events:none;*/
/*}*/

/*#header.sticky .logo {*/
/*	pointer-events:auto;*/
/*}*/

/*#header.sticky nav {*/
/*	pointer-events:auto;*/
/*}*/

/*#header.sticky:hover {*/
/*	background-color:transparent;*/
/*}*/

/* Hamburger menu */
.button-menu {
	display:inline-block;
	overflow:visible; 
	position:absolute;
	top:1px;
	right:0;
	margin:0;
	border:0;
	transition-property:opacity, filter;
	transition-duration:0.15s;
	transition-timing-function:linear;
	z-index:10;
 }

.button-menu-box {
	display:inline-block;
	position:relative; 
	width:30px;
	height:15px;
}

.button-menu-inner {
	display:block;
	top:50%;
	background-color:#fff;
}
 
.button-menu-inner, 
.button-menu-inner:before, 
.button-menu-inner:after {
	position:absolute;
	width:30px;
	height:2px;
	transition: transform 0.3s ease,
				background-color 0.3s ease;
}

.button-menu-inner:before, 
.button-menu-inner:after {
	display:block;
	content:"";
	background-color:inherit;
}

.button-menu-inner:before {
	top:-8px; 
}

.button-menu-inner:after {
	bottom:-8px; 
}

.button-menu-inner {
	transition: transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19),
				background-color 0.3s ease;
}

.button-menu-inner:before {
	transition: top 0.2s 0.34s ease-in, 
				opacity 0.3s ease-in;
}

.button-menu-inner:after {
	transition: bottom 0.2s 0.34s ease-in, 
				transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

#header.open .button-menu .button-menu-inner {
	transform:rotate(225deg);
	transition: transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1),
				background-color 0.3s ease;
}

#header.open .button-menu .button-menu-inner:before {
	top:0;
	opacity:0;
	transition: top 0.3s ease-out, 
				opacity 0.1s 0.14s ease-out;
}

#header.open .button-menu .button-menu-inner:after {
	bottom:0;
	transform:rotate(-90deg);
	transition: bottom 0.3s ease-out, 
				transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* ------------------------- */
/* 4. Content
/* ------------------------- */

main {
	position:relative;
	margin:0 0 370px;
	width:100%;
	background-color:#1c1c1c;
	z-index:10;
}

.icons-list {
	padding:80px 90px;
	margin:0 -40px;
	background-color:#f1f2f2;
}

.icons-list-container {
	margin:0 auto;
	text-align:center;
}

.icons-list-item {
	padding:40px;
	display:inline-block;
	vertical-align:top;
}

.icons-list-item + .icons-list-item {
	margin-left:-5px;
}

.icons-list-figure {
	position:relative;
	width:100%;
	max-width:80px;
	margin: 0 auto 35px;
}

.icons-list-figure:after {
	content:"";
	display:block;
	padding-bottom:100%;
}

.icons-list-image {
	position:absolute;
	top:0;
	left:0;
	width:100%;
}

.icons-list-title {
	font-size:34px;
	line-height: 40px;
	font-weight: bold;
	color:#231f20;
	margin-bottom:15px;
}

.icons-list-text {
	font-size:18px;
	line-height: 26px;
	color:#58595b;
}


.carousel {
	padding:80px 90px;
	margin:0 -15px;
	text-align:center;
	background-color:#fff;
}

.carousel-title {
	font-size:34px;
	line-height: 40px;
	font-weight: bold;
	color:#000;
}

.carousel-container {
	margin-top:80px;
}

.carousel-item {
	position:relative;
	padding:0 15px;
}

.carousel-text {
	position:relative;
	padding:90px 50px 50px;
	margin-bottom:40px;
	font-size:18px;
	line-height:26px;
	color:#bbbdbf;
	background-color:#fff;
	border:1px #e6e7e8 solid;
	transition:color .3s ease, background-color .3s ease;
}

.carousel-quotes {
	position:absolute;
	top:50px;
	left:50%;
	width:22px;
	height:18px;
	transform:translate(-50%, 0);
	z-index:100;
}

.carousel-quotes .svg-fill {
	fill:#bbbdbf;
	transition:fill .3s ease;
}

.carousel-item.slick-center .carousel-quotes .svg-fill {
	fill:#000;
}

.carousel-text::after {
	content:"";
	position:absolute;
	top:100%;
	left:50%;
	width:50px; 
	height:50px;
	background-color: white;
	border-right:1px solid #e6e7e8;
	border-bottom:1px solid #e6e7e8;
	transform:translate(-50%, -50%) rotate(45deg);
	transition:background-color .3s ease;
}

.carousel-item.slick-center .carousel-text {
	color:#000;
	background-color:#e6e7e8;
}

.carousel-item.slick-center .carousel-text::before {
	color:#fff;
}

.carousel-item.slick-center .carousel-text::after {
	background-color:#e6e7e8;
}

.carousel-figure {
	position:relative;
	margin:0 auto;
	width:100%;
	max-width:260px;
	opacity:.5;
	filter:grayscale(100%);
	transition:opacity .3s ease, filter .3s ease;
}

.carousel-item.slick-center .carousel-figure {
	opacity:1;
}

.carousel-figure:after {
	content:"";
	display:block;
	padding-bottom:38.46%;
}

.carousel-image {
	position:absolute;
	top:0;
	left:0;
	width:100%;
}


#particles-box {
	width:100%;
	position:relative;
}

#particles-data h1,
#particles-data .subheader {
	opacity:0;
	/*color:#fff;*/
}

#particles-data h1 {
	font-family:'Playfair Display', serif;
	font-size:90px;
	line-height:100px;
}

#particles-data .subheader {
	display:inline-block;
	margin:20px 0 0;
	/*font-family:"Montserrat", sans-serif;*/
	font-size:18px;
}

#particles-data .particles {
	width:100%;
	height:100%;
}

#particles-data .canvas-bg {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	transition:background-color 0.7s ease;
	-webkit-transition:background-color 0.7s ease;
}

#particles-data .inner-wrap {
	position:absolute !important;
	top:auto !important;
	bottom:15%;
	left:0;
	margin-bottom:0 !important;
	text-align:center;
	width:100%;
}

#particles-data .pagination-navigation {
	position:absolute;
	right:90px;
	top:50%;
	width:20px;
	text-align:center;
	font-size:0;
	line-height:1px;
	opacity:0.5;
	z-index:1000;
	transform:translateY(-50%) translateZ(0);
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
}

#particles-data .pagination-current {
	position:absolute !important;
	left:0;
	top:0;
	z-index:100;
}

#particles-data .pagination-dot, 
#particles-data .pagination-current {
	display:inline-block;
	position:relative;
	width:10px;
	height:10px;
	padding:0;
	margin:12px 7px;
	border-radius:50%;
	border:none;
	outline:none;
	font-size:14px;
	font-weight:bold;
	line-height:10px;
	color:#fff;
	background:#fff;
	cursor:pointer;
	opacity:0;
	transform:translateY(20px);
}

.featured,
.featured-slideshow {
	background-color:#1c1c1c;
}

.featured .item,
.featured-slideshow .item {
	overflow:hidden;
	position:relative;
	text-align:center;
}

.featured .item.video video,
.featured-slideshow .item.video video {
	opacity:0;
}

.featured .item .caption,
.featured-slideshow .item .caption {
	position:absolute;
	top:0;
	left:0;
	padding:20px 90px;
	width:100%;
	height:100%;
	color:#fff;
	z-index:10;
}

.featured .item .caption h1,
.featured-slideshow .item .caption h1 {
	font-size:34px;
	line-height:40px;
}

.featured .item.large .caption h1,
.featured-slideshow .item.large .caption h1 {
	font-family: 'Playfair Display', serif;
	font-size:74px;
	line-height:90px;
}

.featured .item.large .caption h1 b,
.featured .item.large .caption h1 strong,
.featured-slideshow .item.large .caption h1 b,
.featured-slideshow .item.large .caption h1 strong {
	font-weight: bold;
}

.featured .item .caption h2,
.featured-slideshow .item .caption h2 {
	margin:45px 0 0;
	font-weight:bold;
	font-size:18px;
	text-transform:uppercase;
}

.featured .item .caption .text,
.featured-slideshow .item .caption .text {
	margin:20px 0 0;
	font-size:18px;
	line-height:26px;
}

.featured .item .caption .call,
.featured-slideshow .item .caption .call {
	margin:60px 0 0;
}

.featured .item .caption .call a,
.featured-slideshow .item .caption .call a {
	display:inline-block;
	padding:10px 20px;
	border:2px solid #fff;
	font-weight:bold;
	font-size:12px;
	line-height:14px;
	text-transform:uppercase;
	letter-spacing:1px;
	color:#fff;
	transition-property:color, background-color;
	transition-duration:0.3s;
	transition-timing-function:ease;
}

.featured .item .caption .call a:hover,
.featured-slideshow .item .caption .call a:hover {
	color:#000;
	background-color:#fff;
}

.scroll-bottom {
	position:absolute;
	bottom:20px;
	left:50%;
	margin:0 0 0 -25px;
	z-index:20;
}

.scroll-bottom a {
	display:block;
	width:50px;
	height:40px;
	/*font-size:48px;*/
	text-align:center;
	/*color:#fff;*/
}

.scroll-bottom a svg {
	width:15px;
	transform:rotate(-90deg);
}

.scroll-bottom a svg polygon {
	fill:#fff;
}

/*
.scroll-bottom a span {
	position:relative;
	top:-10px;
}
*/

.clients-display .scroll-bottom {
	top:-60px;
	bottom:auto;
}

.slideshow {
	position:relative;
}

.slideshow .nav {
	display:block;
	position:absolute;
	top:50%;
	margin:-45px 0 0;
	padding:15px 25px;
	font-size:48px;
	color:#fff;
}

.slideshow .nav.prev {
	left:65px;
}

.slideshow .nav.next {
	right:65px;
}

.banner {
	position:relative;
	padding:0 90px;
	height:480px;
	text-align:center;
	background-color:#fff;
}

.banner h1 {
	font-family:'Playfair Display', serif;
	font-size:70px;
	line-height:80px;
	color:#424242;
}

.banner-slideshow {
	position:relative;
}

.banner-slideshow .slide {
	overflow:hidden;
	position:relative;
	width:100%;
	height:530px;
}

.banner-slideshow .slide .image,
.banner-slideshow .slide .caption {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.banner-slideshow .slide .image {
	z-index:1;
}

.banner-slideshow .slide .caption {
	padding:0 90px;
	text-align:center;
	z-index:10;
}

.banner-slideshow .slide .caption h1 {
	font-family:'Playfair Display', serif;
	font-size:74px;
	line-height:90px;
}

.banner-slideshow .slick-dots,
.featured-slideshow .slick-dots {
	position:absolute;
	bottom:40px;
	left:0;
	width:100%;
	text-align:center;
}

.banner-slideshow .slick-dots li,
.featured-slideshow .slick-dots li {
	display:inline-block;
	position:relative;
	margin:0 9px;
}

.banner-slideshow .slick-dots li a,
.featured-slideshow .slick-dots li a {
	display:block;
	width:8px;
	height:8px;
	border-radius:100%;
	background-color:#fff;
	transition: background-color 0.3s ease;
}

.banner-slideshow .slick-dots li.slick-active a,
.banner-slideshow .slick-dots li a:hover,
.featured-slideshow .slick-dots li.slick-active a,
.featured-slideshow .slick-dots li a:hover {
	background-color:#0f1012;
}

.hook-isotope {
	transition:height 0.3s ease;
}

.grid {
	overflow:hidden;
	position:relative;
	background-color:#fff;
}

.grid-header {
	padding:80px 90px;
	text-align:center;
}

.grid-title {
	font-size:34px;
	line-height:40px;
	color:#000;
	font-weight: bold;
}

.grid,
.grid .grid-item {
	/*background-color:#fff;*/
}

.grid .grid-nav {
	padding:25px 90px;
	color:#a4a4a4;
	background-color:#0f1012;
}

.grid .grid-nav h1 {
	font-size:24px;
	font-weight:500;
}

.grid .grid-nav ul {
	padding:5px 0;
}

.grid .grid-nav ul li + li {
	margin:0 0 0 20px;
}

.grid .grid-nav ul li a {
	font-size:15px;
	font-weight:500;
	color:#a4a4a4;
	transition:color 0.3s ease;
}

.grid .grid-nav ul li a:hover,
.grid .grid-nav ul li a.current {
	color:#fff;
}

.grid .grid-nav .col + .col {
	text-align:right;
}

.grid .grid-item,
.grid .grid-sizer {
	width:33.3%;
}

.grid .grid-item {
	overflow:hidden;
	position:relative;
	float:left;
	padding-bottom:33.3%;
	height:0;
}

.grid .grid-item.size-horz {
	width:33.3%;
	padding-bottom:16.65%;
}

.grid .grid-item .grid-item-content {
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	color:#000;
}

.grid .grid-item .grid-item-content:after {
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background-color:rgba(255, 255, 255, 0);
	transition:background-color 0.3s ease;
}

.grid .grid-item .grid-item-content:hover:after {
	background-color:rgba(255, 255, 255, 1);
}

.grid .grid-item .grid-item-content .caption {
	position:absolute;
	top:0;
	left:0;
	padding:30px;
	width:100%;
	height:100%;
	z-index:10;
	opacity:0;
	transition:opacity 0.3s ease;
}

.grid .grid-item .grid-item-content .caption::after,
.grid .grid-item .grid-item-content .caption::before {
	content:"";
	position:absolute;
	bottom:30px;
	right:30px;
	background-color:#000;
}

.grid .grid-item .grid-item-content .caption::after {
	margin:0 17px 0 0;
	height:35px;
	width:1px;
}

.grid .grid-item .grid-item-content .caption::before {
	margin:0 0 17px;
	height:1px;
	width:35px;
}

.grid .grid-item .grid-item-content:hover .caption {
	opacity:1;
}

.grid .grid-item .grid-item-content .caption h1 {
	margin:5px 0 0;
	font-size:24px;
	line-height:28px;
	font-weight: bold;
}

.grid .grid-item .grid-item-content .caption p {
	font-size:12px;
	line-height: 14px;
}

.images-nav-wrapper {
	position:absolute;
	top:0;
	/*left:50%;*/
	right:90px;
	z-index:10;
}

.images-nav-wrapper .images-nav {
	text-align:right;
}

.images-nav-wrapper .images-nav li {
	margin:6px 0;
}

.images-nav-wrapper .images-nav li a {
	display:inline-block;
	width:6px;
	height:6px;
	border-radius:100%;
	background-color:#fff;
	transition:background-color 0.3s ease;
}

.images-nav-wrapper .images-nav li a.current,
.images-nav-wrapper .images-nav li a:hover {
	background-color:#7d7d7d;
}

.images-gallery {
	overflow:hidden;
}

.images-gallery .grid-item,
.images-gallery .grid-sizer {
	width:50%;
}

.images-gallery .grid-item {
	overflow:hidden;
	position:relative;
	float:left;
	padding-bottom:31.88%;
	height:0;
	background-color:#000;
}

.images-gallery .grid-item.size-horz-large {
	width:100%;
	padding-bottom:63.77%;
}

.images-gallery .grid-item.size-horz-small {
	width:100%;
}

.images-gallery .grid-item.text {
	width:100%;
	height:auto;
	padding-bottom:0;
}

.images-gallery .grid-item .grid-item-content {
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.images-gallery .grid-item.text .grid-item-content {
	position:static;
}

.page-header {
	overflow:hidden;
	position:relative;
	width:100%;
	height:530px;
}

.page-header.small {
	height:480px;
}

.page-header.no-image {
	padding:180px 40px;
	height:auto;
	text-align:center;
}

.page-header.image,
.page-header.image-work {
	height:auto;
	text-align:center;
}

.page-header.image .logo {
	padding:95px 90px 55px;
}

.page-header.image .logo img {
	max-width:480px;
}

.page-header .image,
.page-next .image {
	position:absolute;
	top:0;
	left:0;
	/*bottom:0;*/
	/*right:0;*/
	width:100%;
	height:100%;
	/*background-position:center center;*/
	background-repeat:no-repeat;
	background-size:cover;
	z-index:1;
	transform:scale(1.2);
}

.page-header.image-work .image {
	position:static;
	min-height:300px;
}

.page-header .caption {
	position:absolute;
	top:0;
	left:0;
	padding:0 90px;
	width:100%;
	height:100%;
	text-align:center;
	color:#fff;
	background-color:rgba(0, 0, 0, .8);
	z-index:10;
}

.page-header .caption h1 {
	font-family:'Playfair Display', serif;
	font-size:74px;
	line-height:90px;
}

.page-header .caption.no-multiply {
	background-color:transparent;
}

.page-header.no-image .text {
	margin:20px 0 0;
}

.page-cover {
	position:relative;
	text-align:center;
}

.works-display {
	position:relative;
	overflow:hidden;
}

.works-display .page-cover .image-cover,
.clients-display .page-cover .image-cover {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	z-index:10;
}

.works-display .page-cover .caption {
	position:absolute;
	/*bottom:0;*/
	/*margin:-150px 0 0;*/
	/*top:calc(100% - 150px);*/
	bottom:-105px;
	left:0;
	width:100%;
	z-index:20;
	opacity:0;
	transition:bottom 0.5s ease 1s, opacity 0.5s ease 1s;
	/*animation:work-title 0.5s 1.6s ease forwards;*/
	/*animation-name:work-title;
	animation-duration:0.5s;
	animation-delay:1.6s;
	animation-timing-function:ease;
	animation-fill-mode:forwards;*/
}

.works-display .page-cover .caption.animate {
	bottom:0;
	opacity:1;
}

@keyframes work-title {
	0% { bottom:-105px; opacity:0; }
	100% { bottom:0; opacity:1; }
}

.works-display .page-cover .caption header {
	overflow:hidden;
	position:relative;
	margin:0 auto;
	padding:0 60px;
	height:112px;
	max-width:680px;
	/*transition:padding 0.3s ease;*/
}

.works-display .page-cover .caption header h1 {
	font-weight:bold;
	font-size:24px;
	line-height: 28px;
}

/*.works-display .page-cover .caption header p {*/
/*	!*height:25px;*!*/
/*	font-size:13px;*/
/*	font-weight:500;*/
/*	!*transition-property:opacity, height;*/
/*	transition-duration:0.3s;*/
/*	transition-timing-function:ease;*!*/
/*}*/

.works-display .page-cover .caption header .bottom {
	margin-top: 5px;
	height: 25px;
	transition-property: margin-top, height, opacity;
	transition-duration: 0.7s;
}

.works-display .page-cover .caption.is-stuck header .bottom {
	margin-top:0;
	height:0;
	opacity:0;
}

.works-display .page-cover .caption header .bottom a {
	display: block;
	transform: rotate(-90deg);
}

.works-display .page-cover .caption header .bottom svg {
	width:15px;
}

.works-display .page-cover .caption header .nav {
	display:block;
	position:absolute;
	top:50%;
	margin:-14px 0 0;
	/*font-size:48px;*/
	text-align:center;
	color:inherit;
}

.works-display .page-cover .caption header .nav.prev {
	left:60px;
}

.works-display .page-cover .caption header .nav.next {
	right:60px;
}

.works-display .page-cover .caption header .nav svg {
	width:15px;
}

.works-display .page-cover .caption header .nav.next svg {
	transform:rotate(180deg);
}

.works-display .page-cover .caption header .nav svg polygon {
	fill:currentColor;
}

.works-display .page-cover .caption.is-stuck {
	position:fixed !important;
	top:0 !important;
	bottom:auto !important;
	z-index:20;
	/*opacity:1;*/
	/*animation-fill-mode:none;*/
}

.clients-display .page-cover .caption {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	text-align:left;
	padding:25px 90px;
	color:#fff;
	/*transition:background-color 0.3s ease;*/
	z-index:11;
}

.clients-display .page-cover .caption h1 {
	/*font-family:'Montserrat', sans-serif;*/
	font-family:'Playfair Display', serif;
	font-size:27px;
	line-height:32px;
}

.clients-display .page-cover .caption p {
	margin:10px 0 0;
	/*font-family:'Montserrat', sans-serif;*/
	font-size:12px;
	text-transform:uppercase;
}

.clients-display .page-cover .caption.black {
	animation:clients-caption-black 1.5s 0.4s ease forwards;
}

@keyframes clients-caption-black {
	0% { background-color:rgba(0, 0, 0, 0); }
	100% { background-color:rgba(0, 0, 0, .075); }
}

.clients-display .page-cover .caption.black h1,
.clients-display .page-cover .caption.black p {
	color:#000;
}

.clients-display .page-cover .caption.black svg polygon {
	fill:#000;
}

.clients-display .page-cover .caption.white {
	animation:clients-caption-white 1.5s 0.3s ease forwards;
}

@keyframes clients-caption-white {
	0% { background-color:rgba(255, 255, 255, 0); }
	100% { background-color:rgba(255, 255, 255, .075); }
}

.clients-display .page-cover .caption.white h1,
.clients-display .page-cover .caption.white p {
	color:#fff;
}

.clients-display .page-cover .caption.white svg polygon {
	fill:#fff;
}

.clients-display .page-cover img {
	max-width:480px;
}

.page-body-text {
	padding:75px 0;
	background-color:#fff;
}

.page-body-text .html-content {
	color:#a2a2a2;
}

.page-body-text .html-content b,
.page-body-text .html-content strong {
	color:#000;
}

.page-body-text.v2 {
	padding:160px 90px 135px;
}

.page-body-text.v2 h1,
.page-body-text.v2 h2 {
	font-size:34px;
	line-height: 40px;
	font-weight:bold;
}

.page-body-text.v2 .html-content,
.page-body-text.v3 .html-content {
	margin:15px 0 0;
	max-width: 980px;
	font-size:18px;
	line-height:26px;
}

.page-body-text.v3 {
	padding:90px;
}

.page-body-text.v3 h2,
.page-body-text.v3 p {
	/*font-family:'Montserrat Bold', sans-serif;*/
	font-weight:bold;
}

.page-body-text.v3 h2 {
	font-size:34px;
	line-height: 40px;
}

.page-body-text.v3 p {
	margin:5px 0 0;
	max-width: 980px;
	font-size:24px;
	line-height: 28px;
}

.page-body-text.v4 {
	padding:0;
	background-color:inherit;
}

.page-body-text.v4 h1 {
	position:relative;
	padding:40px 0 35px;
	/*font-family:'Montserrat Bold', sans-serif;*/
	font-weight:bold;
	font-size:23px;
	text-align:center;
}

.page-body-text.v4 .html-content {
	margin:0;
	padding:0 0 35px;
	text-align:center;
	color:inherit;
}

.page-next {
	position:relative;
	width:100%;
	height:280px;
}

.page-next .caption {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-align:center;
	color:#fff;
	z-index:10;
}

.page-next .caption a {
	color:#fff;
}

.page-next .caption header p {
	/*font-family:'Playfair Display Italic', serif;*/
	font-family:'Playfair Display', serif;
	font-style:italic;
	font-size:17px;
}

.page-next .caption header h1 {
	margin:20px 0 0;
	/*font-family:'Montserrat Bold', sans-serif;*/
	font-weight:bold;
	font-size:21px;
	text-transform:uppercase;
}

.about .page-text {
	position:relative;
	color:#fff;
	background-color:#a754f7;
}

.about .page-text .col {
	min-height: 300px;
}

.about .page-text .col:first-child,
.about .page-text .col-right:first-child {
	padding:90px;
}

.about .page-text header h2 {
	font-weight:bold;
	font-size:34px;
	line-height:40px;
}

.about .page-text .html-content {
	margin:30px 0 0;
	font-size:18px;
	line-height:26px;
}

.about .page-text .page-text-image {
	overflow:hidden;
	position:absolute;
	top:0;
	left:50%;
	right:0;
	bottom:0;
}

.about .page-text.rtl .page-text-image {
	left:0;
	right:50%;
}

.about .page-statements {
	/*padding:90px;*/
	overflow:hidden;
	background-color:#fff;
}

.about .page-statements-list {
	display:flex;
	flex-wrap:wrap;
}

.about .page-statements ul li {
	position:relative;
	transition:background-color 0.3s ease;
}

.about .page-statements ul li:nth-child(3n + 1) {
	padding:90px 60px 90px 90px;
	clear:both;
}

.about .page-statements ul li:nth-child(3n + 2) {
	padding:90px 75px;
}

.about .page-statements ul li:nth-child(3n + 2):after {
	content:"";
	position:absolute;
	top:0;
	right:-1px;
	bottom:0;
	width:1px;
	background-color: inherit;
}

.about .page-statements ul li:nth-child(3n + 3) {
	padding:90px 90px 90px 60px;
}

.about .page-statements ul li h2 {
	font-weight:bold;
	font-size:34px;
	line-height: 40px;
}

.about .page-statements ul li h2 span {
	color:#bfbfbf;
}

.about .page-statements ul li .html-content {
	margin:20px 0 0;
	font-size:18px;
	line-height:26px;
}

.about .page-clients {
	padding:0 90px 80px;
	background-color:#fff;
}

.about .page-clients .logo-item {
	margin:0 auto;
	width:100%;
	max-width:270px;
	padding:10px;
}

.page-links .col {
	position:relative;
	overflow:hidden;
}

.page-links .page-link {
	 position:relative;
	 overflow:hidden;
 }

.page-links img {
	position:absolute;
	top:0;
	left:0;
}

.page-links a {
	display:block;
	position:relative;
	padding:0 90px;
	width:100%;
	height:480px;
	text-align:center;
	z-index:10;
	transition:opacity 0.3s ease;
}

.page-links a .border {
	align-content: center;
	display:inline-block;
	width:280px;
	height:280px;
	border:8px solid;
	font-weight:bold;
	font-size:37px;
	border-radius:140px;
	transition:height 0.3s ease,
			   border-radius 0.3s ease,
			   padding 0.3s ease;
}

.page-links a .border span {
	display:block;
	margin:0 0 3px;
	font-family:'Playfair Display', serif;
	font-style:italic;
	font-size:13px;
}

.page-links a:hover {
	opacity:.9;
}

.page-links a:hover .border {
	height:160px;
	border-radius:0;
}

.news-display .page-link a {
	color:#ff0010;
	background-color:rgba(255, 255, 255, 1);
}

.clients {
	background:no-repeat center center;
	background-size:cover;
}

.clients-placeholder {
	width:100%;
	height:170px;
}

.clients-list {
	padding:0 90px 150px;
}

.clients-list h1 {
	font-family:'Playfair Display', serif;
	font-style:italic;
	font-size:20px;
	color:#aca990;
}

.clients-list ul li + li {
	margin:30px 0 0;
}

.clients-list ul li a {
	/*font-family:'Montserrat', sans-serif;*/
	font-family:'Playfair Display', serif;
	font-size:41px;
	font-weight:500;
	color:#fff;
	opacity:.5;
	transition:opacity 0.3s ease;
}

.clients-list ul li a:hover {
	opacity:1 !important;
}

.news .blocks {
	padding:45px 0 90px;
	background-color:#eee;
}

.blocks-list {
	margin:0 -15px;
}

.blocks-list .item {
	padding:15px;
}

.blocks-list article:nth-child(3n + 4) {
	clear:left;
}

.blocks-list .item .text {
	padding:15px 20px 20px;
	/*border:1px solid #ebebeb;*/
	border-top:none;
	color:#000;
	background-color:#fff;
	transition:background-color 0.3s ease;
}

.blocks-list .item a:hover .text {
	background-color:#fff;
}

.blocks-list .item .text h1 {
	font-size:24px;
	font-weight:bold;
	line-height:28px;
}

.blocks-list .item .text .lead {
	margin:10px 0 0;
	font-size:12px;
	line-height:14px;
}

.contacts .google-maps {
	width:100%;
	height:480px;
}

.contacts .block-text {
	background-color:#fff;
}

.contacts .page-text {
}

.contacts .page-text.right {
	padding:60px 90px 60px 45px;
}

.contacts .page-text.left {
	padding:60px 45px 60px 90px;
}

.contacts .page-text .page-text-item + .page-text-item {
	margin:50px 0 0;
}

.contacts .page-text .page-text-item h2 {
	margin:0 0 10px;
	font-size:34px;
	line-height: 40px;
	font-weight: bold;
	color:#000;
}

.contacts .page-text .page-text-item .html-content {
	font-size:18px;
	line-height:26px;
	color:#58595b;
}

.form-row {
	padding-top:6px;
	padding-bottom:6px;
}

.form-row:last-child {
	text-align:right;
}

.form-col {
	padding-right:6px;
}

.form-col + .form-col {
	padding-right:0;
	padding-left:6px;
}

.form-input {
	height:40px;
	padding:0 10px;
}

.form-textarea {
	padding:10px;
	min-height:150px;
	resize:vertical;
}

.form-input,
.form-textarea {
	width:100%;
	border:none;
	color:#6d6e70;
	background-color:#eee;
	font-size:12px;
	line-height: 14px;
	transition:background-color .3s ease;
}

.form-checkbox {
	display:block;
	position:relative;
	padding-left:35px;
	margin-bottom:12px;
	cursor:pointer;
	font-size: 22px;
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
}

.form-checkbox-input {
	position:absolute;
	opacity:0;
	cursor:pointer;
	height:0;
	width:0;
}

.form-checkbox-check {
	position:absolute;
	top:0;
	left:0;
	height:25px;
	width:25px;
	background-color:#eee;
	transition:background-color .3s ease;
}

.form-checkbox-input:checked ~ .form-checkbox-check:after {
	display:block;
}

.form-checkbox-check:after {
	content:"";
	position:absolute;
	display:none;
}

.form-checkbox-check:after {
	left:9px;
	top:5px;
	width:5px;
	height:10px;
	border:solid #58595b;
	border-width:0 3px 3px 0;
	transform:rotate(45deg);
}

.form-checkbox-text {
	font-size:12px;
	line-height: 14px;
	color:#808184;
}

.form-input.hook--error,
.form-textarea.hook--error,
.form-checkbox-input.hook--error ~ .form-checkbox-check {
	background-color:#ffdddd;
}

.form-submit {
	height:44px;
	padding:0 24px;
	font-size:12px;
	font-weight:bold;
	border:1px #58595b solid;
	color:#58595b;
	background-color:#fff;
	transition:color .3s ease, background-color .3s ease;
}

.form-submit:hover {
	color:#fff;
	background-color:#58595b;
}


/* ------------------------- */
/* 5. Footer
/* ------------------------- */

#footer {
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	background-color:#000;
}

#footer .sitemap {
	padding:85px 180px 50px;
}

#footer .logo svg {
	width:80px;
	height:80px;
}

#footer .sitemap .item {
	text-align:center;
	/*font-family:'Montserrat', sans-serif;*/
	font-size:14px;
	letter-spacing:1px;
}

#footer .sitemap .col:nth-child(1) .item {
	text-align:left;
}

#footer .sitemap .col:nth-child(2) .item {
	padding:0 50px 0 0;
}

#footer .sitemap .col:nth-child(3) .item {
	padding:0 0 0 50px;
}

#footer .sitemap .col:nth-child(4) .item {
	text-align:right;
}

#footer .sitemap .item .item-wrapper {
	display:inline-block;
	text-align:left;
}

#footer .sitemap .item,
#footer .sitemap .item a {
	color:#979797;
	transition:color .3s ease;
}

#footer .sitemap .item a:hover {
	color:#fff;
}

#footer .sitemap .item h3 {
	margin:0 0 12px;
	font-weight:bold;
	font-size:14px;
	text-transform:uppercase;
	color:#fff;
}

#footer .sitemap .item ul li + li {
	margin:12px 0 0;
}

#footer .sitemap .item .html-content {
	margin:-6px 0 0;
	line-height:29px;
	font-family:'Montserrat', sans-serif;
}

#footer .sitemap .item ul.social {
	font-size:16px;
}

#footer .sitemap .item ul.social li + li {
	margin:0 0 0 12px;
}

#footer .bar {
	border-top:1px solid #2b2b2b;
	padding:25px 180px;
}

#footer .bar .copyright {
	font-family:'Playfair Display', serif;
	font-size:12px;
	color:#979797;
}

.cookies-msg {
	position:fixed;
	bottom:0;
	left:0;
	right:0;
	padding:25px 180px;
	color:#414042;
	background-color:#e6e7e8;
	z-index:999;
}

.cookies-msg .container {
	width:100%;
	position:relative;
}

.cookies-msg .text {
	padding-right:40px;
	/*font-family:'Montserrat', sans-serif;*/
	font-size:12px;
}

.cookies-msg .close {
	position:absolute;
	top:50%;
	right:0;
	color:inherit;
	font-size:24px;
	transform:translate(0, -50%);
}

.cookies-msg .close .link {
	display:block;
	transform:rotate(45deg);
}

/* Animations */

.hook-anim-item,
.about .page-statements ul li {
	transform:translate(0, 90px);
	opacity:0;
	transition-property:transform, opacity;
	transition-duration:1.5s;
	transition-timing-function:cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

.hook-anim-word {
	/*transform:translate(0, 45px);*/
	display:inline-block;
	transform:rotateX(90deg);
	opacity:0;
	transition-property:transform, opacity;
	transition-duration:1.2s;
	transition-timing-function:cubic-bezier(0.165, 0.840, 0.440, 1.000);
	transform-origin: center center 0;
    transform-style: preserve-3d;
}

.about .page-text .html-content {
	transition-delay:0.1s;
}

.hook-anim-item.animate,
.grid .grid-item .grid-item-content.animate,
.blocks-list .item.animate,
.about .page-statements ul li.animate,
.hook-anim-word.animate {
	transform:rotate(0deg);
	opacity:1;
}

.grid .grid-item .grid-item-content,
.blocks-list .item {
	transform:translate(0, 250px);
	opacity:0;
	transition-property:transform, opacity;
	transition-duration:1.2s;
	transition-timing-function:ease;
}

.about .page-clients ul li {
	opacity:0;
	transition-property:opacity;
	transition-duration:1.2s;
	transition-timing-function:ease;
}

.about .page-clients ul li.animate {
	opacity:1;
}

/* ------------------------- */
/* 6. Mobile only 
/* ------------------------- */

.mobile #header.transparent-white:hover {
	background-color:transparent;
}

.mobile #header.transparent-black:hover {
	background-color:transparent;
	border-bottom:none;
}

/*
.mobile .grid .grid-item .grid-item-content .caption {
	opacity:1;
}
*/

/* ------------------------- */
/* 7. Make responsive 
/* ------------------------- */

@media all and (max-width: 1440px) {
	.grid .grid-item,
	.grid .grid-sizer {
		width:50%;
	}

	.grid .grid-item {
		padding-bottom:50%;
	}

	.grid .grid-item.size-horz {
		width:50%;
		padding-bottom:25%;
	}
}

@media all and (max-width: 1366px) {
	#footer .sitemap .item,
	#footer .sitemap .col:nth-child(4) .item {
		text-align:left;
	}
}

@media all and (max-width: 1279px) {
	#footer .sitemap {
		padding:35px 90px 50px;
	}

	#footer .sitemap .col {
		padding:0 25px 0 0;
	}

	#footer .bar,
	.cookies-msg {
		padding:25px 90px;
	}
}

@media all and (max-width: 1024px) {
	.wrapper {
		padding:0 50px;
	}

	#header {
		padding:15px 50px 11px;
	}

	#header nav,
	#particles-data .pagination-navigation {
		right:50px;
	}

	.icons-list {
		padding:80px 50px;
		margin:0 -30px;
	}

	.icons-list-item {
		padding:30px;
	}

	.carousel {
		padding:80px 50px;
		margin:0;
	}

	.grid-header {
		padding:80px 50px;
	}

	.featured .item .caption,
	.featured-slideshow .item .caption {
		padding:20px 50px;
	}

	.grid .grid-nav {
		padding:25px 50px;
	}

	.banner,
	.page-header.small,
	.page-links a,
	.banner-slideshow .slide,
	.page-header,
	.contacts .google-maps {
		height:450px;
	}

	.banner-slideshow .slide .caption {
		padding:0 50px;
	}

	.works-display .page-cover .caption header {
		max-width:660px;
	}

	.works-display .page-cover .caption header .nav.prev {
		left:65px;
	}

	.works-display .page-cover .caption header .nav.next {
		right:65px;
	}

	.images-nav-wrapper {
		right:50px;
	}

	.page-header .caption {
		padding:0 50px;
	}

	.about .page-text .col:first-child,
	.about .page-text .col-right:first-child {
		padding:50px;
	}

	.about .page-clients {
		padding:0 50px 80px;
	}

	.page-links a {
		padding:0 50px;
		height:450px;
	}

	.clients-list {
		padding:0 50px 150px;
	}

	.clients-display .page-cover .caption {
		padding:25px 50px;
	}

	.page-body-text.v2 {
		padding:160px 50px 135px;
	}

	.page-body-text.v3 {
		padding:90px 50px;
	}

	.blocks-list {
		margin:0 -10px;
	}

	.blocks-list .item {
		padding:10px;
	}

	.slideshow .nav.prev {
		left:25px;
	}

	.slideshow .nav.next {
		right:25px;
	}

	.contacts .page-text.right,
	.contacts .page-text.left {
		padding:50px;
	}

	#footer .sitemap {
		padding:35px 50px 50px;
	}

	#footer .sitemap .col:nth-child(2) .item {
		padding:0 25px 0 0;
	}

	#footer .sitemap .col:nth-child(3) .item {
		padding:0 0 0 25px;
	}

	#footer .bar,
	.cookies-msg {
		padding:25px 50px;
	}

	/*.grid .grid-item .grid-item-content:hover .caption {*/
	/*	opacity:0;*/
	/*}*/
}

@media all and (max-width: 1023px) {
	.wrapper {
		padding:0 30px;
	}

	#header {
		padding:15px 30px 11px;
	}

	#header nav {
		right:30px;
	}

	#header nav ul li + li {
		margin-left:20px;
	}

	.icons-list {
		padding:80px 30px;
	}

	.carousel,
	.grid-header {
		padding:80px 30px;
	}

	#particles-data .pagination-navigation {
		right:30px;
	}

	.featured .item .caption {
		padding:20px 30px;
	}

	.banner,
	.banner-slideshow .slide .caption {
		padding:0 30px;
	}

	.grid .grid-nav {
		padding:25px 30px;
	}

	.grid .grid-item.size-horz {
		width:100%;
	}

	.grid .grid-item.size-horz {
		padding-bottom:50%;
	}

	/*.grid .grid-item .grid-item-content {*/
	/*	position:relative;*/
	/*}*/

	.images-nav-wrapper {
		position:fixed;
		right:30px;
		bottom:0;
	}

	.page-header .caption {
		padding:0 30px;
	}

	.about .page-text .col:first-child,
	.about .page-text .col-right:first-child {
		padding:50px 30px;
	}

	.about .page-text .page-text-image {
		position:static;
		left:0;
		width:100%;
	}

	.about .page-text .page-text-image img {
		position:static !important;
		width:100% !important;
		height:auto !important;
		margin:0 !important;
	}

	.about .page-statements ul li {
		min-height:0;
	}

	.about .page-statements ul li:nth-child(3n + 1),
	.about .page-statements ul li:nth-child(3n + 2),
	.about .page-statements ul li:nth-child(3n + 3) {
		padding:50px 30px;
	}

	.about .page-statements ul li:hover {
		background-color:transparent;
	}

	.about .page-clients {
		padding:0 30px 80px;
	}

	.about .page-clients .logo-item {
		padding:25px 10px;
	}

	.clients-list {
		padding:0 30px 150px;
	}

	.clients-display .page-cover .caption {
		padding:25px 30px;
	}

	.page-body-text.v2 {
		padding:160px 30px 135px;
	}

	.page-body-text.v3 {
		padding:90px 30px;
	}

	.blocks-list article:nth-child(3n + 4) {
		clear:none;
	}

	.blocks-list article:nth-child(2n + 3) {
		clear:left;
	}

	.slideshow .nav.prev {
		left:5px;
	}

	.slideshow .nav.next {
		right:5px;
	}

	.contacts .page-text.right,
	.contacts .page-text.left {
		padding:50px 30px;
	}

	#footer .sitemap {
		padding:35px 30px 50px;
	}

	#footer .bar,
	.cookies-msg {
		padding:25px 30px;
	}
}

@media all and (max-width: 767px) {
	main {
		margin:0;
		box-shadow:none;
	}

	.wrapper {
		padding:0 25px;
	}

	#header {
		padding:15px 25px 11px;
	}

	#header .logo svg,
	#footer .logo svg {
		width:75px;
		height:75px;
	}

	#header.transparent-black.open .color-change,
	#header.opaque-black.open .color-change,
	#header.sticky-black.open .color-change {
		color:#fff;
	}

	#header.transparent-black.open .bgcolor-change,
	#header.opaque-black.open .bgcolor-change,
	#header.sticky-black.open .bgcolor-change {
		background-color:#fff;
	}

	#header.transparent-black.open .fill-change,
	#header.opaque-black.open .fill-change,
	#header.sticky-black.open .fill-change {
		fill:#fff;
	}

	#header.transparent-black.open .stroke-change,
	#header.opaque-black.open .stroke-change,
	#header.sticky-black.open .stroke-change {
		stroke:#fff;
	}

	#header.transparent-white.open {
		background-color:transparent;
	}

	#header.transparent-black.open {
		background-color:transparent;
		border-bottom:none;
	}

	#header nav {
		top:45px;
		right:25px;
	}

	.icons-list {
		padding:50px 0;
		margin:0;
	}

	.icons-list-item {
		padding:25px;
	}

	.icons-list-figure {
		margin-bottom:25px;
	}

	.carousel,
	.grid-header {
		padding:60px 25px;
	}

	.carousel-container {
		margin-top:60px;
	}

	.carousel-item {
		padding:0 10px;
	}

	.carousel-text {
		padding:80px 40px 40px;
	}

	.carousel-quotes {
		top:40px;
	}

	#particles-data .pagination-navigation {
		right:25px;
	}

	#header nav .menu-wrapper {
		position:fixed;
		overflow-y:scroll;
		top:-10px;
		bottom:0;
		left:0;
		right:0;
		background-color:#000;
	}

	#header nav ul {
		padding:150px 0 100px;
	}

	#header nav ul li {
		display:block;
		width:100%;
		padding:0 25px;
		text-align:left;
	}

	#header nav ul li + li {
		margin:20px 0 0;
	}

	#header nav ul li a {
		font-size:24px;
	}

	#header nav ul li a:not(.lang) {
		text-transform:none;
	}

	#header nav .social {
		display:block;
		padding:0 25px 80px;
	}

	#header nav .social ul {
		padding:20px 0 0;
		border-top:1px #58595b solid;
	}

	#header nav .social ul li {
		display:inline-block;
		width:auto;
		padding:0;
	}

	#header nav .social ul li + li {
		margin:0 0 0 5px;
	}

	#header nav .social ul a {
		display:inline-block;
		width:30px;
		height:30px;
		text-align:center;
		color:#8a8a91;
	}

	.featured .item,
	.featured-slideshow .item {
		display:flex;
		width:100%;
		height:auto;
		min-height:80svh;
	}

	.featured .item.video video,
	.featured .item.image img,
	.featured-slideshow .item.video video,
	.featured-slideshow .item.image img {
		position:absolute;
		top:0;
		left:0;
		opacity:1;
	}

	.featured .item .caption,
	.featured-slideshow .item .caption {
		position:relative;
		padding:110px 25px;
		height:auto;
	}

	#particles-data .subheader {
		margin:15px 0 0;
	}

	.featured .item .caption h2,
	.featured-slideshow .item .caption h2 {
		margin:35px 0 0;
	}

	.banner,
	.banner-slideshow .slide .caption {
		padding:0 25px;
	}

	.clients-display .page-cover {
		padding:0 0 105px;
		height:600px;
	}

	.banner,
	.page-header.small,
	.banner-slideshow .slide,
	.page-header {
		height:400px;
	}

	.page-cover {
		min-height:370px;
	}

	.contacts .google-maps {
		height:280px;
	}

	.page-links a {
		padding:0 25px;
		height:370px;
	}

	.grid .grid-item .grid-item-content .caption {
		padding:20px;
	}

	.grid .grid-item .grid-item-content .caption::after,
	.grid .grid-item .grid-item-content .caption::before {
		bottom:20px;
		right:20px;
	}

	.grid .grid-nav {
		padding:25px;
		text-align:center;
	}

	.grid .grid-nav .col + .col {
		margin:15px 0 0;
		text-align:center;
	}

	.grid .grid-nav ul {
		padding:0;
	}

	.grid .grid-nav ul li,
	.grid .grid-nav ul li + li {
		margin:5px 10px;
	}

	.works-display .page-cover {
		overflow:hidden;
		height:100svh;
	}

	.works-display .page-cover .image-cover {
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		background:no-repeat center center;
		background-size:cover;
	}

	.works-display .page-cover .caption,
	.works-display .page-cover .caption.animate {
		bottom:0;
		left:0;
		opacity:1;
		animation:none;
	}

	.works-display .page-cover .caption header {
		padding:20px 25px;
		height:auto;
	}

	.works-display .page-cover .caption header .nav.prev {
		left:25px;
	}

	.works-display .page-cover .caption header .nav.next {
		right:25px;
	}

	.images-gallery .grid-item,
	.images-gallery .grid-sizer {
		width:100%;
	}

	.images-gallery .grid-item {
		padding-bottom:63.77%;
	}

	.images-nav-wrapper {
		display:none;
	}

	.page-header .caption {
		padding:0 25px;
	}

	.about .page-text .col:first-child,
	.about .page-text .col-right:first-child {
		padding:40px 25px;
	}

	.about .page-statements ul li:nth-child(3n + 1),
	.about .page-statements ul li:nth-child(3n + 2),
	.about .page-statements ul li:nth-child(3n + 3) {
		padding:50px 25px;
	}

	.about .page-statements ul li .html-content {
		margin:15px 0 0;
	}

	.about .page-clients {
		padding:0 25px 60px;
	}

	.clients-placeholder {
		height:130px;
	}

	.clients-list {
		padding:0 25px 80px;
	}

	.clients-list ul li + li {
		margin:20px 0 0;
	}

	.clients-display .page-cover .caption {
		padding:20px 25px;
		background-color:rgba(0, 0, 0, .075);
	}

	.page-body-text.v2 {
		padding:115px 25px;
	}

	.page-body-text.v3 {
		padding:90px 25px;
	}

	.slideshow .nav.prev {
		left:0;
	}

	.slideshow .nav.next {
		right:0;
	}

	.contacts .page-text.right,
	.contacts .page-text.left {
		padding:40px 25px;
	}

	.form-col {
		padding-right:0;
	}

	.form-col + .form-col {
		padding-top:12px;
		padding-left:0;
	}

	#footer {
		position:relative;
	}

	#footer .sitemap {
		padding:50px 25px;
	}

	#footer .sitemap .col:nth-child(3) {
		clear:left;
	}

	#footer .sitemap .col:nth-child(1) .item {
		padding:0 25px 25px 0;
	}

	#footer .sitemap .col:nth-child(2) .item {
		padding:0 0 25px 25px;
	}

	#footer .sitemap .col:nth-child(3) .item {
		padding:25px 0 25px;
	}

	#footer .sitemap .col:nth-child(4) .item {
		padding:25px 0 0 25px;
	}

	#footer .bar,
	.cookies-msg {
		padding:25px;
	}

	#footer .bar .copyright {
		padding:20px 0 0;
		text-align:center;
	}

	#footer .bar .social {
		text-align:center;
	}
}

@media all and (max-width: 567px) {
	.blocks-list article:nth-child(3n + 4),
	.blocks-list article {
		clear:left;
	}

	.about .page-clients ul li + li {
		margin-top:25px;
	}
}

@media all and (max-width: 479px) {
	.wrapper {
		padding:0 15px;
	}

	#header {
		padding:15px 15px 11px;
	}

	#header nav ul li {
		padding:0 15px;
	}

	#header nav .social {
		padding:0 15px 80px;
	}

	#header nav,
	#particles-data .pagination-navigation {
		right:15px;
	}

	.icons-list-item {
		padding:30px 15px;
	}

	.icons-list-figure {
		margin-bottom:20px;
	}

	.carousel {
		padding:60px 15px;
		margin:0 -10px;
	}

	.grid-header {
		padding:60px 15px;
	}

	.carousel-title,
	.grid-title {
		font-size:32px;
	}

	.carousel-container {
		margin-top:60px;
	}

	.carousel-item {
		padding:0 10px;
	}

	.carousel-text {
		padding:80px 25px 40px;
	}

	.featured .item .caption,
	.featured-slideshow .item .caption {
		padding:110px 15px;
	}

	.banner,
	.banner-slideshow .slide .caption {
		padding:0 15px;
	}

	.clients-display .page-cover {
		height:568px;
	}

	.page-links a {
		padding:0 15px;
	}

	.grid .grid-nav {
		padding:15px;
	}

	.works-display .page-cover .caption header {
		padding:20px 50px;
	}

	.works-display .page-cover .caption header .nav.prev {
		left:15px;
	}

	.works-display .page-cover .caption header .nav.next {
		right:15px;
	}

	.page-header .caption {
		padding:0 15px;
	}

	.about .page-text .col:first-child,
	.about .page-text .col-right:first-child {
		padding:40px 15px;
	}

	.about .page-statements ul li:nth-child(3n + 1),
	.about .page-statements ul li:nth-child(3n + 2),
	.about .page-statements ul li:nth-child(3n + 3) {
		padding:50px 15px;
	}

	.about .page-clients {
		padding:0 15px 60px;
	}

	.clients-list {
		padding:0 15px 80px;
	}

	.clients-display .page-cover .caption {
		padding:20px 15px;
	}

	.slideshow .nav {
		padding:15px;
	}

	.page-body-text.v2 {
		padding:115px 15px;
	}

	.page-body-text.v3 {
		padding:90px 15px;
	}

	.contacts .page-text.right,
	.contacts .page-text.left {
		padding:40px 15px;
	}

	#footer {
		position:relative;
	}

	#footer .sitemap {
		padding:50px 15px;
	}

	#footer .sitemap .col {
		clear:left;
	}

	#footer .sitemap .col:nth-child(1) .item,
	#footer .sitemap .col:nth-child(2) .item,
	#footer .sitemap .col:nth-child(3) .item,
	#footer .sitemap .col:nth-child(4) .item {
		padding:25px 0;
	}

	#footer .bar,
	.cookies-msg {
		padding:15px;
	}
}