/********************************
	Developed by AXA Studios
	The Creative Engine
	http://www.axastudios.com
*********************************/

:root {
	--main-color: #172437;
	--dark-main-color: #0a121d;

	--sub-color: #eb3c42;

	--bg-color: #f8f8f8;
	--light-bg-color: #f6f6f6;

	--text-color: #57616e;
	--light-text-color: #bdc0c5;

	--dark-grey-color: #888b8f;
	--grey-color: #b5b5b5;
	--light-grey-color: #f6f6f6;

	--border-color: #f2f2f2;
	--dark-border-color: #E5E5E5;
/*	--label-color: #b5b5b5;*/
	--label-color: #57616e;
	--input-bg-color: #f2f2f2;
    --input-focus-color: #E5E5E5;

	--black-color: #000000;
	--white-color: #ffffff;
	--white-alpha-color: rgba(255, 255, 255, 0.48);

	--red-color: #e93a3a;
	--green-color: #3ebd00;
	--blue-color: #276fff;

	--main-shadow: 0px 8px 24px rgba(0, 0, 0, 0.16);

	--main-gradient-dark: linear-gradient(to bottom, #172437 0%, #0a121d 100%);

	--doc-height: 100%;

	--xxs-pad: 4px;
	--xs-pad: 8px;
	--sm-pad: 12px;
	--mid-pad: 16px;
	--main-pad: 24px;
	--med-pad: 32px;
	--lg-pad: 48px;
	--xl-pad: 56px;
	--xxl-pad: 72px;

	--xs-neg: -8px;
	--sm-neg: -12px;
	--mid-neg: -16px;
	--main-neg: -24px;
	--lg-neg: -48px;

	--main-radius: 9px;
	--input-radius: 7px;

	--sm-font: 14px;
	--main-font: 16px;
	--lg-font: 18px;
	--input-font: 14px;
	--button-font: 14px;

	--sm-icon-font: 14px;
	--icon-font: 16px;
	--mid-icon-font: 24px;
	--main-icon-font: 32px;
	--lg-icon-font: 48px;
	--xl-icon-font: 56px;
}

@font-face {
	font-family: "Euclid";
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url("../webfonts/EuclidCircularA-Light.ttf") format("truetype"),
		url("../webfonts/EuclidCircularA-Light.woff2") format("woff2");
}
@font-face {
	font-family: "Euclid";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../webfonts/EuclidCircularA-Regular.ttf") format("truetype"),
		url("../webfonts/EuclidCircularA-Regular.woff2") format("woff2");
}
@font-face {
	font-family: "Euclid";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../webfonts/EuclidCircularA-Medium.ttf") format("truetype"),
		url("../webfonts/EuclidCircularA-Medium.woff2") format("woff2");
}
@font-face {
	font-family: "Euclid";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../webfonts/EuclidCircularA-Semibold.ttf") format("truetype"),
		url("../webfonts/EuclidCircularA-Semibold.woff2") format("woff2");
}
@font-face {
	font-family: "Euclid";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../webfonts/EuclidCircularA-Bold.ttf") format("truetype"),
		url("../webfonts/EuclidCircularA-Bold.woff2") format("woff2");
}

/* MAIN STYLES *****************************/

html {
	overflow-y: scroll;
	margin: 0;
	padding: 0;
	/*	scroll-behavior: auto!important;*/
	scroll-behavior: smooth !important;
}
body {
	margin: 0;
	padding: 0;
	background: #ffffff;
	background: var(--white-color);
	font-family: "Euclid", Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--main-color);
	font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: subpixel-antialiased;
}

/* TEXT & LINK STYLES *****************************/

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
	margin: 0px;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
}
h1 {
	font-size: 64px;
	font-weight: 700;
	letter-spacing: 4px;
	line-height: 1.1;
	text-transform: uppercase;
	margin-bottom: var(--xxs-pad);
}
h2 {
	font-size: 40px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: var(--xxs-pad);
}
h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-bottom: var(--xxs-pad);
}
h4 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: var(--xs-pad);
}

/*
.sub-title{
	font-size: 15px;
	text-transform: uppercase;
	margin-bottom: var(--xs-pad);
	letter-spacing: 1px;
}
*/

p {
	margin: 0px 0px var(--main-pad) 0px;
}
a {
	color: var(--text-color);
	text-decoration: underline;
	text-decoration: none;
	outline: 0 !important;
	transition: color 0.2s ease;
}
a:hover,
a:focus {
	color: var(--sub-color);
	text-decoration: none;
	transition: color 0.3s ease-out;
}
a img {
	border: none;
	outline: 0;
}

:focus {
	-moz-outline-style: none;
	outline: 0;
}
:focus {
	-moz-outline-style: none;
}
::selection {
	background-color: #333333;
	color: #fff;
}
::-moz-selection {
	background-color: #333333;
	color: #fff;
}
img {
	max-width: 100%;
	/*
	height: auto;
*/
}
input:focus,
button:focus {
	outline: none;
}
.no-mob {
}

.show-mob {
	display: none;
}

/* BUTTON STYLES *****************************/

.button,
.button:visited,
a.button,
a.button:visited {
	position: relative;
	display: inline-block;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	color: var(--white-color);
	line-height: var(--main-pad);
	font-size: var(--button-font);
	font-weight: 600;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	padding: var(--sm-pad) var(--med-pad);
	box-shadow: none;
	outline: none;
	border-radius: var(--main-radius);
	border: none;
	background: var(--sub-color);
	transition: all 0.2s ease;
}
.button:hover,
.button:active,
.button:focus,
a.button:hover,
a.l-btn:active,
a.button:focus {
	color: var(--white-color);
	background: var(--grey-color);
	box-shadow: none;
	transition: all 0.4s ease;
}
/*
.l-btn:before,
.w-btn:before,
.clear-btn:before {
	display: none;
}
*/

.l-btn,
.l-btn:visited,
a.l-btn,
a.l-btn:visited {
	color: var(--main-color);
	padding: 11px var(--main-pad);
	border: 1px solid var(--border-color);
	min-width: 120px;
	background: none;
	transition: all 0.2s ease;
}
.l-btn:hover,
.l-btn:active,
.l-btn:focus,
a.l-btn:hover,
a.l-btn:active,
a.l-btn:focus {
	background: none;
	color: var(--sub-color);
	border: 1px solid var(--sub-color);
	transition: all 0.4s ease;
}

.white-button,
.white-button:visited,
a.white-button,
a.white-button:visited {
	position: relative;
	display: flex;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	color: var(--main-color);
	background: var(--white-color);
	line-height: var(--mid-pad);
	font-size: var(--button-font);
	font-weight: 600;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	padding: var(--sm-pad) var(--main-pad);
	box-shadow: none;
	outline: none;
	border-radius: 20px;
	border: none;
	min-width: 120px;
	transition: all 0.2s ease;
}
.white-button:hover,
.white-button:active,
.white-button:focus,
a.white-button:hover,
a.white-button:active,
a.white-button:focus {
	color: var(--white-color);
	background: var(--sub-color);
	transition: all 0.4s ease;
}
.white-button span{
	line-height: var(--mid-pad);
}
.white-button i,
.border-btn i {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	width: var(--mid-pad);
	height: var(--mid-pad);
	line-height: var(--mid-pad);
	font-size: var(--sm-icon-font);
}
.white-button span + i {
	margin-left:var(--sm-pad);
}

.clear-btn,
.clear-btn:visited,
a.clear-btn,
a.clear-btn:visited {
	background: none;
	color: var(--white-color);
	border: none;
}
.clear-btn:hover,
.clear-btn:active,
.clear-btn:focus,
a.clear-btn:hover,
a.clear-btn:active,
a.clear-btn:focus {
	background: none;
	color: var(--sub-color);
	border: none;
	transition: all 0.4s ease;
}

.button i{
	position: relative;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	width: var(--main-pad);
	height: var(--main-pad);
	line-height: var(--main-pad);
	font-size: var(--icon-font);
	vertical-align: top;
}
.button span {
	display: inline-flex;
	line-height: var(--main-pad);
	padding: 0 var(--mid-pad) 0 var(--sm-pad);
}
.w-btn,
.w-btn:visited,
a.w-btn,
a.w-btn:visited {
	background: none;
	color: var(--white-color);
	border: 1px solid var(--border-color);
}
.w-btn:hover,
.w-btn:active,
.w-btn:focus,
a.w-btn:hover,
a.w-btn:active,
a.w-btn:focus {
	background: none;
	color: var(--sub-color);
	border: 1px solid var(--sub-color);
	transition: all 0.4s ease;
}

.border-btn{
	position: relative;
    display: flex;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    color: var(--main-color);
    background: none;
    line-height: var(--mid-pad);
    font-size: 12px;
    font-weight: 600;
    font-family: "Montserrat", Arial, Helvetica, sans-serif;
    padding: 7px var(--sm-pad);
    box-shadow: none;
    outline: none;
    border-radius: 20px;
	border: 1px solid rgba(23, 35, 54, 0.24);
    transition: all 0.2s ease;
}
.border-btn span {
    line-height: var(--mid-pad);
}
.border-btn span + i {
	margin-left:var(--xs-pad);
}
.border-btn:hover,
.border-btn:active,
.border-btn:focus {
	background: none;
	color: var(--sub-color);
	border: 1px solid var(--sub-color);
	transition: all 0.4s ease;
}

.txt-btn {
	position: relative;
	display: inline-flex;
	color: var(--main-color);
	background: none;
	border: none;
	box-shadow: none;
	padding: 0px 40px 0px 0px;
	line-height: 24px;
	text-decoration: none;
	transition: all 0.2s ease;
}
.txt-btn span {
	position: relative;
	display: inline-flex;
	padding: 0px 8px 0px 0px;
	text-transform: uppercase;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	font-size: var(--button-font);
	line-height: 24px;
	letter-spacing: 2px;
	font-weight: 700;
}
.txt-btn:after {
	content: "\f178";
	content: "\f054";
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	top: 0;
	right: 0;
	width: 40px;
	padding: 0px 16px 0px 12px;
	height: var(--main-pad);
	line-height: var(--main-pad);
	font-size: var(--icon-font);
	font-size: var(--sm-icon-font);
	font-family: "Font Awesome 6 Pro";
	font-weight: 100;
	transition: padding 0.2s ease;
}
.txt-btn:hover:after {
	padding: 0px 8px 0px 20px;
	transition: padding 0.4s ease;
}
.txt-btn:hover,
.txt-btn:active,
.txt-btn:focus {
	color: var(--sub-color);
	transition: all 0.4s ease;
}
.w-txt-btn {
	color: var(--white-color);
}
.txt-btn.w-txt-btn:hover {
	transition: all 0.4s ease;
}

.btn-red-icon {
	position: relative;
	display: inline-flex;
	border: none;
	background: none;
	box-shadow: none;
	line-height: 48px;
	padding: 0;
	color: var(--text-color);
	transition: all 0.2s ease;
}
.btn-red-icon.w-red-btn {
	color: var(--white-color);
}
.btn-red-icon:hover {
	color: var(--white-color);
	transition: all 0.4s ease, color 0.2s ease;
}
.btn-red-icon > span {
	position: relative;
	display: inline-flex;
	white-space: nowrap;
	padding: 0px 0px 0px 12px;
	line-height: 48px;
	font-size: var(--button-font);
	letter-spacing: 2px;
	font-weight: 600;
	z-index: 2;
	text-transform: uppercase;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
}
.btn-red-icon div {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	align-items: center;
	width: 48px;
	height: 48px;
	font-size: var(--icon-font);
	color: var(--white-color);
	border-radius: 50%;
	z-index: 2;
}
.btn-red-icon div i {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	width: 24px;
	height: 24px;
	margin-left: 0;
	transition: margin 0.2s ease;
}
.btn-red-icon:hover div i {
	margin-left: 12px;
	transition: margin 0.3s ease-in-out;
}
.btn-red-icon:after {
	content: "";
	position: absolute;
	display: block;
	width: 48px;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 24px;
	background: var(--sub-color);
	z-index: 0;
	transition: width 0.2s ease;
}
.btn-red-icon:hover:after {
	opacity: 1;
	width: 100%;
	width: calc(100% + 24px);
	transition: width 0.3s ease-in-out;
}

.btn-red-icon.btn-single-icon{
	background: var(--sub-color);
	border-radius: 50%;
}
.btn-red-icon.btn-single-icon:after{
	display: none;
}
.btn-red-icon.btn-single-icon:hover div i {
	margin-left: 0px;
	transition: none;
}

.txt-link,
.txt-link:visited,
.txt-link:hover,
.txt-link:active, 
.txt-link:focus {
	font-weight: 700;
	text-decoration: none;
	color: inherit;
}

/* FORM STYLES *****************************/

.form-wrap {
	position: relative;
	/*    margin-bottom: 72px;*/
}

.form-row-main {
	margin-left: -24px;
	margin-right: -24px;
}
.form-col-main {
	position: relative;
	display: block;
	width: 50%;
	float: left;
	padding: 0px 24px;
}
.form-wrapper .form-wrap {
	margin-bottom: 0px;
}
.form-cols {
	display: flex;
	margin-left: -12px;
	margin-right: -12px;
}
.form-col {
	position: relative;
	display: block;
	width: 50%;
	float: left;
	/*	padding: 0px 12px;*/
	margin: 0px 12px;
}
.form-cols .form-col {
	display: flex;
	float: none;
}
.form-group {
	position: relative;
	display: block;
	/*    padding: 0px;*/
	margin-bottom: 24px;
}
.form-group:not(.form-floating) .control-label {
	position: relative;
	display: block;
	font-weight: 400;
	margin-bottom: 8px;
}
.form-col h3 {
	padding: 0px 20px;
}
.form-control {
	height: 48px;
	padding: 12px 16px 12px 16px;
	line-height: 24px;
	padding: 14px 16px 14px 16px;
	line-height: 18px;
	font-size: var(--input-font);
	border: 1px solid var(--border-color);
	font-size: var(--input-font);
	border-radius: var(--input-radius);
	color: var(--text-color);
	color: var(--main-color);
    font-weight: 700;
	background: var(--input-bg-color);
	box-shadow: none;
	transition: border 0.2s ease;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
	font-size: var(--input-font);
	padding: 14px 16px 14px 16px;
	line-height: 18px;
	height: 48px;
}
.form-control:focus {
	color: var(--main-color);
	border: 1px solid var(--dark-border-color);
	background: var(--input-focus-color);
	box-shadow: none;
	transition: border 0.4s ease;
}
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown),
.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown) {
	padding-top: 21px;
	padding-bottom: 7px;
}
.form-floating > label {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-weight: 400;
	color: var(--label-color);
	font-size: var(--input-font);
	line-height: 24px;
	padding: 12px 16px;
	overflow: hidden;
	text-align: start;
	text-overflow: ellipsis;
	white-space: nowrap;
	pointer-events: none;
	border: 1px solid transparent;
	transform-origin: 0 0;
	transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
	opacity: 1;
	transform: scale(0.8) translateY(-6px) translateX(4px);
}
textarea.form-control {
	min-height: 144px;
	max-height: 200px;
}

.form-btn-inline {
}

.form-col.form-col-md .selectric-wrapper {
	display: block;
	width: 100%;
}
.form-group .selectric {
	border: 0px;
	background: var(--input-bg-color);
	position: relative;
	border-radius: 0px;
	text-align: left;
}
.form-group .selectric .label {
	height: 48px;
	font-weight: 400;
	line-height: 24px;
	margin: 0px 48px 0 0px;
	padding: 12px 16px 12px 16px;
}
.form-group .selectric .button {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	right: 0;
	top: 0;
	width: 48px;
	height: 48px;
	min-width: initial;
	color: var(--grey-color);
	text-align: center;
	font-family: "Font Awesome 6 Pro";
	background: none !important;
	border: none !important;
	padding: 0px !important;
}
.form-group .selectric-items li {
	color: var(--text-color);
}
.form-group .selectric-items li:hover {
	background: var(--light-border-color);
	color: var(--text-color);
	font-weight: 500;
}
.form-group .selectric-items li.highlighted {
	color: var(--text-color);
	background: var(--light-grey-color);
}
.form-group .selectric-items li.selected {
	font-weight: 500;
}
.form-group .selectric-items {
	display: none;
	position: absolute;
	top: 100%;
	top: calc(100% - 1px);
	left: 0;
	overflow: hidden;
	background: var(--input-bg-color);
	border: none;
	z-index: 2;
	transform-origin: 0% 0%;
	transform: scaleY(0);
	transition: all 0.2s ease;
}
.selectric-scroll {
	scrollbar-color: rgba(0, 0, 0, 0.24) rgba(0, 0, 0, 0.08);
	scrollbar-width: thin;
}
.selectric-scroll::-webkit-scrollbar {
	width: 8px;
	border-radius: 4px;
	cursor: pointer;
}
.selectric-scroll::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.08);
	cursor: pointer;
	border-radius: 4px;
}
.selectric-scroll::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, 0.24);
	border-radius: 4px;
	cursor: pointer;
	transition: background 300ms ease;
}
.selectric-scroll::-webkit-scrollbar-thumb:hover {
	background: rgba(0, 0, 0, 0.32);
	cursor: pointer;
}

.form-group .selectric-open {
	z-index: 2;
}
.form-group .selectric-open.selectric-below .selectric,
.form-group .selectric-open.selectric-above .selectric {
	border-radius: 0px;
}
.form-group .selectric-open.selectric-below .selectric-items {
	border-radius: 0px;
	border: none;
	transform: scaleY(1);
	transition: all 0.3s ease-out;
}
.form-group .selectric-above .selectric-items {
	transform-origin: 50% 100%;
}
.form-group .selectric-open.selectric-above .selectric-items {
	border-radius: 0px;
	border: none;
	transform: scaleY(1);
	transition: all 0.3s ease-out;
}
.form-control::-webkit-input-placeholder {
	color: var(--text-color);
	color: rgba(112, 119, 125, 0.5);
}
.form-control::-moz-placeholder {
	color: rgba(112, 119, 125, 0.5);
}
.form-control:-ms-input-placeholder {
	color: rgba(112, 119, 125, 0.5);
}
.form-control::placeholder {
	color: rgba(112, 119, 125, 0.5);
}

/*
.form-matd .form-control:focus{
    box-shadow: none;
    outline: none;
    color: var(--text-color);
    font-weight: 400;
}
*/
.form-control:focus::-webkit-input-placeholder {
	font-weight: 400;
}
.form-control:focus::-moz-placeholder {
	font-weight: 400;
}
.form-control:focus:-ms-input-placeholder {
	font-weight: 400;
}
.form-control:focus::placeholder {
	font-weight: 400;
}

input:-internal-autofill-selected,
input:-webkit-autofill,
input:-webkit-autofill:focus,
input:-webkit-autofill:hover,
input:-internal-autofill-selected {
	-webkit-appearance: none !important;
	-webkit-box-shadow: 0 0 0px 1000px var(--input-bg-color) inset !important;
	background-color: var(--input-bg-color) !important;
	background-image: none !important;
	color: var(--text-color) !important;
}

.form-group .error-text,
.select-box .error-text,
.checkbox .error-text,
.form-captcha .error-text,
.form-option-group .error-text,
.form-options .error-text {
	position: absolute;
	top: auto !important;
	bottom: -20px;
	font-weight: 400;
	color: var(--red-color) !important;
	font-size: 12px !important;
}

.checkbox .error-text {
	bottom: -16px;
}

input[type="file"] {
	/*
	opacity: 0;
	width: 0.1px;
	height: 0.1px;
	position: absolute;
*/
}

.form-fileinput .error-text {
	font-weight: 400;
	color: var(--red-color) !important;
	font-size: 12px !important;
}

.box .inputfile {
	/*    width: 0.1px;*/
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.inputfile + label {
	display: flex;
	width: 100%;
	font-size: var(--input-font);
	font-weight: 400;
	text-overflow: ellipsis;
	white-space: nowrap;
	cursor: pointer;
	overflow: hidden;
	padding: 11px 16px;
	margin-bottom: 0px;
}
.inputfile + label span {
	display: inline-block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	line-height: 24px;
	padding-right: 32px;
}
.no-js .inputfile + label {
	display: none;
}

.inputfile:focus + label,
.inputfile.has-focus + label {
}
/*
.inputfile + label svg {
	flex-shrink: 0;
    width: 16px;
    height: 16px;
	margin: 4px 12px 4px 0px;
    vertical-align: top;
    fill: currentColor;
	fill: var(--text-color);
}
*/
.inputfile + label i {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	align-items: center;
	width: 48px;
	height: 48px;
	right: 0;
	top: 0;
	font-size: var(--icon-font);
	color: var(--text-color);
}
.inputfile-1 + label {
	border-radius: var(--input-radius);
	color: var(--label-color);
    background: var(--input-bg-color);
	border: 1px solid var(--border-color);
	/*	border: 1px solid currentColor;*/
}
.inputfile-1:focus + label,
.inputfile-1.has-focus + label,
.inputfile-1 + label:hover {
	color: var(--text-color);
}
/*
.inputfile + label:hover svg {
	fill: var(--sub-color);
}
*/
.inputfile + label:hover i {
	color: var(--text-color);
}
.inputfile-1 + label:hover {
	border: 1px solid var(--dark-border-color);
    background: var(--input-focus-color);
}

.form-btns {
	display: flex;
	align-items: center;
	text-align: left;
}

.ch-btn {
	position: relative;
	display: inline-block;
	display: block;
	vertical-align: middle;

	height: 40px;
	padding-top: 8px;
	margin-bottom: 8px;
}
.ch-btn input[type="checkbox"] {
	position: absolute;
	left: -49%;
	visibility: hidden;
	height: 1px;
	z-index: 0;
}
.ch-btn label {
	position: relative;
	display: block;
	font-size: var(--input-font);
	font-weight: 400;
	padding-left: 36px;
	line-height: 24px;
	cursor: pointer;
	z-index: 1;
}
.ch-btn label span {
	position: absolute;
	display: block;
	height: 24px;
	width: 24px;
	top: 0px;
	left: 0px;
	border: 1px solid var(--border-color);
	border-radius: 3px;
	border-radius: var(--input-radius);
	z-index: 1;
	text-align: center;
	font-size: 14px;
	color: var(--border-color);
    background: var(--input-bg-color);
}

.ch-btn label:hover span {
	cursor: pointer;
    color: var(--main-color);
}
.ch-btn input[type="checkbox"]:checked + label span {
	color: var(--main-color);
    
/*
	border: 1px solid var(--dark-border-color);
    background: var(--input-focus-color);
*/
    
    border: 1px solid var(--border-color);
    background: var(--input-bg-color);
}
.ch-btn label i {
	display: none;
	height: 24px;
	line-height: 22px;
}
.ch-btn label:hover i,
.ch-btn input[type="checkbox"]:checked + label i {
	display: block;
	opacity: 1;
}
.ch-btn a {
	color: var(--main-color);
	text-decoration: underline;
	text-transform: lowercase;
}
.ch-btn a:hover {
	text-decoration: none;
}

.grecaptcha-badge {
	visibility: hidden;
}


/* WRAPPER STYLES *****************************/

#outer-wrapper {
	position: relative;
	display: block;
	animation: opac-in-animate 0.5s ease-out forwards;
}

#scroll-wrapper {
	overflow: initial !important;
}

html.no-scroll {
	overflow: hidden;
}

body.menu-open #outer-wrapper,
body.modal-open #outer-wrapper {
	overflow-y: hidden;
	overflow: hidden !important;
}

#main-wrapper {
	position: relative;
}
.sub-page #sub-wrapper {
	overflow: hidden;
}
.sub-page.no-overflow #sub-wrapper {
	overflow: initial;
}
#content-wrapper {
	position: relative;
}
.sub-page #content-wrapper {
	padding-top: 128px;
}
.wrapper-no-pad,
.sub-page #content-wrapper.wrapper-no-pad {
	padding: 0;
}

#content-main {
	position: relative;
	min-height: 60vh;
	padding: var(--lg-pad) 0px;
}

#bg-wrapper {
	position: fixed;
	content: "";
	display: none;
	opacity: 0;
	width: 100%;
	height: 110%;
	top: 0;
	z-index: 98;
	background: var(--main-color);
	background: rgba(23, 36, 55, 0.72);
}

.menu-open #bg-wrapper {
	display: block;
	opacity: 1;
	animation: opac-in-animate 0.2s ease forwards;
}
.menu-ani #bg-wrapper {
	display: block;
	opacity: 1;
	animation: opac-out-animate 0.2s ease-in forwards;
}

/* HEADER STYLES *****************************/

#header {
	position: fixed;
	display: block;
	width: 100%;
	height: 80px;
	top: 0;
	left: 0;
	z-index: 5;
}
#header .container {
	position: relative;
	display: flex;
	max-width: initial;
	padding: 0 32px;
}
.header-main {
	position: relative;
	display: flex;
	padding: 0;
	/*	background: var(--white-color);*/
	background: rgba(255, 255, 255, 0.16);
	-webkit-backdrop-filter: blur(32px);
	backdrop-filter: blur(32px);
	transition: background 0.1s ease;
}

.logo-main {
	position: relative;
	display: flex;
	justify-content: center;
	margin: 44px 0px;
}
.logo-main button {
	box-shadow: none;
	border: none;
	background: none;
	margin: 0;
	padding: 0;
	height: 16px;
	cursor: pointer;
}
.logo-main a {
	position: relative;
	display: block;
}
.logo-main-dark {
	position: relative;
	display: flex;
	opacity: 1;
	z-index: 1;
}
/*
.logo-main-light {
	display: none;
}
*/
.logo-main-light {
	display: flex;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: 2;
}
.logo-main img {
	height: 24px;
	height: 16px;
	width: auto;
	vertical-align: top;
}
.logo-animate {
	display: block;
}
.logo-static {
	display: none;
}
.logo-static i {
	width: 24px;
	height: 16px;
	line-height: 16px;
	vertical-align: top;
	margin-right: 8px;
	color: var(--main-color);
}

.header-main-right {
	position: relative;
	display: flex;
	margin-left: auto;
	padding: var(--main-pad) 0;
}

.nav-main-right{
	position: relative;
	display: flex;	
	padding: var(--xs-pad) var(--xs-pad);
	background: rgba(246, 246, 246, 0.48);
	background: rgba(23, 35, 54, 0.32);
	backdrop-filter: blur(24px);
	border-radius: 28px;
}
.nav-main-right ul{
	position: relative;
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}
.nav-main-right ul li{	
	display: flex;
	font-size: 14px;
	font-weight: 400;
	margin: 0;
	padding:0 var(--sm-pad);
}
.nav-main-right ul li:first-child{	
	padding-left: var(--main-pad);
}
.nav-main-right ul li:last-child{	
	padding-right: 0;
}
.nav-main-right ul li a:not(.white-button){	
	position: relative;
	display: flex;	
	line-height: 40px;
	color: var(--text-color);
	color: var(--white-color);
	transition: all 0.2s ease;
}
.nav-main-right ul li a:not(.white-button):hover{	
	color: var(--white-color);
	transition: all 0.4s ease-out;
}
.nav-main-right ul li a:not(.white-button) span{
	transform: translateY(0);	
	transition: all 0.2s ease;
}
.nav-main-right ul li a:not(.white-button):hover span{
	transform: translateY(-4px);	
	transition: all 0.4s ease-out;
}
.nav-main-right a.white-button{	
	color: var(--main-color);
	background: var(--white-color);
}
.nav-main-right a.white-button:hover{	
	color: var(--white-color);
	background: var(--main-color);
}

/* .dark-nav .nav-main-right{
	background: rgba(23, 35, 54, 0.24);
}

.dark-nav .nav-main-right ul li a:not(.white-button){	
	color: var(--white-color);
}
.dark-nav .nav-main-right ul li a:not(.white-button):hover{	
	color: var(--sub-color);
} */
.dark-nav a.white-button{	
	color: var(--main-color);
	background: var(--white-color);
}
.dark-nav a.white-button:hover{	
	color: var(--white-color);
	background: var(--main-color);
}
.dark-nav .border-btn{
	border: 1px solid rgba(255, 255, 255, 0.24);
	color: var(--white-color);
}


/* .light-nav .nav-main-right{
	background: rgba(246, 246, 246, 0.48);
}
.light-nav .nav-main-right ul li a:not(.white-button){	
	color: var(--text-color);
}
.light-nav .nav-main-right ul li a:not(.white-button):hover{	
	color: var(--sub-color);
} */
.light-nav a.white-button{	
	color: var(--white-color);
	background: var(--main-color);
}
.light-nav a.white-button:hover{	
	color: var(--main-color);
	background: var(--white-color);
}


.header-mob-btn{
	display: none;
}
.header-main-right .btn-single-icon {
	display: none;
}
.nav-socials {
	position: relative;
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}
.nav-socials li {
	position: relative;
	display: flex;
	padding: 0;
}
.nav-btn,
.nav-socials li a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: var(--sm-pad);
	height: var(--lg-pad);
	width: var(--lg-pad);
	line-height: var(--main-pad);
	color: var(--white-color);
	font-size: 16px;
	text-decoration: none;
}
.nav-btn:hover,
.nav-socials li a:hover {
	color: var(--sub-color);
}

.header-nav {
	position: fixed;
	display: flex;
	flex-direction: column;
	padding: 96px;
	padding: var(--main-pad) var(--lg-pad);
	height: 100%;
	width: 40%;
	left: -40%;
	background: var(--light-bg-color);
	pointer-events: none;
	box-shadow: none;
	z-index: 99;
	transition: all 0.2s ease;
}
.header-nav-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.menu-open .header-nav {
	pointer-events: auto;
	left: 0;
	box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.16);
	transition: all 0.4s ease-out;
}

.menu-ani .header-nav {
	pointer-events: none;
	left: -40%;
	transition: all 0.2s ease-in;
}

.menu-animating .header-nav-wrapper a {
	pointer-events: none;
}

.header-nav-top {
	position: relative;
	display: flex;
}
.nav-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 96px 0px 24px 192px;
	padding: 48px 0px 24px 144px;
	flex-grow: 1;
}
.nav-main {
	position: relative;
	display: flex;
	margin: 0;
}
.nav-main ul {
	position: relative;
	display: flex;
	flex-direction: column;
	list-style: none;
	padding: 0;
	margin: 0;
}
.nav-main > ul {
	padding-left: 48px;	
}
.nav-main ul li {
	position: relative;
	display: flex;
	padding: var(--xs-pad) 0;
	opacity: 0;
}

.menu-open .nav-main ul li {
	animation: left-in-animate 0.5s ease-out forwards;
}
.menu-open .nav-main ul li:nth-child(1) {
	animation-delay: 0.4s;
}
.menu-open .nav-main ul li:nth-child(2) {
	animation-delay: 0.5s;
}
.menu-open .nav-main ul li:nth-child(3) {
	animation-delay: 0.6s;
}
.menu-open .nav-main ul li:nth-child(4) {
	animation-delay: 0.7s;
}
.menu-open .nav-main ul li:nth-child(5) {
	animation-delay: 0.8s;
}
.menu-open .nav-main ul li:nth-child(6) {
	animation-delay: 0.9s;
}
.menu-open .nav-main ul li:nth-child(7) {
	animation-delay: 1s;
}
.menu-open .nav-main ul li:nth-child(8) {
	animation-delay: 1.1s;
}

.nav-main ul li a {
	position: relative;
	display: flex;
	margin: 0 0 0 -2px;
	padding: var(--xs-pad) 0px;
	line-height: 40px;
	color: var(--main-color);
	text-transform: uppercase;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 3px;
	text-decoration: none;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	transition: all 0.2s ease;
}
.nav-main ul li.header-sm-link {
	padding: 0;
	margin: 0px;
}
.nav-main ul li.header-sm-link a {
	margin: 8px 0px 0px 0px;
	line-height: var(--main-pad);
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 1px;
}
/*
.nav-main ul li a.active {
	border-bottom: 2px solid var(--sub-color);
}
*/
.nav-main ul li a:hover,
.nav-main ul li a:focus,
.nav-main ul li a:active {
	padding-left: 8px;
	color: var(--sub-color);
	transition: all 0.4s ease-out;
	transition-delay: 0.1s;
}
.drop-link{
	flex-direction: column;	
}
.dropdown{
	position: relative;
	display: flex;
	display: none;
	flex-direction: column;
	padding: 8px 0px 8px 2px;
	width: 100%;
}
.dropdown ul li{
	padding: 0;
}
.dropdown ul li a {
	position: relative;
	display: flex;
	padding: 8px 0px;
	line-height: 16px;
	color: var(--main-color);
	text-transform: none;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0px;
	text-decoration: none;
	font-family: "Euclid", Arial, Helvetica, sans-serif;
	transition: all 0.2s ease;
}
.menu-open .dropdown ul li{
	animation: none;
	opacity: 1;
}
/*
.dropdown-trigger{
	padding-right: 72px;
}
*/
.dropdown-trigger:after {
	position: relative;
	display: block;
	content: "\f078";
	margin-left: 8px;
	width: 48px;
	height: 40px;
	line-height: 40px;
	color: inherit;
	vertical-align: middle;
	text-align: center;
	font-size: var(--icon-font);
	font-family: "Font Awesome 6 Pro";
	font-weight: 300;
	transform-origin: 50% 50%;
	transform: rotate(0deg);
	transition: all 0.3s ease;
}
.dropdown-open .dropdown-trigger:after{
	transform: rotate(-180deg);
	transition: all 0.3s ease;
}


/*
.menu-open .dropdown ul li:nth-child(1) {
	animation-delay: 0.8s;
}
.menu-open .dropdown ul li:nth-child(2) {
	animation-delay: 0.9s;
}
.menu-open .dropdown ul li:nth-child(3) {
	animation-delay: 1s;
}
.menu-open .dropdown ul li:nth-child(4) {
	animation-delay: 1.1s;
}
.menu-open .dropdown ul li:nth-child(5) {
	animation-delay: 1.2s;
}
*/

.lang-menu {
	position: relative;
	display: flex;
	list-style: none;
	margin: 0px -16px 0px -16px;
	padding: 0;
}
.lang-menu li {
	position: relative;
	display: flex;
	padding: 0 16px;
	line-height: 40px;
}
.lang-menu li:first-child:after {
	content: "\e122";
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	width: 24px;
	height: 24px;
	top: 8px;
	right: -12px;
	font-size: 8px;
	font-weight: 700;
	font-family: "Font Awesome 6 Pro";
}
.lang-menu li a {
	text-transform: uppercase;
	font-weight: 400;
	transition: color 0.2s ease;
}
.lang-menu li a.active {
	color: var(--sub-color);
}
.lang-menu li a:hover {
	color: var(--sub-color);
	transition: color ease-out 0.4s;
}
.header-nav .lang-menu {
	margin-left: 48px;
	margin-left: 152px;
}

.header-address-list {
	position: relative;
	display: flex;
	flex-direction: column;
	list-style: none;
	padding: 0;
	margin: 0;
	margin-top: auto;
	opacity: 0;
}
.menu-open .header-address-list {
	animation: btm-in-animate 0.5s ease-out forwards;
	animation-delay: 0.5s;
}
.header-address-list li {
	position: relative;
	display: block;
	line-height: 24px;
	margin: 0;
	font-weight: 400;
	padding: 4px 0 4px 48px;
}
.header-address-list li.hal-extra-pad {
	margin-top: 16px;
}
.header-address-list li span {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	width: 32px;
	height: 32px;
	line-height: 32px;
	top: 0px;
	left: 0px;
	font-size: 24px;
	color: var(--sub-color);
}
.header-address-list li a {
	color: var(--main-color);
}
.nav-dropdown {
	position: relative;
	display: flex;
}
.nav-dropdown-toggle {
	box-shadow: none;
	height: 48px;
	border: none;
	padding: 12px 28px 12px var(--mid-pad);
}
.nav-dropdown-toggle img {
	vertical-align: top;
}
.nav-dropdown-toggle:after {
	content: "\f107";
	position: absolute;
	right: 0;
	top: 12px;
	width: 100%;
	height: 24px;
	width: 24px;
	font-size: var(--icon-font);
	font-family: "Font Awesome 6 Pro";
	font-style: normal;
	font-weight: normal;
	font-size: 18px;
	line-height: 24px;
	font-weight: 300;
	vertical-align: middle;
	color: var(--text-color);
}

.nav-dropdown-toggle:focus {
	box-shadow: none;
}
.nav-dropdown .dropdown-menu {
	padding: 4px 0px;
	border: none;
	border-radius: var(--main-radius);
	box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.08);
}

.nav-toggle {
	position: relative;
	float: left;
	cursor: pointer;
	display: flex;
	width: 24px;
	height: 24px;
	padding: 0px;
	margin: 28px 24px 28px 0px;
	background: none;
	border: none;
	overflow: hidden;
}
.header-nav-top .nav-toggle {
	margin: 8px 0px;
}
.nav-icon {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
}

.nav-icon span,
.menu-ani .nav-icon span {
	display: block;
	position: absolute;
	top: 11px;
	left: 2px;
	right: 2px;
	height: 2px;
	background: var(--text-color);
}
.nav-icon span:before,
.nav-icon span:after,
.menu-ani .nav-icon span:before,
.menu-ani .nav-icon span:after {
	content: "";
	position: absolute;
	display: block;
	left: 0px;
	width: 100%;
	height: 2px;
	background: var(--text-color);
	transition-duration: 0.2s, 0.2s;
	transition-delay: 0.2s, 0s;
}

.header-nav-top .nav-icon span:before,
.header-nav-top .nav-icon span:after,
.header-nav-top .menu-ani .nav-icon span:before,
.header-nav-top .menu-ani .nav-icon span:after {
	background: var(--text-color);
}

.nav-icon span:before,
.menu-ani .nav-icon span:before {
	top: -5px;
	transition-property: top, transform;
}
.nav-icon span:after,
.menu-ani .nav-icon span:after {
	bottom: -5px;
	transition-property: bottom, transform;
}
.menu-ani .nav-icon span,
.menu-open .nav-icon span {
	background: none;
}
.menu-open .nav-icon span:before {
	top: 0;
	width: 100%;
	transform: rotate(45deg);
}
.menu-open .nav-icon span:after {
	bottom: 0;
	width: 100%;
	transform: rotate(-45deg);
}
.menu-open .nav-icon span:before,
.menu-open .nav-icon span:after {
	transition-delay: 0s, 0.2s;
}

/* STICKY HEADER *****************************/

#header .btn-red-icon > span {
	white-space: nowrap;
	overflow: hidden;
}

#header:not(.sticky-header) .btn-red-icon > span {
	width: 152px;
	width: 184px;
	opacity: 1;
	transition: all 0.1s ease;
}
#header.sticky-header .btn-red-icon > span {
	padding: 0;
	width: 0px;
	opacity: 0;
	transition: all 0.3s ease-out, opacity 0.2s ease-out;
}
/*
#header.sticky-header .btn-red-icon:hover:after {
	width: 100%;
}
*/
#header.sticky-header .btn-red-icon:hover > span {
	padding: 0px 0px 0px 12px;
	opacity: 1;
	width: 184px;
/*	width: calc(100% + 24px);*/
}

.home-page #header:not(.sticky-header) .header-main,
.clean-header #header:not(.sticky-header) .header-main {
	background: transparent;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.home-page #header:not(.sticky-header) .btn-red-icon {
	color: var(--white-color);
}
.home-page #header:not(.sticky-header) .logo-main-dark {
	/*	display: none;*/
	opacity: 0;
}
.home-page #header:not(.sticky-header) .logo-main-light {
	/*	display: flex;*/
	opacity: 1;
}

.home-page #header:not(.sticky-header) .nav-icon span,
.home-page #header:not(.sticky-header) .menu-ani .nav-icon span,
.home-page #header:not(.sticky-header) .nav-icon span:before,
.home-page #header:not(.sticky-header) .nav-icon span:after,
.home-page #header:not(.sticky-header) .menu-ani .nav-icon span:before,
.home-page #header:not(.sticky-header) .menu-ani .nav-icon span:after {
	background: var(--white-color);
}

#header.dark-nav .header-main {
	background: rgba(23, 36, 55, 0.16);
}
#header.dark-nav .logo-main-dark {
	/*	display: none;*/
	opacity: 0;
}
#header.dark-nav .logo-main-light {
	/*	display: flex;*/
	opacity: 1;
}
#header.dark-nav .btn-red-icon {
	color: var(--white-color);
}
#header.dark-nav .nav-icon span,
#header.dark-nav .menu-ani .nav-icon span,
#header.dark-nav .nav-icon span:before,
#header.dark-nav .nav-icon span:after,
#header.dark-nav .menu-ani .nav-icon span:before,
#header.dark-nav .menu-ani .nav-icon span:after {
	background: var(--white-color);
}

#header.light-nav .header-main {
	background: rgba(255, 255, 255, 0.16);
}
#header.light-nav .logo-main-dark {
	/*	display: flex;*/
	opacity: 1;
}
#header.light-nav .logo-main-light {
	/*	display: none;*/
	opacity: 0;
}
#header.light-nav .btn-red-icon {
	color: var(--text-color);
}
#header.light-nav .btn-red-icon:hover {
	color: var(--white-color);
}
#header.light-nav .nav-icon span,
#header.light-nav .menu-ani .nav-icon span,
#header.light-nav .nav-icon span:before,
#header.light-nav .nav-icon span:after,
#header.light-nav .menu-ani .nav-icon span:before,
#header.light-nav .menu-ani .nav-icon span:after {
	background: var(--text-color);
}

#header.light-nav .logo-static i {
	color: var(--main-color);
}
#header.dark-nav .logo-static i {
	color: var(--white-color);
}

/*
body:not(.menu-open) #header.sticky-header{
	background: var(--white-color);	
	box-shadow: 0 1px 0px var(--light-border-color);
}
body:not(.menu-open) #header.sticky-header .logo-main-dark{
	display: block;
}
body:not(.menu-open) #header.sticky-header .logo-main-light{
	display: none;
}
*/

/* GENERAL CONTENT STYLES *****************************/

.content-main-wrapper {
	position: relative;
	display: flex;
}
.gradient-wrapper {
	position: relative;
	background: var(--main-gradient-dark);
}
.gradient-wrapper:before {
	content: "";
	position: absolute;
	display: block;
	z-index: 1;
	height: 4px;
	top: -2px;
	width: 100%;
	left: 0;
	background: var(--main-color);
	/*	background: red;*/
}
.dark-bg-half:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 50%;
	left: 0;
	top: 50%;
	background: var(--main-color);
	z-index: -1;
}

/*
.content-left,
.content-main {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 70%;
	width: calc(100% - 408px);
	padding-right: 48px;
}

.content-right {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 30%;
	width: 408px;
	padding-left: 48px;
}
*/

/* CONTENT BANNER STYLES *****************************/

.content-banner-wrap {
	position: relative;
	display: block;
	padding: 120px 0px;
	z-index: 1;
}
.banner-wrap-lg-pad {
	padding: 240px 0px;
}

.content-banner {
	position: relative;
	display: flex;
	flex-direction: row;
	margin: 0 var(--main-neg);
}

.content-banner-title {
	position: relative;
	display: block;
	margin-bottom: var(--xs-pad);
	margin-bottom: 0;
	opacity: 1;
	transition: opacity 0.2s ease-in;
}

/*
.content-banner-title h1,
.content-banner-title h2,
.content-banner-title h3 {
	margin: 0;
	line-height: 1;
}
*/
.sub-title,
.content-banner-title .sub-title {
	position: relative;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 7px;
	line-height: var(--mid-pad);
	color: var(--sub-color);
	margin-bottom: var(--sm-pad);
}
/*
.content-banner:not(.content-banner-center) .content-banner-title{
	margin-bottom: var(--xs-pad);
}
*/
.content-banner:not(.content-banner-center) .content-banner-title .sub-title,
.banner-top-wrapper .sub-title {
	margin-left: -24px;
}

.banner-blk-txt,
.banner-blk-img {
	position: relative;
	display: flex;
	width: 50%;
	padding: 0px var(--main-pad);
	align-content: flex-start;
	align-self: center;
	flex-direction: column;
}
.banner-blk-txt {
	width: 50%;
}
.content-banner-wrap .banner-blk-txt {
	opacity: 0;
}
.content-banner-wrap .banner-blk-txt.fade-text {
	opacity: 1;
	animation: btm-in-animate 0.4s ease-out forwards;
}

.banner-txt-left .banner-blk-txt {
	padding-right: 144px;
}
.banner-txt-right .banner-blk-txt {
	padding-left: 144px;
}
.banner-blk-img {
	width: 50%;
}
.banner-blk-img img {
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}

.banner-blk-slider-animate {
	position: relative;
	display: flex;
	flex-direction: column;
	opacity: 1;
	transition: opacity 0.2s ease;
}
.banner-blk-slider-animate.fade-out {
	opacity: 0;
	transition: opacity 0.3s ease-out;
}
/*
.content-banner-slider .banner-blk-slider-txt > div {
	opacity: 0;
}
#banner-main-top .content-banner-slider .banner-blk-slider-txt > div,
#banner-main-top .content-banner-slider .banner-blk-slider-txt.fade-text > div {
	opacity: 1;
	animation: none;
}
.content-banner-slider .banner-blk-slider-txt.fade-text > div {
	opacity: 1;
	animation: btm-in-animate 0.4s ease-out forwards;
}
*/

.content-banner-text {
	position: relative;
	color: var(--text-color);
	margin-bottom: var(--lg-pad);
}
.banner-blk-txt .content-banner-text:last-child {
	margin: 0;
}
.content-banner-text.no-margin {
	margin-bottom: 0px;
}

.content-banner-text p:last-child {
	margin-bottom: 0px;
}
.content-banner-buttons {
	display: flex;
}
.content-banner-buttons .button {
	margin-right: var(--mid-pad);
}
.content-banner-title + .content-banner-buttons {
	margin-top: var(--lg-pad);
}

.content-banner-center {
	justify-content: center;
}
.content-banner-center .banner-blk-txt {
	text-align: center;
	width: 60%;
	margin-bottom: var(--lg-pad);
}
.banner-blk-list-blocks {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 22px 0px 0px 48px;
	width: 50%;
}
.banner-list-blk {
	position: relative;
	display: flex;
	padding: 0px 0px 160px 0px;
	opacity: 0.48;
	transition: opacity 0.2s ease-in-out;
}

.banner-list-blk.no-pad {
	padding: 0;
}
.banner-list-blk:hover,
.active-block.banner-list-blk {
	opacity: 1;
	transition: opacity 0.3s ease-in-out;
}
.banner-list-blk-icon {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: var(--lg-pad);
	width: var(--lg-pad);
	line-height: var(--lg-pad);
	color: var(--white-color);
	font-size: 32px;
}
.banner-list-blk-icon:after {
	content: "";
	display: block;
	position: absolute;
	width: 40px;
	height: 1px;
	top: 24px;
	left: calc(100% + 8px);
	background: var(--sub-color);
}
.banner-list-blk-content {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 14px 0 0 56px;
	width: calc(100% - 48px);
}
/*
.banner-blk-list-blocks .banner-list-blk .banner-list-blk-content,
.banner-blk-list-blocks .banner-list-blk .banner-list-blk-icon{
*/
.banner-blk-list-blocks .banner-list-blk > div {
	opacity: 0;
}
.banner-blk-list-blocks.ani-blocks .banner-list-blk > div {
	animation: btm-in-animate 0.3s ease-out forwards;
}
.banner-blk-list-blocks.ani-blocks .banner-list-blk:nth-child(1) > div {
	animation-delay: 0.2s;
}
.banner-blk-list-blocks.ani-blocks .banner-list-blk:nth-child(2) > div {
	animation-delay: 0.4s;
}
.banner-blk-list-blocks.ani-blocks .banner-list-blk:nth-child(3) > div {
	animation-delay: 0.6s;
}
.banner-blk-list-blocks.ani-blocks .banner-list-blk:nth-child(4) > div {
	animation-delay: 0.8s;
}
.banner-blk-list-blocks.ani-blocks .banner-list-blk:nth-child(5) > div {
	animation-delay: 1s;
}
.banner-blk-list-blocks.ani-blocks .banner-list-blk:nth-child(6) > div {
	animation-delay: 1.2s;
}
.banner-blk-list-blocks.ani-blocks .banner-list-blk:nth-child(7) > div {
	animation-delay: 1.4s;
}
.banner-blk-list-blocks.ani-blocks .banner-list-blk:nth-child(8) > div {
	animation-delay: 1.6s;
}

.content-banner-full-img {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0px;
}
.banner-full-img-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0px;
}
.banner-full-img {
	position: relative;
	overflow: hidden;
	border-radius: var(--main-radius);
	box-shadow: var(--main-shadow);
	padding: 0;
	width: 100%;
}
.banner-full-img img {
	width: 100%;
	height: auto;
}

/* CONTENT ELEMENT STYLES *****************************/

.contact-banner-blocks {
	position: relative;
	display: flex;
	margin-left: -12px;
	margin-right: -12px;
}
.contact-banner-block-wrap {
	position: relative;
	display: flex;
	padding: 0 12px;
	width: 25%;
}
.contact-banner-block {
	position: relative;
	display: flex;
	width: 100%;
	border-radius: 9px;
	box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.08);
}
.contact-banner-block-icon {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 80px;
	width: 80px;
	line-height: 80px;
	color: var(--sub-color);
	font-size: 24px;
}
.contact-banner-block-text {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 var(--main-pad) 0px 0px;
	width: calc(100% - 80px);
	font-size: 14px;
	line-height: 1.4;
}
.contact-banner-block-text div {
	font-weight: 700;
}
.contact-banner-block-text span {
	font-weight: 400;
}
.content-logos {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 50%;
	margin-right: -4px;
	/*	z-index: 1;*/
}

.content-logo-block {
	position: relative;
	display: flex;
	width: 33.3333%;
	padding: 1px;
}
.content-logo-block.fade-out img {
	animation: zoomOut 0.5s ease-out forwards;
}
.content-logo-block.fade-in img {
	animation: zoomIn 0.2s ease-in forwards;
}
.logo-block {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 16px 64px;
	background: var(--light-bg-color);
	width: 100%;
}
.logo-block img {
	width: 100%;
	height: auto;
}

.expand-blocks-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0 20%;
	margin-bottom: var(--lg-pad);
}
.expand-block {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: var(--lg-pad);
	margin-bottom: var(--lg-pad);
	border-radius: var(--main-radius);
	background: var(--light-bg-color);
	box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.12);
}
.expand-block-content {
	position: relative;
	display: flex;
	flex-direction: column;
	cursor: pointer;
}
.expand-block-title {
	position: relative;
	display: flex;
	margin-bottom: var(--main-pad);
}
.expand-block-title h3 {
	line-height: 24px;
	margin: 0;
}
.expand-block-title-icon {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	right: 0;
	top: 0;
	width: 24px;
	height: 24px;
	font-size: 24px;
	color: var(--sub-color);
	transform: rotate(0deg);
	transition: transform 0.2s ease;
}
.expand-all .expand-block-title-icon {
	transform: rotate(-180deg);
	transition: transform 0.4s ease-out;
}
.expand-block-text {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	max-height: 72px;
	transition: all 0.2s ease;
	/*	padding: var(--main-pad) 0; */
}
.expand-all .expand-block-text {
	max-height: 560px;
	transition: all 0.4s ease-in-out;
}
.expand-block-button {
	position: relative;
	display: flex;
	margin-top: var(--main-pad);
}

.content-top-menu {
	position: relative;
	padding: 120px 0px;
	background: var(--white-color);
}
.top-menu-buttons {
	position: relative;
	display: flex;
	margin: 0 -24px;
}
.top-menu-button {
	position: relative;
	display: flex;
	width: 20%;
	padding: 0 24px;
}
.top-menu-btn {
	position: relative;
	display: flex;
	height: 48px;
	line-height: 48px;
}
.top-menu-btn div {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	align-items: center;
	width: 48px;
	height: 48px;
	font-size: 32px;
	color: var(--main-color);
	transition: color 0.2s ease;
	z-index: 2;
}
.top-menu-btn span {
	font-size: 16px;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	font-weight: 700;
	padding: 0 8px;
	color: var(--main-color);
}
.top-menu-btn:hover div {
	color: var(--sub-color);
	transition: color 0.3s ease-out;
}
.top-menu-btn.active div,
.top-menu-btn.active span {
	color: var(--sub-color);
}

/* HOME STYLES *****************************/

.home-body {
	background: var(--main-color);
}
.home-page #content-wrapper {
	background: var(--white-color);
	padding: 120px 0px 240px 0px;
}

#home-banner-main {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--main-color);
	overflow: hidden;
}
#home-banner-main .container {
	position: relative;
	z-index: 1;
}

.banner-loading-wrapper {
	position: absolute;
	display: flex;
	flex-direction: column;
	height: 100vh;
	width: 100vw;
	padding: var(--xxl-pad) 0px;
	z-index: 3;
	align-items: center;
	justify-content: center;
	color: var(--white-color);
}

#banner-loading-animation{
	width: 20%;
	height: auto;
}
.loader {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  border: 3px solid;
  border-color: #FFF #FFF transparent transparent;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
.loader::after,
.loader::before {
  content: '';  
  box-sizing: border-box;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 3px solid;
  border-color: transparent transparent rgba(255,255,255,0.5) rgba(255,255,255,0.5);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-sizing: border-box;
  animation: rotationBack 0.5s linear infinite;
  transform-origin: center center;
}
.loader::before {
  width: 32px;
  height: 32px;
  border-color: #FFF #FFF transparent transparent;
  animation: rotation 1.5s linear infinite;
}
    
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
} 
@keyframes rotationBack {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
#home-banner-main.is-loading .main-banner-video .banner-video,
#home-banner-main.is-loading .banner-main-title {
	opacity: 0;
}


.main-banner-video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 0;
	overflow: hidden;
/*	pointer-events: none;*/
	opacity: 0;
	animation: opac-in-animate 0.4s ease-in forwards;
}

.banner-video {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	overflow: hidden;
	opacity: 1;
	transition: all 0.2s ease;
	z-index: 1;
}

.banner-main-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100svh;
	padding: var(--xxl-pad) 0px;
	padding: 0px;
	background: linear-gradient(190deg, rgba(23, 36, 55, 0) 28%, rgba(23, 36, 55, 1) 88%);
	z-index: 3;
}
#banner-main {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 52%;
	height: 100%;
	padding: 0 0 96px 96px;
}
.banner-main-title {
	position:absolute;
	position:relative;
	display: flex;
	flex-direction: column;
	margin-top: auto;
	margin-bottom: var(--mid-pad);
}
.main-title {
	position: relative;
	display: flex;
	margin: 0px;
	color: var(--white-color);
	opacity: 0;
	animation: btm-in-animate 0.7s ease-out forwards;
	animation-delay: 0.3s;
}
.main-title h1 {
	position:relative;
	font-size: 64px;
	text-transform: none;
	letter-spacing: 0px;
	font-weight: 500;
	line-height: 1.1;
	margin-bottom: var(--xxs-pad);
	margin: 0px;
	color: var(--white-color);
	font-family: "Euclid", Arial, Helvetica, sans-serif;
}
.main-title i{
	display: inline-flex;
	font-family: "Playfair Display", serif;
	font-style: italic;
	font-weight: 400;
}
/* .main-title i:before{
	content:"\a";
    white-space: pre;
} */
.main-title h1 span:after {
	content: ".";
	display: inline;
	color: var(--sub-color);
}

/* .main-title.main-title-1{
	opacity: 0;
	animation: left-in-animate 0.7s ease-out forwards;
}
.main-title.main-title-2{
	opacity: 0;
	animation: left-in-animate 0.7s ease-out forwards;
	animation-delay: 0.2s;
}
.main-title.main-title-3{
	opacity: 0;
	animation: left-in-animate 0.7s ease-out forwards;
	animation-delay: 0.4s;
} */

.banner-main-text{
	position:relative;
	display: flex;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.6;
	margin-bottom: var(--lg-pad);
	color: var(--white-color);
	opacity: 0;
	animation: opac-in-animate 0.7s ease-in forwards;
	animation-delay: 0.5s;
}
.banner-main-text p{
	margin: 0;
}
.banner-main-btn{
	position: relative;
	display: flex;
	opacity: 0;
	animation: btm-in-animate 0.7s ease-out forwards;
	animation-delay: 0.8s;
}


/* .main-title:before {
	content: "";
	position: absolute;
	width: 0px;
	height: 2px;
	top: -24px;
	left: 0%;
	background: var(--sub-color);
	z-index: 3;	
} 
.show-title.main-title:before {
	width: 96px;
	transition: all 0.4s ease-out;
	transition-delay: 0.6s;
} */

/*
.show-title.main-title {
	opacity: 1;
	transform: translateX(0%);
	transition: all 0.5s ease-in-out;
}
*/

/* .show-title.main-title {
	opacity: 1;
}

.show-title.main-title h1,
.show-title.main-title div{
	animation: text-clip 1s 0s cubic-bezier(0.5, 0, 0.1, 1) both;
} */

@keyframes text-clip {
  from {
		clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
  }
  to {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
.banner-vertical-btn {
	position: absolute;
	display: flex;
	right: 72px;
	bottom: 48px;
	color: var(--white-color);
}
.banner-scroll-btn {
	position: relative;
	display: flex;
	white-space: nowrap;
	line-height: 24px;
	color: var(--white-color);
}
.banner-scroll-btn i {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 24px;
	height: 24px;
	font-size: var(--icon-font);
	margin-right: 36px;
}
.banner-vertical-btn .banner-scroll-btn {
	position: absolute;
	left: 100%;
	transform-origin: 0% 0%;
	transform: rotate(-90deg);
}

#content-home-1 {
	overflow: hidden;
	background: var(--white-color);
}
#content-home-1 .half-header-trigger {
	top: 40%;
}

.banner-scroll-text {
	position: absolute;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	font-size: 280px;
	width: initial;
	width: 100%;
	white-space: nowrap;
	letter-spacing: 18px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--light-grey-color);
	top: -4%;
	left: 0%;
	z-index: 0;
}

#content-home-text-animation {
	background: var(--white-color);
	overflow: hidden;
	height: 100vh;
}
.half-header-trigger {
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	height: 1px;
	width: 1px;
}

.large-text-animation {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	height: 100%;
}
.large-text {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50%;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	letter-spacing: 8px;
	font-size: 160px;
	font-weight: 800;
	line-height: 1;
}
.lgt-1 {
	left: -50%;
	color: var(--main-color);
}
.lgt-2 {
	color: var(--sub-color);
}
.lgt-3 {
	left: 50%;
	color: var(--main-color);
}

.mouse-wrap{
	position: absolute;
	display: none;
	width: 40%;
	left: 30%;
    bottom: 24px;
    z-index: 1;
}
.mouse-wrap p {
	position: relative;
	display: block;
	text-align: center;
	letter-spacing: 2px;
	font-size: 12px;
	font-weight: 600;
	color: var(--sub-color);
	text-transform: uppercase;
	animation: nudgeText 5.5s ease-out infinite;
	margin-top: 64px;
}
.mouse {
	top: 0;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 32px;
	animation: nudgeMouse 5.5s ease-out infinite;
}
.mouse-track {
	content: '';
	background: var(--white-color);
	width: 4px;
	height: 12px;
	border-radius: 3px;
	animation: trackBallSlide 5.5s linear infinite;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	transform: translateY(10px);
}
.mouse .frame {
	width: 100%;
	position: absolute;
	z-index: 1;
}
.mouse .frame .stroke-color {
	fill: none;
	stroke: var(--white-color);
	stroke-width: 2;
	opacity: 0.5;
}
.mouse .mouse-left,
.mouse .mouse-right {
	width: 50%;
	position: absolute;
	z-index: 2;
}
.mouse .mouse-right {
  right: 0;
}
.mouse .Animate-Draw {
	fill: none;
	stroke: var(--white-color);
	stroke-width: 2;
	fill-opacity: 1;
}
.mouse .mouse-left .Animate-Draw {
	animation: DrawLine 5.5s ease-out infinite;
}
.mouse .mouse-right .Animate-Draw {
	animation: DrawLineBack 5.5s ease-out infinite;
}

.home-page .mouse-track {
	background: var(--main-color);	
}
.home-page .mouse-track,
.home-page .mouse .Animate-Draw{
	stroke: var(--main-color);
}

#content-home-2 {
	/*	overflow: hidden;*/
	color: var(--white-color);
	min-height: 100vh;
	transform: none;
	transition: none;
}
#content-home-2 .banner-blk-txt .content-banner-text {
	margin: 0;
}
#content-home-2 .banner-blk-txt .content-banner-buttons {
	margin-top: 48px;
}
#content-home-2 .content-banner-text {
	color: var(--light-text-color);
}

#content-home-clients {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: flex-end;
	padding-bottom: 0px;
	background: var(--white-color);
}
#content-home-clients .content-logos {
	min-height: 900px;
}
#content-home-clients .home-clients-text {
	position: absolute;
	width: 100%;
	max-width: 100%;
	height: calc(100% - 240px);
	top: 240px;
	left: 0;
}
#content-home-clients .container,
#content-home-clients .content-banner {
	height: 100%;
}

/* PAGE STYLES *****************************/

#banner-main-top {
	position: relative;
	padding-top: 80px;
	background: var(--light-bg-color);
	z-index: 2;
}
#banner-main-top.banner-top-slider {
	background: var(--white-color);
	overflow: hidden;
}

#banner-main-top .container {
	/*
	display: flex;
	flex-direction: column;
	height: 100%;
*/
}
.banner-top-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 120px 0px;
	min-height: calc(75vh - 80px);
}
.banner-top-slider .banner-top-wrapper {
	flex-direction: row;
	justify-content: flex-end;
}
.banner-top-text {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 40%;
}
.banner-top-with-image .banner-top-text {
	width: 33.3333%;
}
.banner-top-slider .banner-top-text {
	width: 36%;
	align-self: center;
	padding-right: 72px;
}
.banner-top-text h1 {
	margin: 0px 0px 8px 0px;
}
.banner-top-text h1:after {
	content: ".";
	display: inline;
	color: var(--sub-color);
}
.banner-top-text h1 span {
	color: var(--sub-color);
}
.banner-top-text .content-banner-text {
	margin: 0;
}
.banner-top-text h1 + .btn-red-icon{
    margin-top: 48px;
}
.banner-top-text p + .btn-red-icon{
    margin-top: 24px;
}
.banner-top-image {
	position: absolute;
	display: block;
	width: 56%;
	right: 0px;
	bottom: -72px;
	overflow: hidden;
	border-radius: var(--main-radius) 0 0 var(--main-radius);
	box-shadow: var(--main-shadow);
}
.banner-top-image img {
	width: 100%;
	height: auto;
}
.banner-top-wrapper-button{
	position: absolute;
	bottom: -96px;
}
#banner-main-top.banner-top-background {
	background-color: var(--main-color);
	background-size: cover;
	background-position: center top;
}
.banner-top-background .content-banner-title{
	color: var(--white-color);
}
.banner-top-background .content-banner-text{
	color: var(--light-text-color);
}

#service-list-blocks {
	/*	overflow: hidden;*/
	color: var(--white-color);
	min-height: 100vh;
	/*	padding: 0;*/
	transform: none;
	transition: none;
}
#service-list-blocks .content-banner {
	transform: none;
	transition: none;
	overflow: initial !important;
}
#content-home-2 .banner-blk-txt,
#service-list-blocks .banner-blk-txt {
	align-self: flex-start;
	opacity: 1;
	animation: none;
}
/*
#blb-pin{
	position: sticky;
	top: 160px;
}
*/
#blb-pin-end {
	position: relative;
	display: block;
	height: 1px;
}
.blk-txt-animate {
	position: relative;
	display: flex;
	flex-direction: column;
	opacity: 0;
}
#content-home-2 .fade-text .blk-txt-animate,
#service-list-blocks .fade-text .blk-txt-animate {
	opacity: 1;
	animation: btm-in-animate 0.4s ease-out forwards;
}

/*
#service-list-blocks .banner-blk-txt .content-banner-text {
	margin: 0;
}
*/
#service-list-blocks .content-banner-text {
	color: var(--light-text-color);
}
#service-list-blocks .content-banner-buttons .btn-red-icon,
#service-list-blocks .content-banner-buttons .btn-red-icon > span {
	color: var(--white-color);
}

#service-icons {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: flex-end;
}
#service-icons .service-page-text {
	position: absolute;
	width: 100%;
	max-width: 100%;
	height: calc(100% - 240px);
	height: 100%;
	top: 0px;
	left: 0;
	z-index: 1;
}
#service-icons .container,
#service-icons .content-banner {
	height: 100%;
}

.content-icons {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 50%;
	margin-right: -4px;
	z-index: 2;
}
.content-icon-block {
	position: relative;
	display: flex;
	width: 50%;
	padding: 4px;
}
.icon-block {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	padding: 16px 48px;
	padding: 64px;
	border-radius: var(--main-radius);
	color: var(--dark-text-color);
	background: var(--light-bg-color);
	transform: scale(1);
	transition: all 0.2s ease-out;
	z-index: 1;
}
.icon-block:hover {
	color: var(--white-color);
	background: var(--sub-color);
	transform: scale(1.04);
	transition: all 0.3s ease-in-out;
	z-index: 2;
}
.icon-block-icon {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 80px;
	height: 80px;
	font-size: 48px;
	transform: translateY(0);
	transition: transform 0.2s ease-out;
}
.icon-block:hover .icon-block-icon {
	transform: translateY(-8px);
	transition: transform 0.3s ease-in-out;
}
.icon-block-title {
	position: relative;
	line-height: 24px;
	margin-top: 8px;
	font-size: 20px;
	font-weight: 700;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
}
.page-wrapper {
	padding-top: 48px;
	padding-bottom: 120px;
}
.page-row {
	display: flex;
}
.page-menu-list {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 25%;
	padding-right: var(--lg-pad);
}
.page-body {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
}
.page-full {
	background: var(--white-color);
}
.page-full .page-body {
	padding: 0;
	width: 880px;
	margin: 0 auto;
	padding-bottom: 120px;
}
.page-full .page-body p:last-child {
	margin: 0;
}
.page-header {
	margin-bottom: var(--lg-pad);
}
.page-header h1,
.page-header h2 {
	position: relative;
	margin: 0;
}
.page-header h1:after {
	content: ".";
	display: inline;
	color: var(--sub-color);
}
.page-content {
	position: relative;
	display: flex;
	flex-direction: column;
	color: var(--text-color);
}
.page-content b {
	font-weight: 700;
}
.page-content ul {
	list-style: none;
	padding: 0;
	margin: 0px 0px var(--main-pad) 0px;
}
.page-content ul li {
	position: relative;
	margin: 0px 0px var(--xs-pad) 0px;
	padding: 0px 0px 0px 24px;
}
.page-content ul li:before {
	/*	content: "\f00c";*/
	content: "\e122";
	position: absolute;
	top: 0px;
	left: 0px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: left;
	width: var(--main-pad);
	height: var(--main-pad);
	line-height: var(--main-pad);
	color: var(--sub-color);
	background: none;
	font-weight: 700;
	font-size: 12px;
	font-family: "Font Awesome 6 Pro";
}

/* SEO PAGE *****************************/

.sub-page.seo-page #content-wrapper {
    padding-top: 0px;
}

.seo-page .content-banner-wrap{
	padding: 96px 0px;
}

/*
.seo-page .banner-blk-txt{
	opacity: 1;
}
*/
.seo-page .banner-top-text,
.seo-page .banner-txt-center .banner-blk-txt{
	width: 880px;
    margin: 0 auto;	
}
.seo-page .banner-top-text{
	padding: 0 24px;
	
}

.seo-page .banner-top-text .content-banner-text{
	padding-right: 32%;
}
.seo-page .banner-txt-center .banner-blk-txt h2,
.seo-page .banner-txt-center .banner-blk-txt h3,
.seo-page .banner-txt-center .banner-blk-txt h4{
	color: var(--main-color);
}
.seo-page .banner-txt-center .banner-blk-txt p{
	margin-bottom: 96px;
}
.seo-page .banner-txt-center .banner-blk-txt p:last-child{
	margin-bottom: 0px;
}
.seo-page .banner-txt-center .banner-blk-txt .btn-red-icon{
	align-self: flex-start;
}

#content-middle{
	padding-top: 0;
}

.content-grey-blocks{
	position: relative;
	display: flex;
}
.content-grey-block{
	position: relative;
	display: flex;
	flex-direction: column;
	width:33.3333%;
	margin: 0 4px;
	padding: var(--lg-pad);
	background: var(--light-bg-color);
}
.content-grey-block h4{
	text-transform: uppercase;
	margin-bottom: var(--sm-pad);
}
.link-list{
	position: relative;
	display: flex;
	flex-direction: column;
}
.link-list a{
	position: relative;
	display: flex;
	line-height: var(--main-pad);
	margin-bottom: var(--xs-pad); 
}
.link-list a i{
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	width: var(--main-pad);
	height: var(--main-pad);
	line-height: var(--main-pad);
}

.seo-page #content-home-clients{
	padding-top: 240px;
	padding-bottom: 240px;
}
.seo-page #content-home-clients .home-clients-text{
	height: 100%;
	top: 0;
}

#contact-sticky-block{
	position: fixed;
	bottom: 48px;
	right: 48px;
/*	height: 100%;*/
	z-index: 3;
/*	pointer-events: none;*/
}
.contact-sticky-block{
	position: relative;
	display: flex;
    flex-direction: column;
	width: 360px;
    padding: var(--main-pad);
    background: var(--white-color);
    box-shadow: var(--main-shadow);
    border-radius: var(--main-radius);
	opacity: 0;
	
	animation: contact-blk-animate 0.5s ease-in-out forwards;
	animation-delay: 0.5s;
	transform-origin: 100% 100%;
}

@keyframes contact-blk-animate {
	0% {
		opacity: 0;
		transform: scale(0.4) translateY(50%) translateX(50%);
	}
	100% {
		opacity: 1;
		transform: scale(1) translateY(0%) translateX(0%);
	}
}


.contact-sticky-block-title div{
	font-size: 12px;
	line-height: 16px;
	margin-bottom: 8px;
	color: var(--light-text-color);
}
.contact-sticky-block-text{
	margin-bottom: var(--lg-pad);
	color: var(--light-text-color);
}
.contact-sticky-block .txt-btn{
	align-self: flex-start;
}

.contact-user-img{
	position: absolute;
	display: block;
	left: -64px;
	top: 16px;
	width: var(--lg-pad);
	height: var(--lg-pad);
	border-radius: 50%;
	overflow: hidden;
	opacity: 0;
	animation: pop-in-animate 0.2s ease-in-out forwards;
	animation-delay: 1.0s;	
}
.contact-user-img span{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	background: var(--light-bg-color);
	height: 100%;
}
.contact-user-img span i{
	color: var(--light-text-color);
	font-size: 18px;
}
.contact-user-img img{
	max-width: 100%;
	height: auto;
}


/* CONTACT PAGE *****************************/

.contact-page {
	/*	overflow: hidden;*/
}

.contact-page .content-main-wrapper {
	padding-bottom: 120px;
	z-index: 2;
}
.contact-page #content-top-1 {
	padding-bottom: 0px;
}
.contact-page #content-main {
	padding: 0;
	/*	min-height: initial;*/
}
.contact-page #content-main:before,
.contact-page #content-main:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 40%;
	z-index: 1;
}
.contact-page #content-main:before {
	top: 0;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 60%) no-repeat;
}
.contact-page #content-main:after {
	bottom: 0;
	background: linear-gradient(0deg, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 0) 100%) no-repeat;
}

#map-canvas {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 0;
}
#map-canvas:after {
	content: "";
	display: block;
	position: absolute;
	right: 0%;
	top: 0%;
	width: 50%;
	height: 100%;
	background: #ffffff;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 60%) no-repeat;
	z-index: 1;
}
.contact-page .content-left {
	width: 50%;
	padding-top: var(--lg-pad);
	padding-bottom: var(--lg-pad);
	opacity: 0;
}
.contact-page .ani-blocks .content-left {
	animation: opac-in-animate 0.5s ease-out forwards;
}

.contact-page .content-right {
	/*	border-left: 1px solid var(--light-border-color);*/
	width: 50%;
	padding-top: var(--lg-pad);
	padding-bottom: var(--lg-pad);
	padding-left: 80px;
	opacity: 0;
}

.contact-page .ani-blocks .content-right {
	animation: btm-in-animate 0.5s ease-out forwards;
}

.content-form {
	position: relative;
	display: block;
	z-index: 2;
}

.contact-form-block {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 64px;
	background: var(--white-color);
	box-shadow: var(--main-shadow);
	border-radius: var(--main-radius);
}

.content-form-text {
	position: relative;
	margin-bottom: 16px;
	color: var(--text-color);
}

.content-form-title {
	position: relative;
	margin-bottom: 16px;
}
.content-form-title h3 {
	color: var(--main-color);
	font-size: 24px;
	margin: 0;
}
.contact-page #content-top-1 h2:after,
.content-form-title h3:after {
	content: ".";
	display: inline;
	color: var(--sub-color);
}

.address-list {
	position: relative;
	display: flex;
	flex-direction: column;
}
.banner-top-wrapper .address-list {
	margin-top: var(--lg-pad);
}
.address-list-block {
	position: relative;
	display: flex;
	margin-bottom: 16px;
}
.address-list .address-list-block:last-child {
	margin-bottom: 0px;
}
.address-list-icon {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	align-items: center;
	width: 32px;
	height: 32px;
	font-size: 22px;
	color: var(--sub-color);
}
.address-list-text {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0px 0px 0px 16px;
	font-weight: 400;
	color: var(--main-color);
}
.address-list-text a {
	color: var(--main-color);
}
.address-list-text a:hover {
	color: var(--sub-color);
}
.address-list-text a.line-link {
	text-decoration: underline;
}
.address-list-text a.line-link:hover {
	text-decoration: none;
}
.address-list-text span {
	display: block;
	line-height: 24px;
	padding: 4px 0px;
}

.form-social {
	justify-content: flex-end;
}

.form-social .footer-social-links {
	margin-right: -16px;
}

#contact-banner-dark{
	background: var(--main-color);
	margin-top: 360px;
	padding: 120px 0px;
/*	margin-bottom: 240px;*/
}
#contact-banner-dark .container{
	display: flex;
}

#contact-banner-dark .banner-blk-txt,
#contact-banner-dark .address-list-text,
#contact-banner-dark .address-list-text a{	
	color: var(--white-color);
}
#contact-banner-dark .content-banner-title{
	margin-bottom: var(--lg-pad);
}
#contact-banner-dark .content-right {
	position: relative;
	width: 50%;
	align-self: flex-end;
	margin-bottom: -48px;
}
#contact-banner-dark #contact-form-wrap {
	position: absolute;
	right: 0;
	bottom: 0;
}

/* SLIDER STYLES *****************************/
.swiper-slide {
	height: auto;
	width: auto;
	margin: 0 auto;
}

.content-banner-slider {
	overflow: hidden;
}

.banner-top-slider .content-banner-slider {
	overflow: initial;
}

.content-banner-slider .banner-blk-txt {
	width: 36%;
	padding-right: 72px;
	z-index: 1;
}
.content-banner-slider .slider-wrapper {
	width: 64%;
	z-index: 2;
}
.content-banner-slider .slider-wrapper.swiper {
	overflow: initial;
}

.slider-wrapper {
	position: relative;
}
.project-slide-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 24px 24px;
}

.project-slide-bg {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0px;
	border-radius: var(--main-radius);
	background: none !important;
	z-index: 2;
	/*	overflow: hidden;*/
	transform: perspective(200px);
	transform-style: preserve-3d;
	/*	transform-origin: 50% 50%;*/
}

.project-slide-shadow {
	content: "";
	position: absolute;
	display: flex;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	left: 3px;
	top: 3px;
	border-radius: 9px;
	z-index: 0;
	box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.16);
}

.project-slide-gradient {
	position: absolute;
	width: 100%;
	height: 50%;
	left: 0;
	bottom: -1px;
	z-index: 2;
	transition: height 0.2s ease;
}
.project-slide-block:hover .project-slide-gradient {
	height: 100%;
	transition: height 0.3s ease-out;
}
.project-slide-block {
	position: relative;
	display: flex;
	flex-direction: column;
	border-radius: var(--main-radius);
	overflow: hidden;

	/*
	transform: perspective(200px);
	transform-style: preserve-3d;
*/
}
.project-slide-block > img {
	position: relative;
	height: auto;
	z-index: 1;
}

/*FIX FOR IMAGE JUMP ON PAGE LOAD*/

.project-slide-block {
	height: 0;
	/* Formula is: (height / width * 100%) */
	padding-top: calc(1280 / 900 * 100%);
}
.project-slide-block > img {
	position: absolute;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
}
.project-slide-full-link {
	position: relative;
	display: flex;
	flex-direction: column;
	transform-style: preserve-3d;
}
/*
.project-slide-full-link:hover{
	cursor: pointer;
}
*/
.project-slide-content,
.team-slide-content {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 48px;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 5;
}

.project-slide-content{
	transform: perspective(1px) translateZ(0);
	backface-visibility: hidden;
}
/*
.project-slide-content p{
	-webkit-font-smoothing: subpixel-antialiased;
}
*/
.project-slide-logo {
	position: absolute;
	display: block;
	/*	top: 24px;*/
	top: 32px;
	left: 48px;
	z-index: 2;
}

.project-slide-logo img {
	height: 48px;
	height: 56px;
	width: auto;
}
.project-slide-bg > .project-slide-logo {
	left: 112px;
	top: 136px;
	transform: translateZ(80px);
	transform-style: preserve-3d;
}
.project-slide-bg > .project-slide-logo img {
	transform-origin: 0% 0%;
	transform: scale(0.6);
}

.project-slide-title,
.team-slide-title {
	position: relative;
	display: block;
}
.project-slide-title h3,
.team-slide-title h3 {
	margin: 0;
	color: var(--white-color);
}

/*
.project-slide-title{
	transform: translateZ(80px);
}
*/
.project-slide-title h3 {
	letter-spacing: 0px;
	margin-bottom: 16px;
}
.project-slide-title span {
	display: block;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 20px;
	letter-spacing: 1px;
	color: var(--white-color);
}
.project-slide-text,
.team-slide-text {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0px;
	color: var(--white-color);
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height 0.2s ease, opacity 0.2s ease;
}
.project-slide-text p {
}

.project-slide-text .txt-btn {
	display: inline-flex;
	align-self: flex-start;
	margin-top: 32px;
}
.project-slide-block:hover .project-slide-text,
.team-slide-block:hover .team-slide-text {
	position: relative;
	display: flex;
	padding-top: 16px;
	opacity: 1;
	max-height: 100%;
/*	max-height: 96px;*/
	transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in;

}
.project-slide-block:hover .project-slide-text p{
	margin: 0;
	display: -webkit-box;
	line-clamp: 3;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	-webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}
.team-slider .swiper-slide:hover,
.team-slider .team-slide-wrap:hover {
	cursor: url("../images/axa-navigation-red.png"), auto;
}

.team-slide-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 24px 24px;
}
.team-slide-block {
	position: relative;
	display: flex;
	flex-direction: column;
	/*	border-radius: var(--main-radius);*/
	overflow: hidden;
}
.team-slide-block img {
	border-radius: var(--main-radius);
}
.team-slide-content {
	border-radius: var(--main-radius);
	overflow: hidden;
}
.team-slide-title {
	position: relative;
	display: block;
}
.team-slide-title h3 {
	margin: 0;
	line-height: 1;
	color: var(--white-color);
}
.team-slide-text {
	flex-direction: row;
}
.team-slide-text-title {
	line-height: var(--main-pad);
	padding-top: 8px;
}
.team-slide-text-socials {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	margin-left: auto;
}
.social-btn {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0;
	height: var(--lg-pad);
	width: var(--lg-pad);
	line-height: var(--lg-pad);
	font-size: var(--icon-font);
	color: var(--white-color);
	transition: color ease 0.2s;
}
.social-btn:hover {
	color: var(--sub-color);
	transition: color ease-out 0.4s;
}

.team-slide-block:hover .team-slide-text {
	padding: 0px;
	max-height: 48px;
	transition: max-height 0.4s ease-in-out, opacity 0.3s ease-in;
}

.team-slide-gradient {
	position: absolute;
	width: 100%;
	height: 40%;
	left: 0px;
	bottom: 0px;
	border-radius: 0 0 7px 7px;
	background: linear-gradient(180deg, rgba(23, 36, 55, 0) 0%, rgba(23, 36, 55, 1) 100%) no-repeat;
	z-index: 2;
}

.project-slider .swiper-wrapper:hover,
.project-slider .project-slide-wrap:hover,
.project-slider .project-slide-bg:hover,
.project-slider .project-slide-full-link:hover,
.project-slider .project-slide-content:hover {
	cursor: url("../images/axa-navigation-red.png"), auto;
}
.project-page .project-slider .swiper-slide:hover,
.project-page .project-slider .project-slide-wrap:hover,
.project-page .project-slider .project-slide-bg:hover,
.project-page .project-slider .project-slide-full-link:hover,
.project-page .project-slider .project-slide-content:hover,
.banner-top-slider .project-slider .swiper-slide:hover,
.banner-top-slider .project-slider .project-slide-wrap:hover,
.banner-top-slider .project-slider .project-slide-bg:hover,
.banner-top-slider .project-slider .project-slide-full-link:hover,
.banner-top-slider .project-slider .project-slide-content:hover {
/*	cursor: url("../images/axa-navigation-light.png"), auto;*/
	cursor: url("../images/axa-navigation-red.png"), auto;
}

.project-slider .txt-btn:hover,
.project-page .project-slider .txt-btn:hover,
.banner-top-slider .project-slider .txt-btn:hover {
	cursor: pointer;
}

/* PROJECT PAGE *****************************/

.project-page #content-wrapper {
	padding-top: 240px;
	z-index: 1;
}
.banner-project-top .banner-top-text {
	width: 48%;
}
.banner-project-top .content-banner-text {
	padding-right: 96px;
}
.project-top-image {
	position: absolute;
	display: block;
	width: 48%;
	right: 48px;
	bottom: -30%;
	overflow: hidden;
}
.project-top-image span {
	position: relative;
	display: flex;
	transform: translateY(50%);
}
.project-top-image img {
	width: 100%;
	height: auto;
}

#project-image-banner {
	color: var(--white-color);
	padding: 240px 0px;
	overflow: hidden;
}
.project-image-banner .banner-blk-txt {
	width: 48%;
	padding-right: 72px;
}
.project-image-banner .content-banner-text {
	color: var(--light-text-color);
}
.project-image-banner {
}
#project-image-slider {
	margin: 72px auto 0 auto;
}

#project-image-slider.cover-slider-small {
	width: 50%;
}

#project-image-vertical-slider {
	margin: 72px auto 0 auto;
	width: 40%;
}

.cover-slider.swiper {
	overflow: initial;
}
.cover-slider .image-slide-block:hover {
	cursor: url("../images/axa-navigation-red.png"), auto;
}
.image-slide-block {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--main-radius);
	padding: 0;
	width: 100%;
}
.image-slide-block img {
	width: 100%;
	height: auto;
}
.cover-slider .image-slide-block img {
	image-rendering: pixelated;
}
#project-image-vertical-slider.cover-slider .image-slide-block img {
	image-rendering: -webkit-optimize-contrast;
}
.cover-slider .swiper-slide .image-slide-block {
	filter: blur(8px);
	transition: 0.2s filter linear;
}
.cover-slider .swiper-slide.swiper-slide-prev .image-slide-block,
.cover-slider .swiper-slide.swiper-slide-next .image-slide-block {
	filter: blur(8px);
	transition: 0.2s filter linear;
}
.cover-slider .swiper-slide.swiper-slide-active .image-slide-block {
	box-shadow: var(--main-shadow);
	filter: blur(0px);
	transition: 0.2s filter ease;
}

.cover-slider .swiper-slide {
	-webkit-transform: translateZ(0);
	-webkit-backface-visibility: hidden;
}
.cover-slider .swiper-slide img {
	opacity: 0;
}
.cover-slider .swiper-slide.swiper-slide-prev img,
.cover-slider .swiper-slide.swiper-slide-next img {
	opacity: 1;
}
.cover-slider .swiper-slide.swiper-slide-active img {
	opacity: 1;
}

#content-center {
	color: var(--white-color);
}
#content-center .content-banner-text {
	color: var(--light-text-color);
}

#project-vertical-slider {
	margin: 120px 0px;
	/*	padding-bottom: 120px;*/
}

.vertical-slider .swiper-wrapper {
	/*	max-height: 70vh;*/
	height: auto;
	height: 980px;
}
.vertical-slider .swiper-slide {
	height: 900px;
}
.vertical-slider .swiper-slide .image-slide-block {
	background: var(--dark-main-color);
}
.vertical-slider .image-slide-block:hover {
	cursor: url("../images/axa-navigation-vertical-dark.png"), auto;
}
.vertical-slider .swiper-slide img {
	opacity: 0.5;
}
.vertical-slider .swiper-slide.swiper-slide-active img {
	opacity: 1;
}

#project-horizontal-slider {
	margin: 120px 0px;
}
.horizontal-slider.swiper {
	overflow: initial;
}

.horizontal-slider .image-slide-block:hover {
	cursor: url("../images/axa-navigation-red.png"), auto;
}

#tech-icons {
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: flex-start;
	background: var(--white-color);
}
#tech-icons .tech-page-text {
	position: absolute;
	width: 100%;
	max-width: 100%;
	height: 100%;
	top: 0px;
	right: 0;
	z-index: 1;
}
#tech-icons .container,
#tech-icons .content-banner {
	height: 100%;
}
#tech-icons .banner-txt-right {
	justify-content: flex-end;
}
#tech-icons .banner-txt-right .banner-blk-txt {
	width: 40%;
	padding-left: 196px;
}

.content-img-blocks {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 60%;
	margin-left: -4px;
	z-index: 2;
}
.content-img-block {
	position: relative;
	display: flex;
	width: 25%;
	padding: 4px;
}
.img-block {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	padding: 16px 48px;
	padding: 48px 48px 24px 48px;
	color: var(--text-color);
	background: var(--light-bg-color);
	/*	transition: all 0.2s ease-out;*/
	z-index: 1;
}
.img-block-img {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 144px;
	height: 128px;
	transform: translateY(0);
	transition: transform 0.2s ease-out;
}
.img-block:hover .img-block-img {
	transform: translateY(-8px);
	transition: transform 0.3s ease-in-out;
}
.img-block-title {
	position: relative;
	height: 24px;
	line-height: 24px;
	overflow: hidden;
	color: var(--light-text-color);
	opacity: 0;
	transform: translateY(0);
	transition: all 0.2s ease-out;
}
.img-block:hover .img-block-title {
	opacity: 1;
	transform: translateY(-8px);
	transition: all 0.3s ease-in-out;
}

.project-image-blocks {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0px;
}
.project-image-block-column {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0px;
}
.project-image-blk {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--main-radius);
	box-shadow: var(--main-shadow);
	padding: 0;
}
.project-image-blk img {
	width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
	/*
	object-fit: contain;
	transform: translateZ(0);
	image-rendering: pixelated;
*/
}

#project-image-blocks-top .project-image-blocks {
	flex-direction: row;
	padding: 0 20%;
	justify-content: center;
}
#project-image-blocks-top .project-image-block-column {
	width: 58%;
	z-index: 2;
}
.top-img-main {
	width: 42%;
	z-index: 1;
}
.top-img-top {
	width: 84%;
	margin-top: 12%;
	margin-left: -8%;
}
.top-img-right {
	position: absolute;
	width: 44%;
	top: 32%;
	right: 0;
	z-index: 3;
}
.top-img-btm {
	width: 56%;
	margin-top: 20%;
	margin-left: 8%;
}

#project-image-blocks-center .project-image-blocks {
	margin: 0 5%;
	margin: 0 48px;
}
.image-blk-full {
	width: 100%;
	z-index: 1;
}
.image-blk-absolute {
	position: absolute;
	z-index: 2;
}
.image-blk-left {
	left: -12%;
	top: 20%;
	top: 50%;
	width: 25%;
}
.image-blk-right {
	right: -12%;
	top: -25%;
	top: 10%;
	width: 25%;
}
.image-blk-btm {
	right: 22%;
	bottom: -20%;
	bottom: -40%;
	width: 32%;
}
/*.swiper*/
.project-image-columns-wrapper {
	width: auto;
	overflow: initial;
}
.project-image-columns {
	position: relative;
	display: flex;
	width: auto;
	flex-direction: row;
	margin-left: -48px;
	margin-right: -48px;
	padding-top: 240px;
}
.project-image-column {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0 24px;
	width: 25%;
	transform: translateY(0%);
	transition: transform 0.4s ease-in-out;
}
.project-image-column:hover {
	transform: translateY(-25%);
	transition: transform 0.4s ease-in-out;
}
.project-image-columns .project-image-column.image-hover {
	transform: translateY(-25%);
}
/*
.project-image-columns .project-image-column:nth-child(2):not(:hover){
	transform: translateY(0%);
}
*/

#content-center-images {
	margin-top: 120px;
}
#content-center-images .full-img-large {
	margin-left: -48px;
	border-radius: var(--main-radius) var(--main-radius) 0 0;
	opacity: 0;
}
#content-center-images .full-img-small {
	position: absolute;
	width: initial;
	bottom: -12%;
	right: -9%;
	width: 25%;
	z-index: 2;
	opacity: 0;
}

#content-center-images.ani-images .full-img-large {
	animation: btm-in-animate 0.5s ease-out forwards;
	animation-delay: 0.1s;
}
#content-center-images.ani-images .full-img-small {
	animation: btm-in-animate 0.5s ease-out forwards;
	animation-delay: 0.3s;
}

#content-full-img.content-banner-video {
	position: relative;
	z-index: 2;
}

.project-video {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0px;
}
.video-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	box-shadow: var(--main-shadow);
	border-radius: var(--main-radius);
}
.videoPlayer {
	position: relative;
	display: block;
	margin: 0px;
	width: 100%;
	background: var(--main-color);
	min-height: 240px;
	overflow: hidden;
	border-radius: var(--main-radius);
}
.video-button-wrapper {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	pointer-events: auto;
}
.vid-play .video-button-wrapper {
	pointer-events: none;
}
.video-button-wrapper:hover {
	cursor: pointer;
}
.video-play-button {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	opacity: 1;
	transition: opacity 0.2s ease;
}
.vid-play .video-play-button {
	opacity: 0;
	transition: opacity 0.4s ease-out;
}

.video-play-button span {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 96px;
	height: 96px;
	/*	background: var(--sub-color);*/
	color: var(--white-color);
	font-size: 40px;
	border-radius: 50%;
}
.video-play-button span i {
	position: relative;
	margin-right: -3%;
	z-index: 2;
}
.video-play-button span:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transform: scale(1);
	background: var(--sub-color);
	border-radius: 50%;
	transition: all 0.2s ease;
	z-index: 0;
}
.video-button-wrapper:hover .video-play-button span:after {
	transform: scale(1.2);
	transition: all 0.4s ease-out;
}

.vertical-slides {
	position: relative;
	overflow: hidden;
	/*	margin-bottom: 48px;*/
}
.vertical-slides .container{
	position: relative;
	z-index: 3;
}
.vertical-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 96px 0px;
	height: 100vh;
	perspective: 200px;
}
.vertical-slide {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
}
.vertical-slide .image-slide-block {
	box-shadow: var(--main-shadow);
}



/* PROJECT PAGE SPECIFIC *****************************/

#content-top-1 {
	background: var(--white-color);
}
#content-top-2 {
	background: var(--white-color);
}

.project-page-1 #content-center {
	padding-bottom: 0px;
}
.project-page-1 .gradient-wrapper {
	padding-bottom: 48px;
}

.project-page-2 .gradient-wrapper {
	padding-top: 240px;
}
.project-page-2 #content-center {
	padding-bottom: 0px;
	overflow: hidden;
}
.project-page-3 #content-top-1 {
	padding-bottom: 48px;
}
.project-page-3 #content-center {
	padding-top: 240px;
	overflow: hidden;
}

/*
Altinstar				#F3AF0D
Drophook				#5E44FB
Tokfood					#92BC01
Cheflabels				#E6003E
Mulcol					#1F9BDE
As Watson				#E30B13
Kaijulegends			#FF0092
Vodafone				#E60000		
Disney					#0063E5
Albertheijn				#3B9FE2
Bekendeburen			#F2C700
NNPC					#2D6FB2
Blokker					#F58220
Regenz					#411C59
Fireproof				#3A981A
Skideo					#0076FF
GWS finance				#62AAFF
Gaba					#FF3767
Wereldhaven				#199687
MegaTrading				#217161
Smartvertizing 			#199687
Vybit					#B56AE5
*/

/*Altinstar*/
.project-color-1 .sub-title,
.project-color-1 .content-banner-title .sub-title,
.project-color-1 .banner-top-text h1:after {
	color: #f3af0d;
}
.project-color-1 .btn-red-icon:after,
.project-color-1 .video-play-button span:after{
	background: #f3af0d;
}

/*Drophook*/
.project-color-2 .sub-title,
.project-color-2 .content-banner-title .sub-title,
.project-color-2 .banner-top-text h1:after {
	color: #5e44fb;
}
.project-color-2 .btn-red-icon:after,
.project-color-2 .video-play-button span:after {
	background: #5e44fb;
}

/*Tokfood*/
.project-color-3 .sub-title,
.project-color-3 .content-banner-title .sub-title,
.project-color-3 .banner-top-text h1:after {
	color: #92bc01;
}
.project-color-3 .btn-red-icon:after,
.project-color-3 .video-play-button span:after {
	background: #92bc01;
}

/*Cheflabels*/
.project-color-4 .sub-title,
.project-color-4 .content-banner-title .sub-title,
.project-color-4 .banner-top-text h1:after {
	color: #e6003e;
}
.project-color-4 .btn-red-icon:after,
.project-color-4 .video-play-button span:after {
	background: #e6003e;
}

/*Mulcol*/
.project-color-5 .sub-title,
.project-color-5 .content-banner-title .sub-title,
.project-color-5 .banner-top-text h1:after {
	color: #1f9bde;
}
.project-color-5 .btn-red-icon:after,
.project-color-5 .video-play-button span:after {
	background: #1f9bde;
}

/*As Watson*/
.project-color-6 .sub-title,
.project-color-6 .content-banner-title .sub-title,
.project-color-6 .banner-top-text h1:after {
	color: #e30b13;
}
.project-color-6 .btn-red-icon:after,
.project-color-6 .video-play-button span:after {
	background: #e30b13;
}

/*Kaijulegends*/
.project-color-7 .sub-title,
.project-color-7 .content-banner-title .sub-title,
.project-color-7 .banner-top-text h1:after {
	color: #ff0092;
}
.project-color-7 .btn-red-icon:after,
.project-color-7 .video-play-button span:after {
	background: #ff0092;
}

/*Vodafone*/
.project-color-8 .sub-title,
.project-color-8 .content-banner-title .sub-title,
.project-color-8 .banner-top-text h1:after {
	color: #e60000;
}
.project-color-8 .btn-red-icon:after,
.project-color-8 .video-play-button span:after {
	background: #e60000;
}

/*Disney*/
.project-color-9 .sub-title,
.project-color-9 .content-banner-title .sub-title,
.project-color-9 .banner-top-text h1:after {
	color: #0063e5;
}
.project-color-9 .btn-red-icon:after,
.project-color-9 .video-play-button span:after {
	background: #0063e5;
}

/*Albertheijn*/
.project-color-10 .sub-title,
.project-color-10 .content-banner-title .sub-title,
.project-color-10 .banner-top-text h1:after {
	color: #3b9fe2;
}
.project-color-10 .btn-red-icon:after,
.project-color-10 .video-play-button span:after {
	background: #3b9fe2;
}

/*Bekendeburen*/
.project-color-11 .sub-title,
.project-color-11 .content-banner-title .sub-title,
.project-color-11 .banner-top-text h1:after {
	color: #f2c700;
}
.project-color-11 .btn-red-icon:after,
.project-color-11 .video-play-button span:after {
	background: #f2c700;
}

/*NNPC*/
.project-color-12 .sub-title,
.project-color-12 .content-banner-title .sub-title,
.project-color-12 .banner-top-text h1:after {
	color: #2d6fb2;
}
.project-color-12 .btn-red-icon:after,
.project-color-12 .video-play-button span:after {
	background: #2d6fb2;
}

/*Blokker*/
.project-color-13 .sub-title,
.project-color-13 .content-banner-title .sub-title,
.project-color-13 .banner-top-text h1:after {
	color: #f58220;
}
.project-color-13 .btn-red-icon:after,
.project-color-13 .video-play-button span:after {
	background: #f58220;
}

/*Regenz*/
.project-color-14 .sub-title,
.project-color-14 .content-banner-title .sub-title,
.project-color-14 .banner-top-text h1:after {
	color: #411c59;
}
.project-color-14 .btn-red-icon:after,
.project-color-14 .video-play-button span:after {
	background: #411c59;
}

/*Fireproof*/
.project-color-15 .sub-title,
.project-color-15 .content-banner-title .sub-title,
.project-color-15 .banner-top-text h1:after {
	color: #3a981a;
}
.project-color-15 .btn-red-icon:after,
.project-color-15 .video-play-button span:after {
	background: #3a981a;
}

/*Skideo*/
.project-color-16 .sub-title,
.project-color-16 .content-banner-title .sub-title,
.project-color-16 .banner-top-text h1:after {
	color: #0076ff;
}
.project-color-16 .btn-red-icon:after,
.project-color-16 .video-play-button span:after {
	background: #0076ff;
}

/*GWS finance*/
.project-color-17 .sub-title,
.project-color-17 .content-banner-title .sub-title,
.project-color-17 .banner-top-text h1:after {
	color: #62aaff;
}
.project-color-17 .btn-red-icon:after,
.project-color-17 .video-play-button span:after {
	background: #62aaff;
}

/*Gaba*/
.project-color-18 .sub-title,
.project-color-18 .content-banner-title .sub-title,
.project-color-18 .banner-top-text h1:after {
	color: #FF3767;
}
.project-color-18 .btn-red-icon:after,
.project-color-18 .video-play-button span:after {
	background: #FF3767;
}

/*Wereldhaven*/
.project-color-19 .sub-title,
.project-color-19 .content-banner-title .sub-title,
.project-color-19 .banner-top-text h1:after {
	color: #199687;
}
.project-color-19 .btn-red-icon:after,
.project-color-19 .video-play-button span:after {
	background: #199687;
}

/*MegaTrading*/
.project-color-20 .sub-title,
.project-color-20 .content-banner-title .sub-title,
.project-color-20 .banner-top-text h1:after {
	color: #217161;
}
.project-color-20 .btn-red-icon:after,
.project-color-20 .video-play-button span:after {
	background: #217161;
}

/*Smartvertizing*/
.project-color-21 .sub-title,
.project-color-21 .content-banner-title .sub-title,
.project-color-21 .banner-top-text h1:after {
	color: #199687;
}
.project-color-21 .btn-red-icon:after,
.project-color-21 .video-play-button span:after {
	background: #199687;
}

/*Vybit*/
.project-color-22 .sub-title,
.project-color-22 .content-banner-title .sub-title,
.project-color-22 .banner-top-text h1:after {
	color: #B56AE5;
}
.project-color-22 .btn-red-icon:after,
.project-color-22 .video-play-button span:after {
	background: #B56AE5;
}

/*Matricardi*/
.project-color-23 .sub-title,
.project-color-23 .content-banner-title .sub-title,
.project-color-23 .banner-top-text h1:after {
	color: #B1997F;
}
.project-color-23 .btn-red-icon:after,
.project-color-23 .video-play-button span:after {
	background: #B1997F;
}

/*BOKS*/
.project-color-24 .sub-title,
.project-color-24 .content-banner-title .sub-title,
.project-color-24 .banner-top-text h1:after {
	color: #DC3545;
}
.project-color-24 .btn-red-icon:after,
.project-color-24 .video-play-button span:after {
	background: #DC3545;
}


/* CONTENT OVERRIDES *****************************/

#project-banner {
	padding-top: 24px;
	padding-bottom: 240px;
}
.project-page #project-banner {
	background: var(--white-color);
}
.seo-page #project-banner {
	padding-top: 240px;
}

#banner-main-top .banner-top-text,
#banner-main-top .banner-top-image,
#banner-main-top .project-top-image,
#banner-main-top .project-slider,
#team-banner .banner-blk-txt,
#team-banner .team-slider,
#project-banner .banner-blk-txt,
#project-banner .project-slider {
	opacity: 0;
}
#banner-main-top .banner-top-text,
#team-banner.ani-slider .banner-blk-txt,
#project-banner.ani-slider .banner-blk-txt {
	animation: btm-in-animate 0.5s ease-out forwards;
}
#banner-main-top .project-slider,
#banner-main-top .project-top-image,
#banner-main-top .banner-top-image,
#team-banner.ani-slider .team-slider,
#project-banner.ani-slider .project-slider {
	animation: right-in-animate 0.6s ease-out forwards;
}
.gradient-wrapper #project-banner {
	color: var(--white-color);
}
#project-banner .content-banner-center .banner-blk-txt {
	margin-bottom: var(--xxl-pad);
}
#content-top-1 {
	overflow: hidden;
}
#team-banner {
	color: var(--white-color);
	padding: 240px 0px;
}
#team-banner h2 {
	color: var(--white-color);
}
#team-banner h2:after {
	content: ".";
	display: inline;
	color: var(--sub-color);
}
#jobs-content {
	background: var(--white-color);
}
#jobs-content .content-banner-center .banner-blk-txt {
	margin-bottom: var(--lg-pad);
}
#jobs-content .expand-blocks-wrapper .expand-block {
	opacity: 0;
}
#jobs-content.ani-blocks .expand-blocks-wrapper .expand-block {
	animation: btm-in-animate 0.4s ease-out forwards;
}
#jobs-content .expand-blocks-wrapper .expand-block:nth-child(1) {
	animation-delay: 0.4s;
}
#jobs-content .expand-blocks-wrapper .expand-block:nth-child(2) {
	animation-delay: 0.6s;
}
#jobs-content .expand-blocks-wrapper .expand-block:nth-child(3) {
	animation-delay: 0.8s;
}
#jobs-content .expand-blocks-wrapper .expand-block:nth-child(4) {
	animation-delay: 1s;
}
#jobs-content .expand-blocks-wrapper .expand-block:nth-child(5) {
	animation-delay: 1.2s;
}
#content-full-img {
	margin-top: var(--xxl-pad);
}

/* PAGINATION STYLES *****************************/

.pagination {
	position: relative;
	margin: var(--lg-pad) 0;
}

.page-link {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: var(--main-color);
	text-decoration: none;
	background-color: #fff;
	border: none;
	padding: 8px;
	width: 48px;
	height: 48px;
	transition: all 0.2s ease-in-out;
}
.page-link:hover {
	z-index: 2;
	color: var(--white-color);
	background-color: var(--grey-color);
	/*    border-color: var(--main-color);*/
}
.page-link:focus {
	color: var(--white-color);
	background-color: var(--grey-color);
	box-shadow: none;
}
.page-item.active .page-link {
	background: var(--main-color);
}
.page-item:first-child .page-link,
.page-item:last-child .page-link {
	border-radius: 0;
}

/*
.page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6;
}
*/

/* FOOTER STYLES *****************************/

#footer {
	position: relative;
	padding: 64px 0px;
	background: var(--main-gradient-dark);
}
.footer-top {
	position: relative;
	display: flex;
	padding: 96px 0px;
	color: var(--white-color);
}
.footer-top-left {
	position: relative;
	display: flex;
	width: 50%;
}
.footer-top-left .content-banner-title .sub-title {
	margin-left: -24px;
	color: var(--sub-color);
}
.footer-top-left .content-banner-title h2 {
	margin: 0px;
	line-height: 48px;
}
.footer-top-right {
	position: relative;
	display: flex;
	width: 50%;
}
.footer-contact {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	width: 100%;
	padding-top: 24px;
}
.footer-contact-block {
	position: relative;
	display: flex;
	padding-left: 96px;
}
.footer-contact-block a {
	position: relative;
	display: flex;
	color: var(--white-color);
}
.footer-contact-text span {
	white-space: nowrap;
}
.footer-contact-icon {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0;
	height: var(--lg-pad);
	width: var(--lg-pad);
	line-height: var(--lg-pad);
	font-size: 32px;
}
.footer-contact-icon:after {
	content: "";
	display: block;
	position: absolute;
	width: 40px;
	height: 1px;
	top: 24px;
	left: calc(100% + 8px);
	background: var(--sub-color);
}
.footer-contact-text {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 12px 0px 12px 64px;
}
.footer-contact-text div {
	position: relative;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
}
.footer-contact-text span {
	position: relative;
	line-height: 24px;
}

.footer-content {
	position: relative;
	display: flex;
	padding: var(--main-pad) 0px;
	border-top: 1px solid var(--border-color);
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	color: var(--light-text-color);
}

.footer-left {
	position: relative;
	display: flex;
	width: 25%;
}
.footer-menu {
	position: relative;
	display: flex;
	justify-content: center;
	width: 50%;
}

.footer-right {
	position: relative;
	display: flex;
	justify-content: flex-end;
	/*	margin: 0 var(--main-neg);*/
	width: 25%;
}

.footer-social-links {
	position: relative;
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-social-links li {
	position: relative;
	display: flex;
	align-self: flex-start;
	padding: 0;
	margin: 0;
}
.footer-social-links li a {
	position: relative;
	display: flex;
	color: var(--light-text-color);
	text-decoration: none;
	transition: color ease 0.2s;
}
.footer-social-links li a i {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0;
	height: var(--lg-pad);
	width: var(--lg-pad);
	line-height: var(--lg-pad);
	font-size: var(--icon-font);
	z-index: 1;
}
.footer-social-links li a:hover {
	color: var(--white-color);
	transition: color ease-out 0.4s;
}
.footer-social-links li a:after {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	width: 0%;
	height: 0%;
	border-radius: 50%;
	background: var(--sub-color);
	z-index: 0;
	transition: all ease 0.2s;
}
.footer-social-links li a:hover:after {
	top: 0%;
	left: 0%;
	width: 100%;
	height: 100%;
	transition: all ease-out 0.4s;
}
.footer-menu-list {
	position: relative;
	display: flex;
	justify-content: center;
	flex-direction: row;
	padding: 0;
	margin: 0;
	list-style: none;
}
.footer-menu-list li {
	margin: 0;
	padding: 0 var(--sm-pad);
	line-height: var(--main-pad);
	
}
.footer-menu-list a {
	position: relative;
	display: flex;
	color: var(--light-text-color);
	padding: var(--sm-pad) var(--sm-pad);
	line-height: var(--main-pad);
	font-weight: 300;
/*	padding-left: 0;*/
	transition: color ease 0.2s, padding ease 0.2s;
}
.footer-menu-list a:hover {
	color: var(--sub-color);
	transition: color ease-out 0.4s, padding ease-out 0.4s;
}

.footer-right .lang-menu {
	margin: 0px -16px 0px -16px;
}
.footer-right .lang-menu li {
	line-height: 48px;
}
.footer-right .lang-menu li:first-child:after {
	top: 12px;
}
.footer-right .lang-menu a {
	color: var(--light-text-color);
}

.footer-bottom {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 96px 0px;
}
.footer-logo-block {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0;
}
.footer-logo {
	position: relative;
	display: block;
	margin-bottom: var(--sm-pad);
}
.footer-logo img {
	height: 16px;
	width: auto;
}
.footer-copyright {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0;
	font-size: 12px;
	color: var(--dark-grey-color);
	text-align: left;
}
.footer-copyright a {
	color: var(--light-text-color);
}
.footer-copyright a:hover {
	color: var(--sub-color);
}

a.d-link{
	position: relative;
/*	width: 112px!important;*/
	padding-right: 28px;
}
.d-link:after {
	position: absolute;
	display: block;
	content: "\f107";
	width: 24px;
	height: 24px;
	line-height: 24px;
	color: inherit;
	right: 0px;
	top: 12px;
	margin: 0px;
	vertical-align: middle;
	text-align: center;
	font-size: 14px;
	font-family: "Font Awesome 6 Pro";
	font-weight: 300;
	transform-origin: 50% 50%;
	transform: rotate(0deg);
	transition: all 0.2s ease;
}
/*
.d-link:hover:after {
	transition: color ease-out 0.2s, all 0.3s ease;
}
*/
.dropdown-open .d-link:after{
	transform: rotate(-180deg);
	transition: all 0.3s ease;
}
.footer-menu .dropdown-open a.d-link{
	color: var(--sub-color);
}

.footer-menu .dropdown{
	position: relative;
	display: none;
	flex-direction: row;
	padding: 16px 0px 8px 16px;
	width: 100%;
	height: 178px;
}
.footer-menu .dropdown-open .dropdown{
/*	display: flex;*/
}
.footer-menu .dropdown-open .dropdown:before{
	content: '';
	position: absolute;
	display: block;
	width: 1px;
	height: 64px;
	top: 8px;
	left: 13px;
	background:var(--sub-color); 
}
.footer-menu .dropdown ul{
	position: absolute;
	top: 0;
	left: 24px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 16px 0px 0px 8px;
	width: 480px;
}
.footer-menu .dropdown ul li{
	display: flex;
	padding: 0 8px;
	width: 50%;
	opacity: 0;
}
.footer-menu .dropdown-open .dropdown ul li{
/*	opacity: 1;*/
	animation: opac-in-animate 0.3s ease-in forwards;
	animation: footer-nav-in-animate 0.3s ease-out forwards;
	animation-delay: 0.1s;
}
.footer-menu .dropdown-open .dropdown ul li:nth-child(1) {
	animation-delay: 0.1s;
}
.footer-menu .dropdown-open .dropdown ul li:nth-child(2) {
	animation-delay: 0.2s;
}
.footer-menu .dropdown-open .dropdown ul li:nth-child(3) {
	animation-delay: 0.3s;
}
.footer-menu .dropdown-open .dropdown ul li:nth-child(4) {
	animation-delay: 0.4s;
}
.footer-menu .dropdown-open .dropdown ul li:nth-child(5) {
	animation-delay: 0.5s;
}
.footer-menu .dropdown-open .dropdown ul li:nth-child(6) {
	animation-delay: 0.6s;
}
.footer-menu .dropdown-open .dropdown ul li:nth-child(7) {
	animation-delay: 0.7s;
}
.footer-menu .dropdown-open .dropdown ul li:nth-child(8) {
	animation-delay: 0.8s;
}
.footer-menu .dropdown-open .dropdown ul li:nth-child(9) {
	animation-delay: 0.9s;
}
.footer-menu .dropdown-open .dropdown ul li:nth-child(10) {
	animation-delay: 1.0s;
}

.footer-menu .dropdown ul li a {
	position: relative;
	display: flex;
	padding: 8px 0px;
	line-height: 16px;
	color: var(--dark-grey-color);
	text-transform: none;
	font-size: 12px;
	font-weight: 300;
	letter-spacing: 0px;
	text-decoration: none;
	font-family: "Euclid", Arial, Helvetica, sans-serif;
	transition: all 0.2s ease;
}
.footer-menu .dropdown ul li a:hover {
	color: var(--sub-color);
}


.footer-whatsapp{
    position: fixed;
	bottom: 48px;
	right: 48px;
	z-index: 8;
}
.whatsapp-button{
    position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
    align-items: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    font-size: 28px;
    color: var(--white-color);
    
/* NENA heeft gezegd dat dit de juiste kleur is */
    background: #25d366;
    transition: all 0.2s ease-out;
}

.whatsapp-button:hover {
    color: var(--white-color);
    transform: scale(1.2);
    transition: all 0.35s cubic-bezier(.68, -.55, .27, 1.55);
}



/* EMPTY/ERROR PAGE STYLES *****************************/

/*
.empty-page-header{
	position: fixed;
	top: 0;
	left: 0;
	padding: 32px 48px;
}
.empty-page-header img{
	height: 20px;
	width:auto;
}
*/

.error-page .header-main-right{
	display: none;
}

.empty-page {
	display: none;
	height: 100vh;
	flex-direction: column;
	justify-content: center;
	background: var(--white-color);
	background: var(--light-bg-color);
}
.show-page.empty-page {
	display: flex;
}

.error-page .empty-page {
	display: flex;
	width: 100%;
}

.empty-page-msg {
	position: relative;
	width: 30%;
	min-width: 560px;
	align-self: center;
	text-align: center;
	z-index: 2;
}
.empty-page-img {
	position: relative;
	margin-bottom: 24px;
	padding: 0 25%;
}
.empty-page-img span {
	font-size: 40px;
}
.empty-page-img div {
	margin-top: -16px;
}
.empty-page-img div img {
	height: 40px;
	width: auto;
}
.empty-page-txt {
}
.empty-page-title {
	font-size: 40px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	margin-bottom: var(--sm-pad);
}
.empty-page-txt p {
	padding: 0 10%;
	color: var(--grey-color);
	margin-bottom: var(--lg-pad); 
}

.empty-page-animation{
	position: absolute;
	display: flex;
	top: 28%;
	left: 0;
	width: 100%;
	height: 40%;
	overflow: hidden;
	z-index: 1;
}
.empty-animation{
	position: absolute;
	display: flex;
	width: 100%;
	top: 0;
	animation: error-text-animate 20.0s linear infinite;
}
.ea-1{
	left: 0;
}
.ea-2{
	left: 100%;
}
.empty-animation div{
	display: flex;
	justify-content: center;
	text-align: center;
	width: 33.3333%;
	font-weight: 700;
	font-size: 280px;
	line-height: 1;
	color: var(--white-color);
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
}

@keyframes error-text-animate {
	0% {
		transform: translateX(0%);
	}
	100% {
		transform: translateX(-100%);
	}
}

/* MODAL STYLES *****************************/

body.modal-open {
	padding: 0px !important;
	overflow-y: hidden;
	/*	height: 100vh;*/
	/*  	padding-right: 15px;*/
	/*	overflow: hidden;*/
	/*	overscroll-behavior: contain;*/
}
.modal-backdrop {
	/*	background: #ffffff;*/
	background: rgba(0, 0, 0, 1);
}
.modal-backdrop.in {
	opacity: 0.48;
}
.modal-backdrop.show {
	opacity: 0.48;
}
.modal {
	z-index: 9999;
}
.modal-open .modal {
	/*
    text-align: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    height: 100%;
*/
	/*	overscroll-behavior: contain;*/
}
.modal.modal-static .modal-dialog {
	-webkit-transform: none;
	transform: none;
}

.modal-dialog {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	width: 33%;
	min-width: 520px;
	max-width: 90%;
	align-self: center;
	margin: 0px auto;
}
.modal-large .modal-dialog {
	width: 1120px;
	max-width: calc(100% - 32px);
}
.modal-content {
	position: relative;
	background: var(--white-color);
	border: 0px;
	box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.1);
	box-shadow: var(--main-shadow);
	border-radius: var(--main-radius);
}
.modal-content.modal-content-wrap {
	display: flex;
	flex-direction: row;
	padding: 0;
	background: var(--light-bg-color);
	overflow: hidden;
}
.modal-content-left {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 64px;
	width: 54%;
	height: 100%;
	background: var(--light-bg-color);
}
.modal-content-title {
	position: relative;
	height: 32px;
}
.modal-content-title h3,
.modal-content-title h4 {
	margin: 0;
}
.modal-content-text {
	position: relative;
	display: flex;
	flex-direction: column;
	margin-right: -16px;
	height: calc(100% - 32px);
	height: 560px;
	overflow: hidden;
}
.modal-content-scroll-text {
	position: relative;
	display: flex;
	flex-direction: column;
	padding-right: 16px;
	overflow-y: auto;
	height: 100%;
}
.modal-content-scroll-text::-webkit-scrollbar {
	width: 8px;
	border-radius: 4px;
	cursor: pointer;
}
.modal-content-scroll-text::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.08);
	cursor: pointer;
	border-radius: 4px;
}
.modal-content-scroll-text::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, 0.24);
	border-radius: 4px;
	cursor: pointer;
	transition: background 300ms ease;
}
.modal-content-scroll-text::-webkit-scrollbar-thumb:hover {
	background: rgba(0, 0, 0, 0.32);
	cursor: pointer;
}
.modal-content-right {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 16px;
	width: 46%;
	height: 100%;
	background: var(--white-color);
	box-shadow: var(--main-shadow);
	border-radius: var(--main-radius);
}

.modal-content-right .modal-body {
	padding-top: 24px;
}

.open-job.modal-large .modal-dialog {
	width: 520px;
}
.open-job.modal-large .modal-content-left {
	display: none;
}
.open-job.modal-large .modal-content-right {
	width: 100%;
}

.modal-header {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 48px 48px 24px 48px;
	border: 0px;
}
.modal-content-wrap .modal-header {
	padding: 48px 48px 0px 48px;
}
.modal-header h2,
.modal-header h3 {
	margin-bottom: 0px;
	/*	font-size: 26px;*/
	/*	color: var(--sub-color);*/
}
.modal-header p {
	margin: 0;
	color: var(--text-color);
	/*    margin-bottom: 16px;*/
}
.btn-close {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	padding: 0;
	color: var(--main-color);
	background: none;
	border: 0;
	border-radius: 0px;
	font-size: 16px;
	opacity: 1;
	outline: none;
	transition: color 0.2s ease;
}
.btn-close:hover,
.btn-close:active,
.btn-close:focus {
	opacity: 1;
	box-shadow: none;
	outline: none;
	color: var(--sub-color);
	transition: color 0.4s ease-out;
}
.modal-header .btn-close {
	padding: 0;
	margin: 0;
	position: absolute;
	top: 24px;
	right: 24px;
}
.modal-content-wrap .modal-header .btn-close {
	top: 8px;
	right: 8px;
}

.modal-body {
	padding: 0px 48px;
	min-height: 160px;
}
.modal-padding .modal-body {
	padding-bottom: 48px;
}

.modal-body .form-btns {
	text-align: right;
}

.modal-body p {
	margin: 0;
	margin-bottom: 16px;
    color: var(--light-text-color);
}
.modal-footer {
	padding: 0px 48px 48px 48px;
	border: 0px;
	text-align: left;
	justify-content: flex-start;
}
.modal-footer > * {
	margin: 0;
}

.modal-success {
	position: relative;
	display: none;
	justify-content: center;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	border-radius: var(--main-radius);
	flex-direction: column;
	text-align: center;
	background: var(--white-color);
	z-index: 9;
	opacity: 1;
}
.complete.modal-success {
	position: absolute;
	display: flex;
	padding: 0 48px;
	opacity: 1;
	animation: opac-in-animate 0.3s ease-out forwards;
}
.modal-success-block {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	text-align: center;
	padding: 48px 24px;
	z-index: 9;
}
.modal-success-icon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	width: 96px;
	height: 96px;
	padding: 4%;
	line-height: 92px;
	border-radius: 50%;
	border: 2px solid var(--border-color);
	font-size: 60px;
	margin: 0 auto 48px auto;
}
.modal-success-icon img {
	display: none;
	margin: 0 auto;
}
.complete.modal-success .modal-success-icon img {
	display: flex;
}
.modal-success-block h3 {
}
.modal-success-block p {
	color: var(--grey-color);
	margin-bottom: 48px;
	padding: 0 5%;
}

.modal-success-button {
	display: flex;
	justify-content: center;
}
.modal-success-button .button {
}

/* Loader *****************************************/

.waiting {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 1);
	background: var(--bg-color);
	z-index: 9;
	text-align: center;
	vertical-align: middle;
}
.form-wrap .waiting {
	width: 102%;
	left: -1%;
}

.form-wrapper .waiting {
	background: #ffffff;
}

.loader-wrap {
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	opacity: 0;
	animation: opac-in-animate 0.3s ease-out forwards;
}

.lds-ripple {
	display: block;
	position: relative;
	width: 64px;
	height: 64px;
	width: 56px;
	height: 56px;
	display: flex;
	justify-content: center;
	/*	top: 150px;*/
	align-self: center;
}
.lds-ripple div {
	position: absolute;
	border: 3px solid var(--sub-color);
	opacity: 1;
	border-radius: 50%;
	animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(2) {
	animation-delay: -0.5s;
}
@keyframes lds-ripple {
	0% {
		top: 28px;
		left: 28px;
		width: 0;
		height: 0;
		opacity: 1;
	}
	100% {
		top: -1px;
		left: -1px;
		width: 58px;
		height: 58px;
		opacity: 0;
	}
}

/* ANIMATIONS *****************************/

@keyframes opac-in-animate {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes opac-out-animate {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@keyframes btn-animate {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
}
@keyframes pop-in-animate {
	0% {
		opacity: 0;
		transform: scale(0);
	}
	90% {
		opacity: 1;
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
@keyframes btm-in-animate {
	0% {
		transform: translateY(10%);
		opacity: 0;
	}
	100% {
		transform: translateY(0%);
		opacity: 1;
	}
}
@keyframes left-in-animate {
	0% {
		transform: translateX(-20%);
		opacity: 0;
	}
	100% {
		transform: translateX(0%);
		opacity: 1;
	}
}
@keyframes right-in-animate {
	0% {
		transform: translateX(10%);
		opacity: 0;
	}
	100% {
		transform: translateX(0%);
		opacity: 1;
	}
}
@keyframes footer-nav-in-animate {
	0% {
		transform: translateX(-10%);
		opacity: 0;
	}
	100% {
		transform: translateX(0%);
		opacity: 1;
	}
}
@keyframes menu-in-animate {
	0% {
		transform: translateY(10%);
		opacity: 0;
	}
	100% {
		transform: translateY(0%);
		opacity: 1;
	}
}

@keyframes zoomOut {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 0;
		-webkit-transform: scale3d(0.3, 0.3, 0.3);
		transform: scale3d(0.3, 0.3, 0.3);
	}
	to {
		opacity: 0;
	}
}

@keyframes zoomIn {
	0% {
		opacity: 0;
		-webkit-transform: scale3d(0.3, 0.3, 0.3);
		transform: scale3d(0.3, 0.3, 0.3);
	}
	50% {
		opacity: 1;
	}
}

/* MOUSE ANIMATIONS *****************************/

@keyframes DrawLine {
  0% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  22% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  38% {
    stroke-dashOffset: 125;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  38.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
  48% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  64% {
    stroke-dashOffset: 125;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  64.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
  74% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  90% {
    stroke-opacity: 1;
    stroke-dashOffset: 125;
    stroke-dasharray: 120;
  }
  90.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
}
@keyframes DrawLineBack {
  0% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  22% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  38% {
    stroke-dashOffset: -114;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  38.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
  48% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  64% {
    stroke-dashOffset: -114;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  64.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
  74% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  90% {
    stroke-opacity: 1;
    stroke-dashOffset: -114;
    stroke-dasharray: 120;
  }
  90.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
}
@keyframes nudgeMouse {
  0% {
    transform: translateY(0) translateX(-50%);
  }
  22% {
    transform: translateY(0px) translateX(-50%);
  }
  38% {
    transform: translateY(9px) translateX(-50%);
  }
  48% {
    transform: translateY(0px) translateX(-50%);
  }
  64% {
    transform: translateY(9px) translateX(-50%);
  }
  74% {
    transform: translateY(0px) translateX(-50%);
  }
  90% {
    transform: translateY(9px) translateX(-50%);
  }
}
/*Text*/
@keyframes nudgeText {
  0% {
    transform: translateY(0) scaleY(1);
    opacity: 1;
  }
  22% {
    transform: translateY(0px) scaleY(1);
    opacity: 1;
  }
  38% {
    transform: translateY(5px) scaleY(0.9);
    opacity: 0.5;
  }
  48% {
    transform: translateY(0px) scaleY(1);
    opacity: 1;
  }
  64% {
    transform: translateY(5px) scaleY(0.9);
    opacity: 0.5;
  }
  74% {
    transform: translateY(0px) scaleY(1);
    opacity: 1;
  }
  90% {
    transform: translateY(5px) scaleY(0.9);
    opacity: 0.5;
  }
}
/*Mouse wheel*/
@keyframes trackBallSlide {
  0% {
    transform: translateY(20px) scale(1);
    opacity: 1;
  }
  22% {
    transform: translateY(20px) scale(1);
    opacity: 1;
  }
  26% {
    transform: translateY(30px) scale(0.9);
    opacity: 1;
  }
  34% {
    transform: translateY(50px) scale(0.1);
    opacity: 0;
  }
  41% {
    transform: translateY(30px) scale(0);
    opacity: 0.3;
  }
  48% {
    transform: translateY(20px) scale(1);
    opacity: 1;
  }
  52% {
    transform: translateY(30px) scale(0.9);
    opacity: 1;
  }
  60% {
    transform: translateY(50px) scale(0.1);
    opacity: 0;
  }
  67% {
    transform: translateY(30px) scale(0);
    opacity: 0.3;
  }
  74% {
    transform: translateY(20px) scale(1);
    opacity: 1;
  }
  78% {
    transform: translateY(30px) scale(0.9);
    opacity: 1;
  }
  86% {
    transform: translateY(50px) scale(0.1);
    opacity: 0;
  }
  93% {
    transform: translateY(30px) scale(0);
    opacity: 0.3;
  }
  100% {
    transform: translateY(20px) scale(1);
    opacity: 1;
  }
}

/* RESPONSIVE STYLES *****************************/

@media (min-width: 2561px) {
	.container {
		max-width: 2016px;
		padding-right: 48px;
		padding-left: 48px;
	}
	h1 {
		font-size: 72px;
	}
}

@media (min-width: 1921px) and (max-width: 2560px) {
	/*
	body{
		font-size: 18px;
	}
*/
	.container {
		max-width: 2016px;
		max-width: 1536px;
		padding-right: 48px;
		padding-left: 48px;
	}

	#header .container {
		padding: 0 32px;
	}
	.logo-main {
		margin: 40px 0px;
	}
	.logo-main img {
		height: 20px;
	}
	.logo-main button{
		height: 20px;	
	}
	.logo-static i {
		height: 20px;
		line-height: 20px;
		font-size: 20px;
		margin-right: 12px;
	}
	
	.main-banner-video{
		width: 102%;
		left: -1%;
	}

	#banner-main {
		width: 46%;
	}

	#banner-main-top .container {
		max-width: 2176px;
	}
	.banner-project-top .banner-top-text {
		width: 40%;
	}

	#content-home-clients .content-logos {
		min-height: 960px;
	}
	.logo-block{
		padding: 16px 96px;
	}
	.img-block-img {
		width: 160px;
	}
}

@media (min-width: 1600px) and (max-width: 1920px) {
	.container {
		max-width: 1536px;
		padding-right: 48px;
		padding-left: 48px;
	}
	.empty-animation div{
		font-size: 230px;	
	}
}
@media (min-width: 1400px) and (max-width: 1599px) {
	.container {
		max-width: 1304px;
		padding-right: 48px;
		padding-left: 48px;
	}
	.project-slide-bg > .project-slide-logo {
		left: 56px;
		top: 56px;
		transform: translateZ(40px);
	}
}
@media (min-width: 1200px) and (max-width: 1599px) {
	:root {
		--input-font: 12px;
		--button-font: 12px;
	}

	body {
		font-size: 14px;
	}
	h1 {
		font-size: 48px;
	}
	h2 {
		font-size: 32px;
	}
	h3 {
		font-size: 18px;
	}
	h4 {
		font-size: 16px;
	}

	.sub-title,
	.content-banner-title .sub-title {
		font-size: 10px;
		letter-spacing: 5px;
	}
	.logo-main {
		margin: 32px 0px;
	}
	.logo-main img {
		height: 16px;
	}
	.logo-main button{
		height: 16px;	
	}
	.nav-wrap {
		padding: 48px 0px 24px 88px;
		padding: 24px 0px 0px 48px;
	}
	.nav-main > ul {
		padding-left: 40px;	
	}
	.header-nav{
		padding: 24px 32px;
	}
	.header-nav .lang-menu {
		margin-left: 48px;
	}
	.nav-main ul li{
		padding: 4px 0px;
	}
	.nav-main ul li a {
		line-height: 24px;
		font-size: 28px;
		letter-spacing: 2px;
	}
	.dropdown-trigger:after{
		height: 24px;
		line-height: 24px;
	}
	.dropdown ul li a {
		line-height: 16px;
		font-size: 14px;
		letter-spacing: 0px;
		padding: 4px 0px;
	}
	
	.header-address-list li {
		line-height: 18px;
		padding: 4px 0 4px 40px;
	}
	.header-address-list li span {
		width: 24px;
		height: 24px;
		line-height: 24px;
		font-size: 16px;
	}
	
	.banner-main-title h1,
	.banner-main-title div{
		font-size: 48px;
	}

	.home-page #content-wrapper {
		padding: 48px 0px 120px 0px;
	}
	.sub-page #content-wrapper {
		padding-top: 48px;
	}
	.banner-scroll-text {
		font-size: 180px;
		letter-spacing: 14px;
		top: 12%;
	}
	.large-text {
		font-size: 114px;
	}
	.banner-top-wrapper {
		padding: 72px 0px;
	}
	.banner-top-wrapper-button{
		position: absolute;
		bottom: -72px;
	}
	.banner-top-text {
		width: 42%;
	}
	.banner-txt-left .banner-blk-txt {
		padding-right: 120px;
	}
	.banner-txt-right .banner-blk-txt {
		padding-left: 120px;
	}
	/*
	.banner-list-blk{
		padding-bottom: 120px;
	}
*/
	.banner-wrap-lg-pad,
	#team-banner {
		padding: 200px 0px;
	}
	#project-banner {
		padding-bottom: 200px;
	}
    .seo-page #project-banner {
        padding-top: 200px;
    }
	.project-slide-wrap {
		margin: 12px;
	}
	.project-slide-content,
	.team-slide-content {
		padding: 24px;
	}
	.project-slide-logo {
		top: 24px;
		left: 24px;
	}
	.project-slide-bg > .project-slide-logo {
		top: 20px;
		left: 28px;
		transform: translateZ(0px);
	}
	.project-slide-bg > .project-slide-logo img {
		height: 40px;
		transform: scale(1);
	}
	.project-slide-text .txt-btn {
		margin-top: 24px;
	}
	#content-home-clients .content-logos {
		min-height: 74vh;
	}
	.logo-block {
		padding: 16px 40px;
	}
	.icon-block {
		padding: 48px;
	}
	.icon-block-icon {
		font-size: 32px;
		width: 56px;
		height: 56px;
	}
	.icon-block-title {
		font-size: 14px;
	}
	.content-top-menu {
		padding: 72px 0px;
	}
	.top-menu-button {
		width: initial;
	}
	.top-menu-btn div {
		font-size: 24px;
	}
	.top-menu-btn span {
		font-size: 14px;
	}
	.expand-blocks-wrapper {
		padding: 0px 16%;
	}
	.expand-block-text {
		max-height: 68px;
	}
	.address-list-icon {
		width: 24px;
		height: 24px;
		font-size: 16px;
	}
	.address-list-text span {
		line-height: 18px;
	}
	.contact-page .content-right {
		padding-left: 0px;
	}
	.contact-form-block {
		padding: 48px;
	}

	.vertical-slider .swiper-wrapper {
		height: 720px;
	}
	.vertical-slider .swiper-slide {
		height: 640px;
	}

	.footer-contact-block {
		padding-left: 48px;
	}
	
	.footer-left,
	.footer-right{
		width: 20%;
	}
	.footer-menu{
		width: 60%;
	}
	
	.empty-animation div{
		font-size: 170px;	
	}
	
}

@media (min-width: 1200px) and (max-width: 1399px) {
	.container {
		max-width: 1140px;
		padding-right: 48px;
		padding-left: 48px;
	}
	
	.contact-sticky-block{
		width: 320px;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.container {
		max-width: 1152px;
		max-width: 100%;
		padding-right: 48px;
		padding-left: 48px;
	}
	.contact-sticky-block{
		width: 320px;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	:root {
		--input-font: 12px;
		--button-font: 12px;
	}
	.container {
		max-width: 100%;
		padding-right: 48px;
		padding-left: 48px;
	}
	body {
		font-size: 14px;
	}
	h1 {
		font-size: 40px;
	}
	h2 {
		font-size: 22px;
		line-height: 1.2;
	}
	h3 {
		font-size: 18px;
	}
	h4 {
		font-size: 14px;
	}
	.btn-red-icon {
		line-height: 40px;
	}
	.btn-red-icon div {
		height: 40px;
		width: 40px;
	}
	.btn-red-icon > span {
		line-height: 40px;
	}
	.btn-red-icon:after {
		width: 40px;
	}
	.white-button, .white-button:visited, a.white-button, a.white-button:visited {
        min-width: initial;
	}

	.sub-title,
	.content-banner-title .sub-title {
		font-size: 10px;
		letter-spacing: 5px;
	}
	.logo-main {
		margin: 32px 0px;
	}
	.logo-main img {
		height: 16px;
	}
	.logo-main button{
		height: 16px;	
	}
	.header-main-right {
		padding: 20px 0px;
	}
	.header-mob-btn{
		display: flex;
	}
	.header-nav {
		width: 50%;
		left: -50%;
		padding: 20px 32px;
	}
	.menu-ani .header-nav {
		left: -50%;
		transition: all 0.2s ease-in;
	}
	.nav-wrap {
		padding: 48px 0px 24px 16px;
	}
	.header-nav .lang-menu {
		margin-left: 16px;
	}
	.nav-main ul li {
		padding: 4px 0px;
	}
	.nav-main > ul {
		padding-left: 40px;
	}
	.nav-main ul li a {
		line-height: 24px;
		font-size: 26px;
		letter-spacing: 2px;
	}
	.dropdown-trigger:after{
		height: 24px;
		line-height: 24px;
	}
	.dropdown ul li a {
		line-height: 16px;
		font-size: 14px;
		letter-spacing: 0px;
		padding: 4px 0px;
	}
	.header-address-list li {
		line-height: 18px;
		padding: 4px 0 4px 40px;
	}
	.header-address-list li span {
		width: 24px;
		height: 24px;
		line-height: 24px;
		font-size: 16px;
	}
	#header:not(.sticky-header) .btn-red-icon > span {
		width: 164px;
	}
	#header.sticky-header .btn-red-icon:hover > span {
		width: 164px;
	}
	#header .btn-red-icon:hover:after{
		width: calc(100% + 16px);
	}
	.nav-main-right{
		display: none;
	}
	
	.banner-top-wrapper .address-list {
		margin-top: 24px;
		flex-direction: row;
	}
	.banner-top-wrapper .address-list-block {
		margin-right: 24px;
	}

	.home-page #content-wrapper {
		padding: 48px 0px 120px 0px;
	}
	.sub-page #content-wrapper {
		padding-top: 48px;
	}

	#banner-main {
		width: 56%;
		padding: 0 0 48px 48px;
	}
	.banner-main-title h1,
	.banner-main-title div{
		font-size: 40px;
	}
	.banner-main-text{
		font-size: 16px;;
	}
	.banner-scroll-text {
		font-size: 110px;
		letter-spacing: 12px;
		top: 10%;
	}
	.large-text {
		font-size: 68px;
		letter-spacing: 6px;
		white-space: nowrap;
	}
	.banner-top-wrapper {
		padding: 120px 0px 48px 0px;
		justify-content: flex-start;
	}
	.banner-top-wrapper-button{
		position: relative;
		bottom: initial;
		margin-top: 24px;
	}
	.banner-top-text {
		width: 50%;
	}
	.banner-top-with-image .banner-top-text {
		width: 72%;
	}
	.banner-top-image {
		width: calc(100% - 48px);
	}
	.banner-top-slider .content-banner-slider {
		flex-direction: column;
    	justify-content: flex-start;
	}
	.banner-top-slider .content-banner-slider .slider-wrapper {
		width: 100%;
		margin-left: -12px;
	}
	.banner-top-slider .banner-top-text {
		width: 50%;
		align-self: flex-start;
		padding-right: 0px;
		margin-bottom: 48px;
	}
	.banner-txt-left .banner-blk-txt {
		padding-right: 48px;
	}
	.banner-txt-right .banner-blk-txt {
		padding-left: 48px;
	}
	#content-top-1 .banner-blk-txt {
		width: 70%;
	}
	#service-list-blocks {
		min-height: initial;
	}
	.banner-list-blk {
		padding: 0px 0px 56px 0px;
	}
	.banner-blk-list-blocks {
		padding: 22px 0px 0px 0px;
	}
	.banner-list-blk-icon {
		height: 24px;
		width: 24px;
		line-height: 24px;
		font-size: 16px;
	}
	.banner-list-blk-icon:after {
		width: 16px;
		top: 12px;
		left: calc(100% + 6px);
	}
	.banner-list-blk-content {
		padding: 4px 0 0 32px;
	}
	.banner-wrap-lg-pad,
	#team-banner {
		padding: 160px 0px;
	}
	.content-banner-text {
		margin-bottom: 32px;
	}
	.content-banner-slider .banner-blk-txt {
		width: 40%;
		padding-right: 48px;
	}
	.content-banner-slider .slider-wrapper {
		width: 60%;
	}
	#team-banner.content-banner-slider .content-banner {
		flex-direction: column;
	}
	#team-banner.content-banner-slider .banner-blk-txt {
		width: 60%;
		padding-right: 0px;
		margin-bottom: 48px;
		align-self: flex-start;
	}
	#team-banner.content-banner-slider .slider-wrapper {
		width: 100%;
	}
	#project-banner {
		padding-bottom: 160px;
	}
    .seo-page #project-banner {
        padding-top: 160px;
    }
	.project-slide-wrap {
		margin: 12px;
	}
	.project-slide-content,
	.team-slide-content {
		padding: 24px;
	}
	.project-slide-logo {
		top: 24px;
		left: 24px;
	}
	.project-slide-logo img {
		height: 48px;
	}
	.project-slide-bg > .project-slide-logo {
		top: 20px;
		left: 28px;
		transform: translateZ(0px);
	}
	.project-slide-bg > .project-slide-logo img {
		transform: scale(1);
	}
	.team-slide-title h3,
	.project-slide-title h3 {
		font-size: 14px;
	}
	.project-slide-text {
		font-size: 12px;
	}
	.project-slide-text .txt-btn {
		margin-top: 24px;
	}
	
	.project-slide-text, .team-slide-text, .project-slide-block:hover .project-slide-text, .team-slide-block:hover .team-slide-text {
		position: relative;
		display: flex;
		padding-top: 16px;
		opacity: 1;
		max-height: 100%;
		transition: none;
	}
	
	#content-home-clients {
		flex-direction: column;
	}
	#content-home-clients .home-clients-text {
		position: relative;
		height: initial;
		top: initial;
		margin-bottom: 64px;
	}
	#content-home-clients .content-logos {
		min-height: 38vh;
	}
	.home-clients-text .banner-txt-left .banner-blk-txt {
		padding-right: 24px;
		width: 100%;
	}
	.content-logos {
		width: 100%;
		padding: 0 48px;
		margin: 0;
	}
	.content-logo-block {
		width: 25%;
	}

	.logo-block {
		padding: 16px 32px;
	}
	.icon-block {
		padding: 24px;
	}
	.icon-block-icon {
		font-size: 24px;
		width: 48px;
		height: 48px;
	}
	.icon-block-title {
		font-size: 14px;
		height: 20px;
		overflow: hidden;
	}
	.content-top-menu {
		padding: 72px 0px;
	}
	.content-top-menu .container {
		overflow-x: auto;
	}
	.top-menu-buttons {
		width: 125%;
		padding: 8px 0px;
		margin: 0 -12px;
	}
	.top-menu-button {
		width: initial;
		padding: 0 12px;
	}
	.top-menu-btn {
		height: 24px;
		line-height: 24px;
	}
	.top-menu-btn div {
		height: 24px;
		width: 24px;
		line-height: 24px;
		font-size: 20px;
	}
	.top-menu-btn span {
		font-size: 14px;
		padding: 0 12px;
	}
	.expand-block {
		padding: 24px;
	}
	.expand-blocks-wrapper {
		padding: 0px 12%;
	}
	.expand-block-title h3 {
		font-size: 14px;
	}
	.expand-block-text {
		max-height: 68px;
	}
	.expand-block-title-icon {
		font-size: 20px;
	}
	.address-list-icon {
		width: 24px;
		height: 24px;
		font-size: 16px;
	}
	.address-list-text span {
		line-height: 18px;
	}
	.contact-page .content-main-wrapper {
		flex-direction: column;
	}
	.contact-page .content-right {
		padding-left: 0px;
		width: 64%;
		align-self: flex-end;
	}
	.contact-form-block {
		padding: 48px;
	}
	.content-form-title h3 {
		font-size: 16px;
	}
	.page-full .page-body {
		width: 100%;
		margin: 0;
	}

	.banner-project-top .banner-top-wrapper {
		min-height: initial;
	}
	.banner-project-top .banner-top-text {
		width: 70%;
	}
	.project-top-image {
		position: relative;
		width: 100%;
		padding: 0 96px;
		right: initial;
		margin-top: -120px;
		bottom: -120px;
	}
	#project-image-banner {
		padding: 160px 0px;
	}
	#content-center.content-banner-wrap {
		padding-top: 0px;
	}
	#content-center .banner-blk-txt {
		width: 60%;
	}
	#project-vertical-slider {
		margin: 80px 0px 0px 0px;
	}
	.vertical-slider .swiper-wrapper {
		height: 480px;
	}
	.vertical-slider .swiper-slide {
		height: 420px;
		height: initial;
	}
	#project-image-vertical-slider {
		margin: 72px auto 0 auto;
		width: 50%;
	}
	#tech-icons {
		flex-direction: column;
	}
	#tech-icons .tech-page-text {
		position: relative;
		height: initial;
		top: initial;
		margin-bottom: 64px;
	}
	#tech-icons .banner-txt-right {
		justify-content: flex-start;
	}
	#tech-icons .banner-txt-right .banner-blk-txt {
		padding-left: 24px;
		width: 70%;
	}
	#tech-icons .content-img-blocks {
		width: 100%;
		padding: 0 48px;
		margin: 0;
		order: 2;
	}
	.img-block {
		padding: 24px 16px 8px 8px;
	}
	.img-block-img {
		width: 120px;
		height: 96px;
	}
	.img-block-title {
		height: 16px;
		line-height: 16px;
	}
	#project-image-blocks-top .project-image-blocks {
		padding: 0 0%;
	}
	#content-center-images .full-img-large {
		margin-left: 0px;
		width: 88%;
	}
	#content-center-images .full-img-small {
		right: 0%;
		bottom: -20%;
	}
	.project-page-3 #content-center.content-banner-wrap {
		padding: 160px 0px 80px 0px;
	}
	#project-horizontal-slider {
		margin: 80px 0px;
	}
	#content-top-2 .banner-blk-txt {
		width: 70%;
	}
	
	#project-banner .content-banner{
		flex-direction: column;
	}
	#project-banner.content-banner-slider .banner-blk-txt {
		width: 100%;
		text-align: center;
		padding-right: 24px;
		margin-bottom: 24px;
	}
	#project-banner.content-banner-slider .slider-wrapper {
		width: 100%;
		padding: 0 12px;
	}
	.banner-blk-slider-animate.fade-out {
		opacity: 1;
		animation: none;
	}
	.project-slide-text{
		display: none!important;
	}

	.project-image-columns {
		margin-left: -12px;
		margin-right: -12px;
		padding-top: 160px;
	}
	.project-image-column {
		padding: 0 12px;
	}
	.project-video {
	}
	.video-play-button span {
		width: 72px;
		height: 72px;
		font-size: 32px;
	}
	#map-canvas {
		width: 150%;
		left: -50%;
	}
	
	.contact-page .banner-top-wrapper{
		min-height: initial;
		padding-bottom: 0px;
		margin-bottom: -24px;
	}
	.contact-page .banner-top-image{
		position: relative;
		right: -48px;
	}
	.contact-page .banner-scroll-text{
		top: 12%;
	}
	
	.seo-page .banner-top-wrapper {
		padding: 120px 0px 56px 0px;
		justify-content: flex-end;
	}
	.seo-page .banner-top-text, .seo-page .banner-txt-center .banner-blk-txt {
		width: 576px;
		margin: 0 auto;
	}
	#contact-sticky-block {
		position: fixed;
		bottom: 48px;
		right: 24px;
	}
	.contact-sticky-block{
		width: 300px;
	}
	.contact-sticky-block-text{
		margin-bottom: 24px;
	}
	#contact-banner-dark {
		margin-top: 0px;
		padding: 80px 0px;
	}
	#contact-banner-dark .content-banner{
		flex-direction: column;	
	}
	#contact-banner-dark .banner-blk-txt{
		width: 70%;
		align-self: flex-start;
		padding-left: 72px;
		margin-bottom: 72px;
	}
	#contact-banner-dark .content-right {
		position: relative;
		width: 60%;
		align-self: flex-end;
		margin: 0 auto;
	}
	#contact-banner-dark #contact-form-wrap {
		position: relative;
		right: initial;
		bottom: initial;
	}
	
	.seo-page #content-home-clients {
		padding-top: 96px;
		padding-bottom: 96px;
	}

	.modal-content-left {
		width: 50%;
		padding: 48px;
	}
	.modal-content-right {
		width: 50%;
		padding: 0px;
	}
	.modal-content-text {
		height: 580px;
	}
	.modal-content-wrap .modal-header .btn-close {
		top: 16px;
		right: 16px;
	}

	.footer-top {
		padding: 72px 0px;
	}
	.footer-top-left {
		width: 40%;
	}
	.footer-top-left .content-banner-title h2 {
		line-height: 28px;
	}
	.footer-top-right {
		width: 60%;
	}
	.footer-contact {
		padding-top: 28px;
	}
	.footer-contact-block {
		padding-left: 48px;
	}
	.footer-contact-icon {
		height: 24px;
		width: 24px;
		line-height: 24px;
		font-size: 16px;
	}
	.footer-contact-icon:after {
		width: 20px;
		top: 12px;
		left: calc(100% + 12px);
	}
	.footer-contact-text {
		padding: 0px 0px 0px 48px;
	}
	.footer-contact-text div {
		font-size: 14px;
	}
	.footer-contact-text span {
		font-size: 12px;
		color: var(--light-text-color);
	}
	.footer-left{
		width: 20%;
	}
	.footer-right{
		width: 15%;
	}
	.footer-menu{
		width: 65%;
	}
	.footer-menu .dropdown ul{
		width: 360px;
	}
	
	.footer-menu-list li {
		padding: 0px 0px;
	}
	.footer-menu-list a {
		font-size: 12px;
	}
	.footer-bottom {
		padding: 72px 0px;
	}
	.footer-logo img {
		height: 12px;
	}
	.footer-copyright {
		font-size: 10px;
	}
	.footer-menu .dropdown ul li a{
		font-size: 10px;
	}
	
	.empty-animation div{
		font-size: 120px;	
	}
	
}

@media (max-width: 992px) and (orientation: landscape){
	.banner-main-wrapper{
		min-height: 1000px;
	}
}

@media (max-width: 767px) {
	:root {
		--input-font: 12px;
		--button-font: 12px;
		--main-shadow: 0px 4px 16px rgba(0, 0, 0, 0.16);
		--main-radius: 5px;
	}

	html {
		scroll-behavior: initial !important;
	}
	.container {
		max-width: 100%;
		padding-right: 24px;
		padding-left: 24px;
	}
	img {
		vertical-align: top;
	}

	body {
		font-size: 14px;
	}
	h1 {
		font-size: 24px;
		letter-spacing: 1px;
	}
	h2 {
		font-size: 20px;
	}
	h3 {
		font-size: 16px;
	}
	h4 {
		font-size: 14px;
	}

	.btn-red-icon {
		line-height: 32px;
	}
	.btn-red-icon div {
		height: 32px;
		width: 32px;
		font-size: 14px;
	}
	.btn-red-icon > span {
		line-height: 32px;
	}
	.btn-red-icon:after,
	.btn-red-icon:hover:after {
		width: 32px;
		transition: none;
	}
	.btn-red-icon:hover {
		color: var(--text-color);
		transition: none;
	}
	.btn-red-icon:hover div i {
		margin-left: 0;
		transition: none;
	}
	.white-button, 
	.white-button:visited, 
	a.white-button, 
	a.white-button:visited{
		min-width: initial;
		padding: var(--xs-pad) var(--mid-pad);
	}
	.form-cols {
		margin-left: -8px;
		margin-right: -8px;
	}
	.form-col {
		margin: 0 8px;
	}

	.form-group {
		margin-bottom: 16px;
	}

	.sub-title,
	.content-banner-title .sub-title {
		font-size: 8px;
		letter-spacing: 4px;
		margin-bottom: 8px;
	}
	.content-banner:not(.content-banner-center) .content-banner-title .sub-title,
	.banner-top-wrapper .sub-title {
		margin-left: -8px;
	}

	/*
	body.menu-open #outer-wrapper {
		overflow-y: hidden;
		overflow: hidden !important;
		position: fixed;		
	}
*/
	body.menu-open #scroll-wrapper {
		height: 100%;
		overflow: hidden !important;
	}
	.menu-open .header-nav,
	.menu-open #bg-wrapper {
		touch-action: none;
	}
	.nav-toggle {
		margin: 16px 24px 16px 0px;
	}
	#header {
		height: 56px;
	}
	#header .container {
		padding: 0 24px;
		padding: 0 24px 0 24px;
	}
	.logo-main {
		height: 16px;
		margin: 20px 0px;
	}
	.logo-main img {
		height: 16px;
	}
	.logo-main button{
		height: 16px;	
	}
	.logo-static i {
		width: 24px;
		height: 16px;
		margin-right: 8px;
		font-size: 16px;
		vertical-align: top;
	}
	.header-main-right {
		padding: 12px 0px;
	}
	.header-main-right .btn-red-icon:not(.btn-single-icon) {
		display: none;
	}	
	.header-main-right .btn-single-icon {
		display: flex;
	}	
	.header-nav {
		width: 88%;
		left: -88%;
		padding: 8px 16px 24px 16px;
	}
	.menu-ani .header-nav {
		left: -88%;
		transition: all 0.2s ease-in;
	}
	.nav-wrap {
		padding: 24px 0px 16px 8px;
	}
	.nav-main-right{
		display: none;
	}
	.header-mob-btn{
		display: flex;
	}
	.header-nav .lang-menu {
		margin-left: 8px;
	}
	.nav-main {
		padding-left: 0px;
	}
	.nav-main > ul {
		padding-left: 40px;
	}
	.nav-main ul li {
		padding: 0px 0px;
	}
	.nav-main ul li a {
		line-height: 24px;
		font-size: 20px;
		letter-spacing: 2px;
	}
	.nav-main ul li a:hover,
	.nav-main ul li a:focus,
	.nav-main ul li a:active {
		padding-left: 0px;
	}
	.dropdown-trigger:after{
		height: 24px;
		width: 24px;
		line-height: 24px;
		font-size: 12px;
	}
	.dropdown{
		padding: 4px 0px 16px 1px;
	}
	.dropdown ul li a {
		line-height: 20px;
		padding: 4px 0px;
		font-size: 14px;
		letter-spacing: 0px;
	}
	.header-address-list li {
		line-height: 18px;
		padding: 4px 0 4px 40px;
	}
	.header-address-list li span {
		width: 24px;
		height: 24px;
		line-height: 24px;
		font-size: 16px;
	}
	.banner-top-wrapper .address-list {
		margin-top: 24px;
		flex-direction: column;
	}
	.banner-top-wrapper .address-list-block {
		margin-right: 24px;
	}
	.home-page #content-wrapper {
		padding: 48px 0px 72px 0px;
	}
	.sub-page #content-wrapper {
		padding-top: 48px;
	}
	
	#home-banner-main{
		height: 100svh;
	}

	#banner-main{
		width: 100%;
		height: 100%;
		min-height: 100%;
		padding: 24px;
	}
	.main-title h1{
		font-size: 28px;
		line-height: 1.2;
	}
	.banner-main-text{
		display: none;
	}

	.banner-video {
		min-height: 100%;
		height: 100%;
	}
	
	.banner-main-wrapper,
	.banner-loading-wrapper {
		/* min-height: calc(100vh - 56px);
        height: var(--doc-height);
        height: calc(100vh - 56px); */
		height: 100svh;
		padding: 0px;
	}
	.banner-main-title {
		margin-bottom: 32px;
	}
	.banner-scroll-text {
		font-size: 76px;
		letter-spacing: 8px;
		top: -4%;
	}
	.large-text {
		width: 50%;
		white-space: nowrap;
		font-size: 36px;
		letter-spacing: 4px;
	}
	.mouse-wrap{
		display: block;	
	}
	
    #content-home-text-animation {
        display: none;
    }
	
	.banner-top-wrapper {
		padding: 48px 0px 48px 0px;
		justify-content: flex-end;
		min-height: initial;
	}
	.banner-top-with-image .banner-top-wrapper {
		min-height: initial;
		padding-bottom: 24px;
	}
	.banner-top-wrapper-button{
		position: relative;
		bottom: initial;
		margin-top: 24px;
	}
	.content-banner {
		flex-direction: column;
	}
	.content-banner-title + .content-banner-buttons {
		margin-top: 24px;
		margin-left: auto;
		margin-right: auto;
	}
	.banner-blk-txt {
		width: 100%;
	}
	.banner-top-text {
		width: 100%;
	}
    .banner-top-text h1 + .btn-red-icon{
        margin-top: 24px;
    }
    .banner-top-text p + .btn-red-icon{
        margin-top: 0px;
    }
	.banner-top-with-image .banner-top-text {
		width: 100%;
	}
	.banner-top-image {
		position: relative;
		width: calc(100% - 24px);
		right: -24px;
		bottom: -16px;
	}
	.banner-top-slider .content-banner-slider {
		flex-direction: column;
    	justify-content: flex-start;
	}
	.banner-top-slider .content-banner-slider .slider-wrapper {
		width: 100%;
		width: calc(100% + 48px);
		margin-left: -24px;
	}
	.banner-top-slider .banner-top-text {
		width: 100%;
		align-self: flex-start;
		padding-right: 0px;
		margin-bottom: 72px;
	}
	.banner-txt-left .banner-blk-txt {
		padding-right: 24px;
	}
	.banner-txt-right .banner-blk-txt {
		padding-left: 24px;
	}
	.content-banner-center .banner-blk-txt {
		width: 100%;
	}
	#content-top-1 .banner-blk-txt {
		width: 100%;
	}
	#service-list-blocks {
		min-height: initial;
	}
	#service-list-blocks .banner-blk-txt .content-banner-text {
		margin-bottom: 24px;
	}
	#content-home-2 .banner-blk-txt {
		margin-bottom: 24px;
	}
	#blb-pin {
		position: relative;
		top: initial;
	}
	.banner-blk-list-blocks {
		padding: 22px 0px 0px 0px;
		width: 100%;
	}
	.banner-list-blk,
	.banner-list-blk.no-pad {
		padding: 0px 24px 48px 24px;
		opacity: 1;
	}
	.banner-list-blk-icon {
		height: 24px;
		width: 24px;
		line-height: 24px;
		font-size: 16px;
	}
	.banner-list-blk-icon:after {
		width: 16px;
		top: 12px;
		left: calc(100% + 6px);
	}
	.banner-list-blk-content {
		padding: 4px 0 0 32px;
		width: calc(100% - 32px);
	}
	.banner-list-blk-content .content-banner-text {
		margin-bottom: 16px;
	}
	.banner-wrap-lg-pad,
	#team-banner {
		padding: 72px 0px;
	}
	.content-banner-text {
		margin-bottom: 32px;
	}
	.content-banner-slider .banner-blk-txt {
		width: 100%;
		text-align: center;
		padding-right: 24px;
		margin-bottom: 24px;
	}
	.banner-blk-slider-animate.fade-out {
		opacity: 1;
		animation: none;
	}
	.content-banner-slider .content-banner-buttons {
		justify-content: center;
	}
	.content-banner-slider .slider-wrapper {
		width: 100%;
		padding: 0 12px;
	}
	#team-banner.content-banner-slider .content-banner {
		flex-direction: column;
	}
	#team-banner.content-banner-slider .banner-blk-txt {
		width: 100%;
		padding-right: 24px;
		margin-bottom: 48px;
		align-self: flex-start;
	}
	#team-banner.content-banner-slider .slider-wrapper {
		width: 100%;
	}
	.team-slide-wrap {
		margin: 0px 12px;
	}
	#project-banner {
		padding-top: 0px;
		padding-bottom: 64px;
	}
    .seo-page #project-banner {
        padding-top: 64px;
        padding-bottom: 64px;
    }
	/*
	#project-banner .banner-blk-txt,
	#project-banner .banner-blk-slider-animate{
		position: initial;
	}
	#project-banner .content-banner-buttons{
		position: absolute;
		bottom: 0;
		left: 0;
	}
*/
	.project-slide-wrap {
		margin: 12px;
	}
	.project-slide-content,
	.team-slide-content {
		padding: 24px;
	}
	/*
	.project-slide-gradient,
	.project-slide-block:hover .project-slide-gradient {
		height: 100%;
	}
*/
	.project-slide-logo {
		top: 24px;
		left: 24px;
	}
	.project-slide-logo img {
		height: 40px;
	}
	.project-slide-bg > .project-slide-logo {
		left: 26px;
		top: 18px;
		transform: translateZ(0px);
	}
	.project-slide-bg > .project-slide-logo img {
		transform: scale(1);
	}
	.team-slide-title h3,
	.project-slide-title h3 {
		font-size: 14px;
	}
	.project-slide-text,
	.team-slide-text,
	.project-slide-block:hover .project-slide-text,
	.team-slide-block:hover .team-slide-text {
		position: relative;
		display: flex;
		padding-top: 16px;
		opacity: 1;
		max-height: 100%;
		transition: none;
	}
	.project-slide-text {
		font-size: 12px;
		display: none !important;
	}
	/*
	.project-slide-title span{
		font-size: 10px;
	}
*/
	.team-slide-text,
	.team-slide-block:hover .team-slide-text {
		padding-top: 0;
	}
	.team-slide-content {
		padding-bottom: 16px;
	}
	
	.team-slide-gradient{
		border-radius: 0 0 3px 3px;
	}

	.project-slide-text .txt-btn {
		margin-top: 16px;
	}
	#content-home-clients,
	#service-icons {
		flex-direction: column;
	}
	#content-home-clients .home-clients-text,
	#service-icons .service-page-text {
		position: relative;
		height: initial;
		top: initial;
		margin-bottom: 72px;
	}
	#content-home-clients .content-logos {
		min-height: initial;
	}
	.home-clients-text .banner-txt-left .banner-blk-txt,
	.service-page-text .banner-txt-left .banner-blk-txt {
		padding-right: 24px;
		width: 100%;
	}
	.content-logos {
		width: 100%;
		padding: 0 0px;
		margin: 0;
	}
	.content-logo-block {
		width: 33.3333%;
	}
	.content-icons {
		width: initial;
		margin-left: 8px;
		margin-right: 8px;
	}

	.logo-block {
		padding: 32px 16px;
	}
	.logo-block img {
		height: 32px;
		width: auto;
	}
	.icon-block {
		padding: 24px;
	}
	.icon-block-icon {
		font-size: 24px;
		width: 48px;
		height: 48px;
	}
	.icon-block-title {
		font-size: 14px;
		line-height: 1.2;
/*		height: 32px;*/
		height: 20px;
		overflow: hidden;
	}
	.content-top-menu {
		padding: 24px 0px 48px 0px;
	}
	.content-top-menu .container {
		overflow-x: auto;
	}
	.top-menu-buttons {
		width: 200%;
		padding: 8px 0px;
		margin: 0 -12px;
	}
	.top-menu-button {
		width: initial;
		padding: 0 12px;
	}
	.top-menu-btn {
		height: 24px;
		line-height: 24px;
	}
	.top-menu-btn div {
		height: 24px;
		width: 24px;
		line-height: 24px;
		font-size: 20px;
	}
	.top-menu-btn span {
		font-size: 14px;
		padding: 0 12px;
		white-space: nowrap;
	}

	#jobs-content{
		padding-bottom: 0px;	
	}	
	#jobs-content .content-banner-center .banner-blk-txt {
		margin-bottom: 48px;
	}
	#jobs-content .content-banner-center .banner-blk-txt .btn-red-icon {
		margin-bottom: 24px;
	}
	.expand-block {
		padding: 24px;
		margin-bottom: 24px;
	}
	.expand-blocks-wrapper {
		padding: 0px 0px;
		margin-bottom: 24px;
	}
	.expand-block-title {
		margin-bottom: 16px;
	}
	.expand-block-title h3 {
		font-size: 14px;
	}
	.expand-block-text {
		max-height: 68px;
	}
	.expand-block-title-icon {
		font-size: 20px;
	}
	.address-list-icon {
		width: 24px;
		height: 24px;
		font-size: 16px;
	}
	.address-list-text span {
		line-height: 18px;
	}
	.contact-page .content-main-wrapper {
		flex-direction: column;
		padding-bottom: 48px;
	}
	.contact-page .content-left {
		width: 100%;
		background: var(--white-color);
	}
	.contact-page .content-right {
		padding-left: 0px;
		width: 100%;
		align-self: flex-end;
	}
	.contact-form-block {
		padding: 24px;
	}
	.content-form-title h3 {
		font-size: 16px;
	}
	.contact-page .content-right {
		margin-top: 240px;
	}
	#map-canvas {
		position: absolute;
		top: 240px;
		width: 100%;
		height: 280px;
		z-index: 0;
	}
	.contact-page #content-main:before {
		height: 72px;
		top: 240px;
	}
	.contact-page #content-main:after {
		display: none;
	}
	#map-canvas:after {
		top: initial;
		bottom: 0;
		width: 100%;
		height: 72px;
		background: linear-gradient(0deg, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 0) 100%) no-repeat;
		z-index: 1;
	}
	.form-social .footer-social-links {
		margin-right: -8px;
	}
	.form-social .footer-social-links li {
		margin: 8px 4px;
	}
	.form-social .footer-social-links li a i {
		height: 24px;
		width: 24px;
		line-height: 24px;
	}
	.page-full .page-body {
		width: 100%;
		margin: 0;
		padding-bottom: 24px;
	}
	.page-header {
		margin-bottom: var(--main-pad);
	}

	#banner-main-top {
		margin-bottom: 24px;
	}
	.banner-project-top .banner-top-wrapper {
		min-height: initial;
	}
	.banner-project-top .banner-top-text {
		width: 100%;
	}
	.banner-project-top .content-banner-text {
		padding-right: 0px;
	}
	.project-top-image {
		position: relative;
		width: 100%;
		padding: 0 24px;
		right: initial;
		margin-top: -120px;
		bottom: -72px;
	}
	#project-image-banner {
		padding: 72px 0px;
	}
	.project-image-banner .banner-blk-txt {
		width: 100%;
		padding-right: 24px;
	}
	#content-center.content-banner-wrap {
		padding-top: 0px;
		padding-bottom: 48px;
	}
	#content-center .banner-blk-txt {
		width: 100%;
	}
	#content-center-images {
		margin-top: 72px;
	}
	.project-page-2 .gradient-wrapper {
		padding-top: 96px;
	}
	#project-vertical-slider {
		margin: 48px 0px 0px 0px;
	}
	.vertical-wrapper {
		/*
		padding: 96px 0px;
		height: 100vh;
*/
		perspective: 250px;
		width: 100%;
		margin: 0;
        padding: 0px;
	}
	.vertical-slider .swiper-wrapper {
		height: 240px;
	}
	.vertical-slider .swiper-slide {
		height: 200px;
		height: initial;
	}
	#tech-icons {
		flex-direction: column;
	}
	#tech-icons .tech-page-text {
		position: relative;
		height: initial;
		top: initial;
		margin-bottom: 24px;
	}
	#tech-icons .banner-txt-right {
		justify-content: flex-start;
	}
	#tech-icons .banner-txt-right .banner-blk-txt {
		padding-left: 24px;
		width: 100%;
	}
	#tech-icons .content-img-blocks {
		width: initial;
		padding: 0 0px;
		margin: 0 -4px 0px -4px;
		order: 2;
	}
	.content-img-block {
		width: 50%;
	}
	.img-block {
		padding: 24px 16px 8px 8px;
	}
	.img-block-img {
		width: 120px;
		height: 96px;
		padding: 0 8px;
	}
	.img-block-title {
		height: 16px;
		line-height: 16px;
	}
	#project-image-blocks-top .project-image-blocks {
		padding: 0 0%;
	}
	.project-image-blk {
		box-shadow: var(--main-shadow);
		box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.16);
	}

	#content-center-images .full-img-large {
		margin-left: 0px;
		width: 88%;
	}
	#content-center-images .full-img-small {
		right: 0%;
		bottom: -20%;
	}
	#content-full-img {
		margin-top: 24px;
	}
	.project-page-2 #content-center.content-banner-wrap {
		padding-bottom: 0;
	}
	.project-page-3 #content-center.content-banner-wrap {
		padding: 72px 0px 24px 0px;
	}
	#project-horizontal-slider {
		margin: 48px 0px;
	}
	#content-top-2 .banner-blk-txt {
		width: 100%;
	}
	.project-image-columns-wrapper {
		position: relative;
		display: flex;
		margin-left: -24px;
		margin-right: -24px;
		padding: 48px 12px 48px 12px;
		overflow: hidden;
	}
	.project-image-columns {
		margin: 0;
		padding: 0;
		/*		overflow-x: auto;*/
	}
	.project-image-column {
		width: 100%;
		padding: 0 12px;
	}
	.project-image-column:hover,
	.project-image-columns .project-image-column.image-hover {
		transform: translateY(0%);
	}
	#project-image-blocks-center .project-image-blk {
		border-radius: 3px;
	}
	
	#project-image-vertical-slider {
		margin: 72px auto 48px auto;
		width: 100%;
	}

	#content-full-img.content-banner-video {
		margin-top: 0;
	}

	.videoPlayer {
		min-height: 176px;
	}
	.video-play-button span {
		width: 56px;
		height: 56px;
		font-size: 22px;
	}
	.project-page-1 .gradient-wrapper {
		padding-bottom: 0px;
	}
	
	.seo-page .banner-top-wrapper {
		padding: 120px 0px 48px 0px;
		justify-content: flex-end;
	}
	.seo-page .banner-top-text, .seo-page .banner-txt-center .banner-blk-txt {
		width: 100%;
		margin:0;
	}
	.seo-page .banner-top-text{
		padding: 0;
	}
	.seo-page .banner-top-text .content-banner-text {
		padding-right: 0%;
	}
	#contact-sticky-block {
		display: none;
	}
	.seo-page .content-banner-wrap {
		padding: 24px 0px;
	}
	.seo-page .banner-txt-center .banner-blk-txt p,
	#seo-links{
		margin-bottom: 48px;
	}
	#content-middle {
		padding-top: 24px;
	}
	#seo-full-img{
		margin: 24px 0;
	}
	#contact-banner-dark {
		margin-top: 0px;
		padding: 48px 0px;
	}
	#contact-banner-dark .content-banner{
		flex-direction: column;	
	}
	#contact-banner-dark .banner-blk-txt{
		width: 100%;
		align-self: flex-start;
/*		padding-left: 0px;*/
		margin-bottom: 48px;
	}
	#contact-banner-dark .content-right {
		position: relative;
		width: calc(100% - 48px);
		align-self: flex-end;
		margin: 0 auto;
	}
	#contact-banner-dark #contact-form-wrap {
		position: relative;
		right: initial;
		bottom: initial;
	}
	
	.seo-page #content-home-clients {
		padding-top: 48px;
		padding-bottom: 48px;
	}
	#seo-links .container{
	}
	.content-grey-blocks{
		flex-direction: column;		
	}
	.content-grey-block {
		width: 100%;
		margin: 4px 0;
		padding: var(--main-pad);
	}

	.modal-dialog {
		height: 100%;
		padding: 24px;
        min-width: initial;
        width: 100%;
		max-width: 100%;
	}
	.modal-large .modal-dialog {
		width: 100%;
		min-width: 100%;
	}
    
    .modal-header{
        padding: 24px;
    }
    .modal-header .btn-close {
        top: 8px;
        right: 8px;
    }
    
    .modal-footer {
        padding: 0px 24px 24px 24px;
    }

	.modal-content.modal-content-wrap {
		flex-direction: column;
	}
	.modal-content-left {
		width: 100%;
		padding: 24px;
	}
	.modal-content-right {
		width: 100%;
		padding: 0px;
		border-radius: 0 0 var(--main-radius) var(--main-radius);
	}
	.modal-content-title h4 {
		font-size: 14px;
	}
	.modal-content-text {
		height: 160px;
	}
	.modal-content-wrap .modal-header .btn-close {
		top: 16px;
		right: 16px;
	}
	.modal-content-wrap .modal-header {
		padding: 24px 24px 0px 24px;
	}
	.modal-body {
		padding: 0 24px;
	}
	.modal-content-right .modal-body {
		padding-top: 24px;
	}
	.modal-body .form-btns {
		margin-top: 24px;
		margin-bottom: 24px;
	}

	#footer {
		padding: 24px 0px;
		padding: 16px 0px;
	}

	.footer-top {
		padding: 48px 0px;
		flex-direction: column;
	}
	.footer-top-left {
		width: 100%;
	}
	.footer-top-left .content-banner-title .sub-title {
		margin-left: -8px;
		margin-bottom: 4px;
	}
	.footer-top-left .content-banner-title h2 {
		line-height: 28px;
	}
	.footer-top-right {
		width: 100%;
		flex-direction: column;
	}
	.footer-contact {
		padding-top: 0px;
/*		flex-direction: column;*/
	}
	.footer-contact-block {
		padding-left: 16px;
		padding: 4px 0px 4px 16px;
		margin-top: 24px;
		width: 50%;
		border-left: 1px solid var(--sub-color);
	}
	.footer-contact-block a{
		flex-direction: column;
	}
	.footer-contact-icon {
		height: 32px;
		width: 32px;
		line-height: 32px;
		font-size: 16px;
		margin-bottom: 8px;
	}
	.footer-contact-icon:after {
		display: none;

	}
	.footer-contact-text {
		padding: 0px 0px 0px 16px;
		padding: 0px;
	}
	.footer-contact-text div {
		font-size: 14px;
	}
	.footer-contact-text span {
		font-size: 12px;
		color: var(--light-text-color);
	}

	.footer-content {
		flex-direction: row;
		flex-wrap: wrap;
		padding: 0;
		border: none;
	}
	.footer-left {
		width: 50%;
		order: 2;
	}
	.footer-social-links {
		margin-left: -8px;
	}
	.footer-menu {
		width: 100%;
		flex-direction: column;
		padding-bottom: 24px;
		margin-bottom: 8px;
/*		border-bottom: 1px solid rgba(255, 255, 255, 0.16);*/
		order: 1;
	}
	.footer-menu-list {
		flex-direction: column;
	}
	.footer-menu-list li {
		text-align: center;
		padding: 0px 0px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.16);
	}
	.footer-menu-list a {
		font-size: 14px;
		padding-left: 0;
	}
	.footer-right {
		width: 50%;
		order: 3;
	}
	
	.footer-menu .dropdown {
		padding: 0;
		width: 100%;
		height: initial;
	}
	.footer-menu .dropdown ul {
		position: relative;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		top: initial;
		left: initial;
		margin: 0;
		padding: 0px 0px 12px 0px;
		width: 100%;
	}
	.footer-menu .dropdown ul li{
		border-bottom: 0px;
		padding:4px 0;
		width: 100%;
	}
	.footer-menu .dropdown-open .dropdown:before{
		display: none;
	}
	

	.footer-bottom {
		padding: 48px 0px;
	}
	.footer-logo img {
		height: 12px;
	}
	.footer-copyright {
		font-size: 12px;
		text-align: center;
	}

    .footer-whatsapp{
        bottom: 24px;
        right: 24px;
    }
    .whatsapp-button{
        width: 48px;
        height: 48px;
        font-size: 24px;
    }
    
    
	
	.empty-animation{
		animation: error-text-animate 16.0s linear infinite;	
	}	
	.empty-animation div{
		font-size: 50px;
		font-size: 80px;
		width: 50%;
	}
	.empty-animation div:first-child{
		display: none;	
	}
	
	.empty-page-msg {
		width: 100%;
		padding: 0 24px;
		min-width: initial;
	}
	.empty-page-title {
		font-size: 28px;
	}
	.empty-page-img {
		padding: 0;
	}
	.empty-page-img div img {
		height: 16px;
	}
	
	
	
}

@media (max-width: 426px) {
	/*
	#content-home-clients .content-logos {
		min-height: 45vh;
	}
*/
}

@media (max-width: 360px) {
	.large-text {
		width: 50%;
		white-space: nowrap;
		font-size: 32px;
		letter-spacing: 3px;
	}
	.project-slide-title h3 {
		margin-bottom: 8px;
	}
	.project-slide-text {
		padding-top: 8px;
	}
	.project-slide-title span {
		font-size: 10px;
	}
	.project-slide-text .txt-btn {
		display: none;
	}
}

/* iOS Media Query */
@supports (-webkit-touch-callout: none) {
	.logo-animate {
		display: none;
	}
	.logo-static {
		display: block;
	}

	#header {
		transform: translate3d(0, 0, 0);
	}

	.banner-video {
		min-width: initial;
		min-height: initial;
		transform:none;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}


}

/* SAFARI Media Query */
@supports (-webkit-hyphens:none){
	.logo-animate {
		display: none;
	}
	.logo-static {
		display: block;
	}
	#header {
		transform: translate3d(0, 0, 0);
	}
	.main-banner-video:before {
		display: none;
	}
	html {
		/* @See: https://greensock.com/forums/topic/33967-gsap-scrolltrigger-is-causing-a-scroll-to-top-on-ios-16-safari-nuxt/?tab=comments */
		scroll-behavior: initial !important;
	}
}

@media (-webkit-device-pixel-ratio: 1.25) {

}



.x-loader {
/*	font-family: "Roboto", sans-serif;*/
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	font-weight: 700;
  font-size: 400px;
  font-size: 160px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -51%);
  text-shadow: 0px 0px 4px #FFFFFF;
  color: var(--sub-color);
}
.x-loader:before {
  content: attr(data-char);
  font-size: 160px;
  position: absolute;
  text-shadow: 0px 0px 6px #FFFFFF;
  clip-path: polygon(
    0% 100%,
    0% 0%,
    100% 0%,
    100% 50%,
    50% 50%,
    100% 50%,
    100% 100%
  );
  animation-name: loadingAni;
  animation-duration: 5s;
  animation-delay: -0.1s;
	animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(0, 0.1, 0.9, 0.81);
  animation-timing-function: linear;
	animation-direction: alternate;
  animation-direction: reverse;
  mix-blend-mode: color;
}
.x-loader:after {
  content: attr(data-char);
  font-size: 160px;
  position: absolute;
  text-shadow: 0px 0px 6px #FFFFFF;
  clip-path: polygon(
    0% 100%,
    0% 0%,
    100% 0%,
    100% 50%,
    50% 50%,
    100% 50%,
    100% 100%
  );
  animation-name: loadingAni;
  animation-duration: 5s;
	animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(0, 0.1, 0.9, 0.81);
	animation-timing-function: linear;
	animation-direction: alternate;
  animation-direction: reverse;
  mix-blend-mode: color;
  left: 0;
  top: 0;
}

@keyframes loadingAni {
  0% {
    clip-path: polygon(
      0% 100%,
      0% 0%,
      100% 0%,
      100% 50%,
      50% 50%,
      100% 50%,
      100% 100%
    );
  }
  12.5% {
    clip-path: polygon(
      0% 100%,
      0% 0%,
      100% 0%,
      100% 50%,
      50% 50%,
      100% 100%,
      100% 100%
    );
  }
  25% {
    clip-path: polygon(
      0% 100%,
      0% 0%,
      100% 0%,
      100% 50%,
      50% 50%,
      50% 100%,
      50% 100%
    );
  }
  37.5% {
    clip-path: polygon(
      0% 100%,
      0% 0%,
      100% 0%,
      100% 50%,
      50% 50%,
      0% 100%,
      0% 100%
    );
  }
  50% {
    clip-path: polygon(
      0% 50%,
      0% 0%,
      100% 0%,
      100% 50%,
      50% 50%,
      0% 50%,
      0% 50%
    );
  }
  62.5% {
    clip-path: polygon(0% 0%, 0% 0%, 100% 0%, 100% 50%, 50% 50%, 0% 0%, 0% 0%);
  }
  75% {
    clip-path: polygon(
      50% 0%,
      50% 0%,
      100% 0%,
      100% 50%,
      50% 50%,
      50% 0%,
      50% 0%
    );
  }
  87.5% {
    clip-path: polygon(
      100% 0%,
      100% 0%,
      100% 0%,
      100% 50%,
      50% 50%,
      100% 0%,
      100% 0%
    );
  }
  100% {
    clip-path: polygon(
      100% 50%,
      100% 50%,
      100% 50%,
      100% 50%,
      50% 50%,
      100% 50%,
      100% 50%
    );
  }
}
