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

	position: relative;

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

	-webkit-font-smoothing: antialiased;
}

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

body {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 2.8rem;

	overflow-x: hidden;

	margin: 0;

	text-align: left;

	color: #1e1ee6;
	background-color: #fff;

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

@font-face {
	font-family: "Helvetica Neue";
	font-weight: 400;
	font-style: normal;

	font-display: swap;
	src: url("../fonts/helveticaneue.woff") format("woff");
}

@font-face {
	font-family: "Helvetica Neue";
	font-weight: 500;
	font-style: normal;

	font-display: swap;
	src: url("../fonts/helveticaneue-medium.woff") format("woff"),
		url("../fonts/helveticaneue-medium.woff2") format("woff2");
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 500;
}

h1 {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 2.3rem;
}

h2 {
	font-size: 4rem;
}

h3 {
	font-size: 2.2rem;
}

h4 {
	font-size: 1.6rem;
}

strong {
	font-weight: 500;
}

ul {
	padding: 0;

	list-style-type: none;
}

a,
a:active,
a:visited,
a:focus {
	text-decoration: none;
	text-decoration: underline solid transparent;

	color: #1e1ee6;
	transition: text-decoration-color 0.5s;
}

a:hover {
	text-decoration: underline;
	text-decoration-color: currentColor;
}

.hidden {
	display: none;
}

.disable-select {
	cursor: default;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-touch-callout: none;
	-khtml-user-select: none;
}

.alignleft {
	float: left;
}

.alignright {
	float: right;
}

.aligncenter {
	display: block;

	margin: 0 auto;
}

.container {
	position: relative;

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

.row {
	font-size: 0;
}

.row > * {
	font-size: 2.8rem; /* font-size same as general on body */

	display: inline-block;

	vertical-align: top;
}

.row-main {
	padding: 0 36px;
}
@media (max-width: 1460px) {
	.row-main {
		padding: 0 24px;
	}
}

.clearfix:before,
.clearfix:after {
	display: table;

	content: "";
}

.clearfix:after {
	clear: both;
}

iframe {
	border: 0;
}

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

@media (max-width: 1200px) {
	body,
	.row > * {
		font-size: 2.4rem;
	}
}

@media (max-width: 760px) {
	body,
	.row > * {
		font-size: 2.2rem;

		text-align: center;
	}

	h2 {
		font-size: 3.6rem;
	}
}

@media (max-width: 460px) {
	h2 {
		font-size: 2.6rem;
	}
}

/* --- TABLES --- */
table {
	margin-bottom: 15px;

	border-collapse: collapse;
}

table td,
table th {
	line-height: 3rem;

	padding: 0 7px;
}

table thead td {
	color: #fff;
	background: #1e1ee6;
}

/* --- FORMS --- */
label {
	font-family: "Helvetica Neue", Arial, sans-serif;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="search"],
input[type="file"],
textarea,
select {
	font-family: "Helvetica Neue", Arial, sans-serif; /* fix normalize.css */
	font-size: 1.8rem; /* fix normalize.css */
	line-height: 32px;

	display: block;

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

	transition: 0.3s;

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

input[type="file"] {
	font-size: 1.6rem;
	line-height: 20px;

	height: 27px;
	padding: 0;

	border: none;
	box-shadow: none;
}

textarea {
	line-height: normal;

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

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="search"]:focus,
input[type="file"]:focus,
textarea:focus,
select:focus {
	border-color: #1e1ee6;
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

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

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

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

button,
input[type="submit"] {
	font-family: Georgia, serif; /* fix normalize.css */
	font-size: 1.6rem; /* fix normalize.css */
	line-height: normal; /* fix normalize.css */

	padding: 0;

	cursor: pointer;
	transition: 0.5s;

	border: none;
	background: none;
}

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

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

input[type="submit"] {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.7rem;

	display: inline-block;

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

	color: #1e1ee6;
	border: none;
	background: none;
	text-decoration: none;
	text-decoration: underline solid transparent;
}

input[type="submit"]:hover {
	text-decoration: underline;
	text-decoration-color: currentColor;
}

/* contact form 7 */
.wpcf7 label {
	display: block;

	width: 100%;
	margin: 0 0 15px 0;
	padding: 0;
}

.wpcf7 label.row > * {
	vertical-align: middle;
}

.wpcf7 input {
	margin: 0;
}

.wpcf7-label {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.7rem;

	display: inline-block;

	width: 30%;
	padding-right: 30px;

	text-align: right;
}

.wpcf7-label .required {
	color: #f00;
}

.wpcf7-form-control-wrap {
	display: inline-block;

	width: 70%;
}

.wpcf7 .form-control {
	margin: 40px 0 0 0;

	text-align: right;
}

.wpcf7 .acceptance {
	font-size: 1.4rem;
	line-height: 2rem;

	display: inline-block;

	width: auto;

	text-align: right;
}

.wpcf7 .acceptance .wpcf7-form-control-wrap {
	width: auto;
}

input.wpcf7-submit {
	float: right;

	margin-left: 30px;
	padding: 0;
}

div.wpcf7 .ajax-loader {
	width: 20px;
	height: 20px;

	background: transparent url("../img/ico_infinity.gif") center center
		no-repeat;
	background-size: 20px 20px;
}

span.wpcf7-not-valid-tip {
	font-size: 1.5rem;

	padding-top: 5px;

	text-align: left;
}

div.wpcf7-response-output {
	margin: 0 0 40px 0;
	padding: 0;
	padding-left: 30%;

	text-align: right;

	border: none;
}

.wpcf7 form.sent > * {
	display: none;
}

@media (max-width: 500px) {
	.wpcf7-label,
	.wpcf7-form-control-wrap {
		width: 100%;

		text-align: left;
	}

	.wpcf7-label {
		display: block;

		margin-bottom: 5px;
	}

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

	input.wpcf7-submit {
		display: block;
		float: none;

		width: 100px;
		margin: 0 auto;
	}
}

/* ------------------------------ SLIDERS ------------------------------ */
.slick-slider {
	position: relative;

	display: block;

	-webkit-touch-callout: none;
	-khtml-user-select: none;
}

.slick-list {
	position: relative;

	display: block;
	overflow: hidden;

	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;

	display: block;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;

	height: 100%;
	min-height: 1px;

	outline: none;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;

	height: auto;

	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}

/* slick arrows */
.slick-arrow {
	font-size: 0;
	line-height: 46px;

	position: absolute;
	z-index: 900;
	top: 50%;

	width: 50px;
	height: 50px;

	transform: translate(0, -50%);
	text-align: center;

	color: transparent;
}

.slick-arrow:hover {
	text-decoration: none;
}

.slider:hover .slick-arrow {
	color: #1e1ee6;
}

.slick-arrow:before {
	font-size: 5rem;
}

.slick-prev {
	left: 15px;
}

.slick-prev:before {
	content: "\f104";
}

.slick-next {
	right: 15px;
}

.slick-next:before {
	content: "\f105";
}

/* slick dots */
.slick-dots {
	position: absolute;
	z-index: 900;
	bottom: 15px;
	left: 50%;

	margin: 0;

	transform: translate(-50%, 0);
}

.slick-dots li {
	display: inline-block;
}

.slick-dots button {
	font-size: 0;

	position: relative;

	display: inline-block;

	width: 11px;
	height: 11px;
	margin: 0 5px;
	padding: 3px;
}

.slick-dots button:before {
	font-size: 0;

	display: block;

	width: 5px;
	height: 5px;

	content: "";

	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
}

.slick-dots button:after {
	position: absolute;
	top: 0;
	left: 0;

	display: block;

	width: 11px;
	height: 11px;

	content: "";
	transition: 0.5s;

	border-radius: 50%;
	background: transparent;
}

.slick-dots .slick-active button:after,
.slick-dots button:hover:after {
	background: #fff;
}

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

	background: #fff;
	border-top: 8px solid #1e1ee6;
	margin-bottom: 24px;
}

header .container {
	max-width: none;
	margin: 0 36px;
}

header .wrapper {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 36px 0 16px;
}

.logo {
	font-weight: 500;
	line-height: 1.15;
	font-size: 2.4rem;
	display: inline-block;
}

.logo a {
	display: block;
	position: relative;
}

.logo__desc {
	position: absolute;
	left: 0;
	bottom: 0;
	top: -2px;
	width: 100%;
	white-space: nowrap;
	transition: opacity 0.2s, transform 0.2s;
}

.logo__img {
	width: auto;
	height: 27px;
}

.logo h1 {
	margin: 0;
}

@media (max-width: 1460px) {
	header .container {
		margin: 0;
	}
}

@media (max-width: 960px) {
	header {
		width: 100%;
	}
	.logo__img {
		height: auto;
		width: 228px;
	}
	.logo__desc {
		display: none;
	}
}
body:not(.page-template-homepage) .logo__desc {
	display: none;
}
@media (min-width: 961px) {
	header {
		border-top: 16px solid #1e1ee6;
		margin-bottom: 0;
	}
	header .wrapper {
		padding: 24px 0 24px;
	}
	.logo__img {
		width: 288px;
		height: auto;
	}
	body.page-template-homepage .logo__img {
		display: none;
	}
	body.is-scrolled .logo__desc {
		-webkit-transform: translateY(10px);
		-ms-transform: translateY(10px);
		transform: translateY(10px);
		opacity: 0;
	}
}

/* --- PRIMARY NAVIGATION --- */
nav.primary {
	font-weight: 500;
	line-height: 1.2;
}

.main-menu,
.sub-menu {
	margin: 0;
}

.main-menu.row {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 40px;
}

.main-menu > li {
	font-size: 1.6rem;
	position: relative;
	margin: 0 0 8px;
}

.main-menu a {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.6rem;

	position: relative;

	text-transform: lowercase;
}

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

.main-menu .current-menu-item > a,
.single-commercials .main-menu .menu-item-object-commercials > a {
	color: #000;
}

.main-menu .sub-menu {
	position: absolute;
	z-index: 999;
	top: 0;
	left: 100%;

	visibility: hidden;

	transition: 0.3s linear;
	white-space: nowrap;

	opacity: 0;
	border-left: 1px solid transparent;
}

.main-menu > li > .sub-menu {
	top: 30px;
	left: 5px;

	border-top: 25px solid transparent;
	border-left: none;
}

.main-menu li:hover > .sub-menu {
	visibility: visible;

	opacity: 1;
}

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

.main-menu .sub-menu a {
	display: block;

	margin: 0;
	padding: 5px 15px;

	background: #000;
}

.main-menu .sub-menu > li:hover > a {
	color: #1e1ee6;
}

.sub-show {
	display: none;
}

@media (max-width: 960px) {
	.nav-wrapper {
		padding-top: 92px;
		position: absolute;
		z-index: 999;
		top: -8px;
		right: 0;

		display: none;

		width: 100%;
		height: 100dvh;

		background: #1e1ee6;
		border-top: 8px solid #fff;
	}

	.nav-wrapper__inner {
		display: flex;
	}

	nav.primary {
		position: static;
	}

	.main-menu.row {
		grid-template-columns: repeat(1, 1fr) !important;
	}

	.main-menu li {
		margin: 0 0 16px;
	}

	.main-menu a {
		font-size: 2.4rem;
		line-height: 1.1;

		display: block;

		margin: 0;
		padding: 0 30px;

		text-align: left;

		background: none;
		color: #fff;
	}

	.main-menu .sub-menu {
		position: static;

		visibility: visible;

		transition: none;

		opacity: 1;
		border: none;
	}

	.main-menu > li.menu-item-has-children > .sub-show {
		font-size: 3rem;
		line-height: 5rem;

		position: absolute;
		top: 0;
		right: 15px;

		display: block;

		width: 50px;
	}

	.main-menu > li.menu-item-has-children > .sub-show:hover {
		text-decoration: none;
	}

	.main-menu > li.menu-item-has-children > .sub-show:before {
		content: "\f0d7";

		color: #fff;
	}

	.main-menu > li.menu-item-has-children > .sub-show.active {
		transform: rotate(180deg);
	}

	.main-menu > li > .sub-menu {
		display: none;

		border: none;
	}

	.main-menu > li > .sub-menu ul {
		padding-left: 15px;
	}

	.main-menu .sub-menu a {
		font-size: 1.6rem;
		line-height: 4rem;

		padding: 0;
		padding-left: 30px;
	}
}

@media (max-width: 760px) {
	.main-menu a {
		padding: 0 24px;
	}

	.main-menu > li.menu-item-has-children > .sub-show {
		right: 0;
	}
}

@media (min-width: 961px) {
	.nav-wrapper {
		display: flex !important;
		gap: 40px;
		height: auto !important;
	}
}

/* --- LANGUAGES --- */
.languages {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.6rem;
	font-weight: 500;

	position: relative;

	display: inline-block;

	text-align: center;
	vertical-align: top;
	text-transform: lowercase;
}

.lang-btn {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.6rem; /* fix normalize.css */
	font-weight: 500;

	width: inherit;
	height: inherit;
	color: #1e1ee6;
}

.lang-btn:hover,
.lang-btn.active {
	text-decoration: none;

	color: #000;
}

.lang-box {
	position: absolute;
	z-index: 999;
	top: 25px;
	left: 0;

	display: none;

	background: #fff;
}

.lang-box ul {
	margin: 0;
}

.lang-box .current-lang-item {
	display: none;
}

.lang-box a {
	display: block;
}

.lang-box a:hover {
	color: #000;
}

@media (max-width: 960px) {
	.languages {
		position: static;

		display: block;

		padding: 0;
	}

	.lang-btn {
		display: none;

		background: none;
	}

	.lang-box {
		position: static;

		display: block;
		font-size: 2rem;
	}

	.lang-box li {
		float: left;
		width: auto;
	}

	.lang-box a {
		line-height: 5rem;
		padding: 0 0 0 24px;
		color: #fff;
	}

	.lang-box li:nth-child(2n + 1) a {
		border: none;
	}

	.lang-box .current-lang-item {
		display: block;
	}

	.lang-box .current-lang-item a {
		color: #fff;
		text-decoration: underline;
	}
}

@media (max-height: 460px) {
	.lang-box a {
		font-size: 1.6rem;
		line-height: 3.3rem;
	}
}

/* --- TOOLS --- */
.tools {
	display: none;
}

@media (max-width: 960px) {
	.tools {
		position: absolute;
		top: 36px;
		right: 24px;

		display: block;

		text-align: right;
		z-index: 1000;
	}

	/* NAVIGATION BUTTON */
	.nav-btn {
		font-size: 0;

		position: relative;
		top: 5px;

		display: inline-block;

		width: 24px;
		height: 24px;
		margin-left: 20px;

		vertical-align: top;
	}

	.nav-btn span,
	.nav-btn:before,
	.nav-btn:after {
		transition: 0.4s;
	}

	.nav-btn span {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;

		display: block;

		width: 100%;
		height: 4px;
		border-radius: 4px;

		background: transparent;
	}

	.nav-btn.active span {
		right: 20px;

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

	.nav-btn.active svg {
		display: none;
	}

	.nav-btn:before,
	.nav-btn:after {
		position: absolute;
		left: 0;

		display: block;

		width: 100%;
		height: 4px;
		border-radius: 4px;

		content: "";

		background: transparent;
	}

	.nav-btn:before {
		top: 0;
	}

	.nav-btn:after {
		bottom: 0;
	}

	.nav-btn.active:before {
		top: 10px;
		background: #fff;
		transform: rotate(45deg);
		width: 28px;
	}

	.nav-btn.active:after {
		bottom: 10px;
		background: #fff;
		transform: rotate(-45deg);
		width: 28px;
	}
}

/* ------------------------------ CONTENT ------------------------------ */
.content {
	position: relative;
	padding: 20px 0 30px 0;
}

.home .content {
	padding: 5px 0 0 0;
}

.content a {
	text-decoration: none;
}

.content ul li {
	position: relative;

	padding-left: 17px;
}

.content ul li:before {
	position: absolute;
	top: 7px;
	left: 0;

	display: block;

	width: 5px;
	height: 5px;

	content: "";

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

.page-template-default .content .text-field p {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.6rem;
	line-height: 2.4rem;
}

.caldera-grid .intl-tel-input ul li {
	padding: 0;
}

.caldera-grid .intl-tel-input ul li:before {
	display: none;
}

.banner {
	text-align: left;
	position: relative;

	overflow: hidden;

	margin: 0 36px;
	padding: 32px 36px;
	border-radius: 8px;

	display: flex;
	align-items: flex-end;

	color: #fff;
}

.banner:after {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;

	display: block;

	width: 100%;
	height: 100%;

	content: "";

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

.banner .text-wrapper {
	position: relative;
	z-index: 2;
}

.banner p {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 4.8rem;
	font-weight: 500;
	line-height: 1.1;
	margin: 0;

	max-width: 560px;
}

.banner h1 {
	font-size: 0;
	/*font-size: 2.3rem;*/

	text-decoration: underline;
}

.banner img {
	font-family: "object-fit: cover, object-position: center center;"; /* polyfill */

	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;

	display: block;

	width: 100%;
	height: 100%;

	background: #000;

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

.banner video {
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;

	width: auto;
	min-width: 100%;
	height: auto;
	min-height: 100%;

	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);

	background: #000;
}

.logo-main {
	pointer-events: none;
	display: none;
	margin-bottom: 20px;
}

.logo-main img {
	width: 100%;
	height: auto;
}
@media (min-width: 961px) {
	.logo-main {
		margin-top: 120px;
		display: block;
		position: sticky;
		top: 40px;
		transform-origin: 0 0;
		z-index: 1000;
	}
	.logo-main a {
		pointer-events: all;
		display: flex;
		transition: width 0.3s;
	}
}

.title {
	text-align: left;
	margin: 48px 0 16px;
	font-size: 2.4rem;
	line-height: 1.1;
}
@media (min-width: 961px) {
	.banner {
		min-height: 728px;
		border-radius: 24px;
	}
	.title {
		margin: 72px 0 24px;
		font-size: 3.6rem;
	}
}

.col-left {
	width: 30%;
	margin: 40px 0;
}

.col-right {
	width: 70%;
	margin: 40px 0;
	padding-left: 30px;
}

ul.vertical-slider {
	padding: 30px 0;
}

ul.vertical-slider li {
	font-size: 3.6rem;
	line-height: 4rem;

	padding: 0;
	padding: 2px 0;

	color: #d6d6d6;
}

ul.vertical-slider li:before {
	display: none;
}

.vertical-slider .slick-current + li + li + li + li {
	transition: 0.5s;

	color: #1e1ee6;
}

@media (max-width: 1200px) {
	.banner {
		height: 350px;
		padding-top: 50px;
	}

	.banner p {
		font-size: 4rem;
	}
}

@media (max-width: 960px) {
	.banner p {
		font-size: 3.6rem;
	}

	.col-left,
	.col-right {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.col-left {
		margin-top: 40px;
	}
}

@media (max-width: 760px) {
	.banner {
		height: 360px;
	}

	.banner p {
		font-size: 3rem;
	}

	.banner h1 {
		font-size: 1.8rem;
	}

	ul.vertical-slider li {
		font-size: 2.4rem;
		line-height: 2.6rem;
	}
}

@media (max-width: 460px) {
	/*.page-template .text-field
	{
		line-height: 2.3rem;
	}*/

	.banner {
		height: 240px;
		padding: 24px 24px 14px;
	}

	.banner p {
		font-size: 2.4rem;
		line-height: 2.65rem;
	}

	.banner h1 {
		font-size: 1.6rem;
	}

	ul.vertical-slider li {
		font-size: 2.8rem;

		padding: 0;
	}
}

@media (max-width: 1460px) {
	.banner {
		margin: 0 24px;
	}
}

/* --- FLEXBILE CONTENT --- */
.flexible-content {
	margin: 0 -40px;
}

.flexible-content .column {
	padding: 0 40px;
}

/* one column */
.flexible-content .columns-1 .column {
	width: 100%;
}

/* two columns */
.flexible-content .columns-2 .column {
	width: 50%;
}

/* three columns */
.flexible-content .columns-3 .column {
	width: 33.33%;
}

/* column fields */
.flexible-content .column-field {
	display: block;

	margin: 40px 0;
}

.flexible-content .image-field {
	font-size: 0;

	text-align: center;
}

.flexible-content .video-field video {
	width: 100%;
	height: auto;
	border-radius: 24px;
}

.flexible-content .text-field {
	line-height: 3.6rem;
}

.flexible-content .text-small,
.text-page {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.6rem;
	line-height: 2rem;
}

.flexible-content .text-title {
	text-align: center;
}

.flexible-content .text-title h2 {
	display: inline-block;

	max-width: 400px;

	text-align: left;

	line-height: 5.2rem;
}

.flexible-content .image-field img {
	display: inline-block;

	width: auto;
	max-width: 100%;
	height: auto;

	border-radius: 24px;
}

.flexible-content .video-embed iframe {
	width: 100%;
}

@media (max-width: 960px) {
	.flexible-content {
		margin: 0 -20px;
	}

	.flexible-content .columns-3 .column {
		width: 50%;
	}

	.flexible-content .column {
		padding: 0 20px;
	}
}

@media (max-width: 760px) {
	.flexible-content {
		margin: 0;
	}

	.flexible-content [class*="columns-"] .column {
		width: 100%;
		padding: 0;
	}

	.flexible-content .column-field {
		margin: 30px 0;
	}

	.flexible-content .text-field {
		display: inline-block;

		max-width: 400px;
		line-height: 2.8rem;
	}

	.flexible-content .text-small,
	.text-page {
		font-size: 1.7rem;
		line-height: 1.9rem;
	}

	.flexible-content .text-title h2 {
		margin: 0;

		text-align: center;

		line-height: 3.4rem;
	}
}

@media (max-width: 460px) {
	.flexible-content .text-small,
	.text-page {
		line-height: 2.3rem;
	}
}

/* --- HOME PAGE --- */
.slider {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;
}

.slick-slide {
	height: 485px;
}

.slide-image {
	position: absolute;
	top: 0;
	left: 0;

	width: inherit;
	height: inherit;
}

@media (max-width: 760px) {
	.slick-slide {
		height: 360px;
	}
}

@media (max-width: 460px) {
	.slick-slide {
		height: 260px;
	}
}

/* --- REGISTRATION --- */
.registration .flexible-content .text-small {
	margin-bottom: 140px;

	text-align: center;
}

.registration .flexible-content .text-small p {
	display: inline-block;

	max-width: 400px;

	text-align: left;
}

@media (max-width: 760px) {
	.registration .flexible-content .text-small {
		margin-bottom: 20px;
	}

	.registration .flexible-content .text-small p {
		text-align: center;
	}
}

/* --- CONTACT --- */
.contact .row-3 {
	margin: 80px 0 0 0;
}

.contact .row-3 .col-full {
	display: block;
}

.contact .col-full iframe {
	width: 100%;
	height: 550px;
}

@media (max-width: 760px) {
	.contact .row-3 {
		margin: 40px 0 0 0;
	}

	.contact .col-full iframe {
		height: 350px;
	}
}

/* --- CLIENTS --- */
.clients .flexible-content .row-2.row > * {
	vertical-align: middle;
}

/* --- CLIENTS - LIST --- */
.clients-back-link {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.6rem;

	display: inline-block;

	margin-bottom: 40px;
	margin-left: 30px;
}

.clients-list .row {
	text-align: center;
}

.clients-list .text-field {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.6rem;
	line-height: 26px;

	width: 33%;
	padding: 0;

	text-align: center;
}

.clients-list .text-field p {
	margin: 0;
}

@media (max-width: 760px) {
	.clients-back-link {
		margin-left: 0;
	}

	.clients-list .text-field {
		width: 50%;
	}
}

@media (max-width: 460px) {
	.clients-list .text-field {
		width: 100%;
	}
}

/* --- ABOUT --- */
.about .flexible-content .row-3 .column-field {
	margin: 130px 0;
}

.about .flexible-content .row-2.row > *,
.about .flexible-content .row-4.row > * {
	vertical-align: middle;
}

@media (max-width: 960px) {
	.about .flexible-content .row-3 .column-field {
		margin: 70px 0;
	}
}

@media (max-width: 760px) {
	.about .flexible-content .row-3 .column-field {
		margin: 30px 0;
	}
}

/* --- COMMERCIALS --- */
.post-type-archive-commercials .content {
	padding: 25px 0 0 0;
}

.archive h1,
.single h1 {
	font-size: 3.7rem;

	margin-bottom: 50px;

	text-align: center;
}

.loop-wrapper {
	padding: 0 36px;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 16px;
}

.commercials-item {
	text-align: left;
	outline: none;
	border-radius: 16px;
	overflow: hidden;
}

.commercials-item .wrapper {
	position: relative;

	overflow: hidden;
}

.commercials-item .wrapper:after {
	position: absolute;
	inset: 0;
	display: block;

	content: "";
	background: rgba(0, 0, 0, 0.1);
	transition: background 0.3s;
}

.commercials-item:hover .wrapper:after {
	background: #1e1ee6;
}

.commercials-item .info {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 24px 40px 24px 24px;
}

.commercials-item .info h2 {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 2rem;
	line-height: 1.15;
	font-weight: 500;

	color: #fff;
}

.commercials-item .info h2 {
	margin-bottom: 0;
}

.commercials-item img {
	display: block;

	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;

	image-rendering: -webkit-optimize-contrast;
}

@media (max-width: 960px) {
	.commercials-item {
		border-radius: 8px;
	}
	.commercials-item .info {
		padding: 24px 40px 22px 24px;
	}
}

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

.single h1 {
	margin-bottom: 10px;
}

.single .director {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.6rem;

	display: inline-block;

	margin-bottom: 50px;
}

.single .video-embed {
	max-width: 960px;
	margin: 0 auto;
}

.single .video-embed iframe {
	width: 100%;
	height: 500px;
}

.single .nav-links {
	margin: 40px 0;
}

.single .nav-links a {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.6rem;

	text-decoration: none;
	text-transform: lowercase;

	color: #000;
}

.single .nav-links a:hover {
	color: #1e1ee6;
}

.prev-post-link {
	margin-right: 30px;
}

.prev-post-link:before {
	content: "< ";
}

.next-post-link {
	margin-left: 30px;
}

.next-post-link:after {
	content: " >";
}

@media (min-width: 761px) {
	.loop-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 961px) {
	.loop-wrapper {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}
	.commercials-item .info h2 {
		font-size: 2.4rem;
	}
}

@media (max-width: 1460px) {
	.loop-wrapper {
		padding: 0 24px;
	}
}

@media (max-width: 760px) {
	.single .video-embed iframe {
		height: 360px;
	}
}

@media (max-width: 650px) {
	.post-type-archive-commercials .content {
		padding-bottom: 50px;
	}
}

/* --- PAGINATION --- */
.pagination {
	display: none;

	height: 50px;
	margin-top: 20px;

	text-align: center;
}

.pagination a {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.8rem;
	line-height: 4rem;

	display: inline-block;

	width: 220px;

	color: #fff;
	background: #1e1ee6;
}

.pagination a:hover {
	text-decoration: none;

	border-color: #1e1ee6;
}

.infinite-scroll {
	position: absolute !important;
	z-index: 999;
	bottom: -50px;
	left: 0;

	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;

	text-align: center;
}

#infscr-loading {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 0;

	display: none;

	width: 28px;
	height: 28px;
	margin: 0 auto;

	text-align: center;

	background: #fff url("../img/ico_infinity.gif") center center no-repeat;
	background-size: cover;
}

#infscr-loading img {
	display: none !important;
}

@media (max-width: 650px) {
	.infinite-scroll {
		bottom: 0;
	}
}

/* ------------------------------ FOOTER ------------------------------ */
footer {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.6rem;

	background: #eee;
	padding: 30px 0;
	text-align: left;
}

.footer__logo {
	margin-bottom: 69px;
}

.footer__logo a {
	display: flex;
}

.footer__logo img {
	width: 100%;
	height: auto;
	max-width: 1224px;
}

.footer__bottom {
	display: grid;
	grid-template-columns: 66fr 34fr;
	gap: 24px;
	margin-bottom: 30px;
}

.footer__map a {
	display: block;
	font-size: 0;
}

.footer__map img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	overflow: hidden;
}

.footer__title {
	font-size: 4.8rem;
	line-height: 1.1;
	margin-bottom: 28px;
}

.footer__content {
	display: flex;
	flex-direction: column;
	padding-top: 80px;
}

.footer__text {
	max-width: 278px;
	font-size: 1.4rem;
	line-height: 1.285;
}

.footer__info {
	margin-top: auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.footer__item > :last-child {
	margin-bottom: 0;
}

.footer__copyright p {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.8rem;
}

@media (max-width: 960px) {
	footer {
		font-size: 1.4rem;
		padding: 24px 0;
	}
	.footer__logo {
		margin-bottom: 48px;
	}
	.footer__bottom {
		display: block;
	}
	.footer__map {
		display: flex;
		flex-direction: column;
	}
	.footer__title {
		order: 2;
		font-size: 2.4rem;
		margin: 16px 0 48px;
	}
	.footer__content {
		padding: 0;
	}
	.footer__text {
		display: none;
	}
	.footer__info {
		line-height: 1.2;
	}
	.footer__copyright p {
		font-size: 1.2rem;
		line-height: 1.5rem;
	}
}

@media (max-width: 1440px) {
	.footer__info {
		grid-template-columns: repeat(1, 1fr);
		gap: 16px;
	}
}

/* ------------------------------ OTHERS ------------------------------ */

/* --- FANCYBOX --- */
.fancybox-container--ready .fancybox-bg {
	opacity: 0.95;
	background: #fff;
}

.fancybox-caption-wrap,
.fancybox-show-infobar .fancybox-infobar,
.fancybox-buttons button {
	display: none !important;
}

.fancybox-button,
.fancybox-infobar__body {
	color: #1e1ee6;
	background: none;
}

.fancybox-button:hover {
	background: none;
}

.fancybox-buttons button.fancybox-button--close {
	position: absolute;
	top: 30px;
	right: 30px;

	display: inline-block !important;

	width: 40px;
	height: 26px;
}

.fancybox-button--close:after,
.fancybox-button--close:before {
	width: 30px;
	height: 1px;
}

@media (max-width: 760px) {
	.fancybox-buttons button.fancybox-button--close {
		top: 15px;
		right: 15px;
	}
}

/* --- SCROLL TO TOP --- */
.scroll-to-top {
	font-size: 0;

	position: fixed;
	right: 30px;
	bottom: 50px;

	display: none;

	transition: none;
	text-align: center;
}

.scroll-to-top:before {
	font-size: 3rem;
	line-height: 36px;

	display: block;

	width: 40px;
	height: 40px;

	content: "\f106";
	transition: 0.5s;

	color: #fff;
	border-radius: 3px;
	background: #262626;
}

.scroll-to-top:hover {
	text-decoration: none;
}

.scroll-to-top:hover:before {
	background: #00a2bf;
}

/* --- COOKIES NOTICE --- */
.cookie-notice {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.5rem;
	line-height: 3rem;

	position: fixed;
	z-index: 9999;
	bottom: 0;
	left: 0;

	display: none;

	width: 100%;
	padding: 5px;

	text-align: center;

	color: #fff;
	background: #1e1ee6;
}

.cookie-notice button {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 1.3rem;

	display: inline-block;

	margin: 0 10px;
	padding: 6px 16px;

	text-decoration: none;

	background: #fff;
}

.cookie-notice button:hover {
	text-decoration: underline;
}

.cookie-notice a {
	text-decoration: underline;

	color: #fff;
}

.cookie-notice a:hover {
	text-decoration: none;
}

@media (max-width: 760px) {
	.cookie-notice,
	.cookie-notice button {
		font-size: 1.3rem;
		line-height: 1.8rem;
	}

	.cookie-notice button {
		padding: 0 5px;
	}
}

/* ------------------------------ NEWS ------------------------------ */
.news {
	margin-bottom: 50px;
	text-align: left;
}
.news__title {
	margin: 48px 0 16px;
}
.news__list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 16px;
}
.new {
	min-height: 240px;
	height: 100%;
	border: 1px solid #1e1ee6;
	border-radius: 8px;
	padding: 80px 24px 24px;
	display: flex;
	flex-direction: column;
	color: #1e1ee6 !important;
	transition: color 0.5s, border-color 0.5s, background-color 0.5s;
}
.new:hover {
	border-color: transparent;
	background-color: #eeeeee;
}
.new > :last-child {
	margin-bottom: 0;
}
.new__title {
	margin: auto 0 8px;
	font-size: 2.4rem;
	line-height: 1.15;
	text-decoration: none;
}
.new__perex {
	font-size: 1.4rem;
	line-height: 1.1;
}
@media (min-width: 761px) {
	.news {
		margin-bottom: 90px;
	}
	.news__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 961px) {
	.news__title {
		margin: 72px 0 24px;
	}
	.news__list {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px;
	}
	.new__perex {
		font-size: 1.6rem;
	}
	.new {
		border-radius: 16px;
	}
}
@media (min-width: 1101px) {
	.new {
		min-height: 440px;
		padding: 24px;
	}
	.new__title {
		font-size: 3.6rem;
	}
}

/* ------------------------------ STUDIO ------------------------------ */

.studio {
	margin-bottom: 90px;
	text-align: left;
}

.studio__gallery {
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	display: grid;
}

.studio__gallery img {
	display: block;
	width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
	border-radius: 16px;
}

@media (max-width: 960px) {
	.studio__gallery {
		grid-template-columns: repeat(2, 1fr);
	}

	.studio__gallery picture:nth-child(3) {
		display: none;
	}
}

@media (max-width: 760px) {
	.studio__gallery {
		grid-template-columns: 1fr;
	}

	.studio__gallery picture:nth-child(2) {
		display: none;
	}
}

@media (max-width: 760px) {
	.studio {
		margin-bottom: 50px;
	}
}

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