/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

:root {}

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

html {
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 *
 * todo barva selekce
 */

::-moz-selection {
    background: #d8f8fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1rem 0;
    padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

@font-face {
	font-family: "Aeonik";
	src:
			url("fonts/AeonikProVF-Roman.woff2") format("woff2 supports variations"),
			url("fonts/AeonikProVF-Roman.woff2") format("woff2-variations"),
			url("fonts/AeonikProVF-Roman.woff") format("woff supports variations"),
			url("fonts/AeonikProVF-Roman.woff") format("woff-variations")
	;
	font-weight: 100 900;
}

:root {
	--width-whole: 2560px;
	--width-wide: 1920px;
	--width-mid: 1480px;
	--width-sm-2: 1340px;
	--width-sm: 1024px;

	--width-main-logo-max: 335px;
	--width-main-logo-min: 280px;

	--height-header: 95px;
	--padding-main: 60px;
	--padding-menu: calc(var(--padding-main) * 0.8333);

	--font-family-aeonik: 'Aeonik', 'Verdana', sans-serif;

	--vw: 1vw;

	--mbs: 3.75em; /* 60px */
	--mb: 5.625em; /* 90px */
	--mbm: 7.5em; /* 120px */
	--mbl: 9.375em; /* 150px; */
	--mt-no-changer: 17em; /* 280px */

	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-book: 500;
	--font-weight-bold: 700;

	--font-size-sm: 0.875rem; /* 14px */
	--font-size-st: 1.125rem; /* 18px */
	--font-size-med: 1.125rem; /* 18px */
	--font-size-med-lg: 1.25rem; /* 20px */
	--font-size-lg: 1.5rem; /* 24px */
	--font-size-lg-2: 1.875rem; /* 30px */
	--font-size-xl: 2.5rem;/* 40px */
	--font-size-xxl: 3.125rem;/* 50px */
	--font-size-xxxl: 4.5rem; /* 72px */

	--color-main-menu: #ffffff;
	--color-main-menu-eles: rgba(255,255,255,0.6);

	--color-gray: #929292;
	--color-gray-90: rgba(146,146,146,0.95);
	--color-gray-80: rgba(146,146,146,0.8);
	--color-light-gray: #e7e7e7;
	--color-gray-2: #c0c0c0;
	--color-dark-gray: #4d4d4d;
	--color-dark-gray-2: #727272;
	--color-dark-teal: #6f8e92;
	--color-dark-teal-80: rgba(111, 142, 146, 0.8);
	--color-teal: #94bdc3;
	--color-teal-80: rgba(148, 189, 195, 0.8);
	--color-teal-30: rgba(148, 189, 195, 0.3);
}

@media screen and (max-width: 1280px) {
	:root {
		--font-size-xxxl: 4rem; /* 64px */
	}
}

@media screen and (max-width: 560px) {
	:root {

	}

	:root {
		--padding-main: 30px;

		--font-size-st: 1rem;
		--font-size-med-lg: 1.125rem; /* 18px */
		--font-size-lg: 1.5rem; /* 24px */
		--font-size-lg-2: 1.875rem; /* 30px */
		--font-size-xl: 1.875rem; /* 30px */
		--font-size-xxl: 2.5rem; /* 40px */
		--font-size-xxxl: 3.125rem; /* 50px */
	}
}

@media screen and (max-width: 380px) {
	:root {
		--font-size-med: 1rem; /* 16px */
		--font-size-med-lg: 1rem; /* 16px */
		--font-size-lg: 1.125rem; /* 18px */
		--font-size-lg-2: 1.5rem; /* 24px */
		--font-size-xl: 1.5rem; /* 24px */
		--font-size-xxl: 1.875rem; /* 30px */
		--font-size-xxxl: 2.125rem; /* 34px */
	}
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

html {
	scroll-behavior: smooth;
}

body, html {
	font-family: var(--font-family-aeonik);
	text-shadow: none;
	font-optical-sizing: auto;
	font-weight: var(--font-weight-regular);
	font-style: normal;
	background-color: #ffffff;
}

.menu-inverse {
	--color-main-menu: #000000;
	--color-main-menu-eles: rgba(0,0,0,0.6);
}

.menu-inverse.menu-opened {
	--color-main-menu: #ffffff;
	--color-main-menu-eles: rgba(255,255,255,0.6);
}

.body-header, .menu-inverse.body-header {
	--color-main-menu: #000000;
	--color-main-menu-eles: rgba(0,0,0,0.6);
}

button, input, select, textarea {
	font-family: var(--font-family-aeonik);
}

a {
	color: inherit;
	text-decoration: underline;
	transition: opacity 0.3s ease, color 0.3s ease, background-color 0.3s ease;
}

a:hover {
	color: inherit;
	opacity: 0.8;
}

b, strong {
	font-weight: 700;
}

sup {
	top: -0.7em;
	font-size: 55%;
}

.content {
	width: 100%;
	margin: 0 auto;
	max-width: var(--width-whole);
	min-width: 320px;
	box-sizing: border-box;
}

.content .content { min-width: 0; }

.content.content-wide {
	max-width: var(--width-wide);
}

.content.content-mid {
	max-width: var(--width-mid);
}

.content.content-mid.content-padded {
	box-sizing: content-box;
}

@media screen and (max-width: 1600px) {
	.content.content-mid.content-padded {
		box-sizing: border-box;
	}
}

.content.content-sm {
	max-width: var(--width-sm);
}

.content.content-sm.content-padded {
	box-sizing: content-box;
}

@media screen and (max-width: 1144px) {
	.content.content-sm.content-padded {
		box-sizing: border-box;
	}
}

.content.content-sm-2 {
	max-width: var(--width-sm-2);
}

.content.content-sm-2.content-padded {
	box-sizing: content-box;
}

@media screen and (max-width: 1460px) {
	.content.content-sm-2.content-padded {
		box-sizing: border-box;
	}
}

.content.content-padded { padding: 0 var(--padding-main); }

.content.content-black {
	background-color: #000000;
	color: #ffffff;
}

.content.content-light-gray {
	background-color: #f8f8f8;
}

.content.content-single-text {
	padding-top: 2em;
	padding-bottom: 4em;
}

/* utils */

.mb {
	margin-bottom: var(--mb) !important;
}

.mt {
	margin-top: var(--mb) !important;
}

.mbl {
	margin-bottom: var(--mbl) !important;
}

.mbs {
	margin-bottom: var(--mbs) !important;
}

.pt {
	padding-top: var(--mb) !important;
}

.pb {
	padding-bottom: var(--mb) !important;
}

.ptm {
	padding-top: var(--mbm) !important;
}

.pbm {
	padding-bottom: var(--mbm) !important;
}

.ptl {
	padding-top: var(--mbl) !important;
}

.pbl {
	padding-bottom: var(--mbl) !important;
}

.mt-no-changer {
	padding-top: var(--mt-no-changer) !important;
}

.text-small {
	font-size: var(--font-size-sm);
}

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

.error-page {
	padding-top: 6em !important;
	padding-bottom: 4em !important;
}

.big-link {
	font-size: var(--font-size-lg);
}

@media screen and (max-width: 1023px) {
	:root {
		--mbs: 3.125em; /* 50px */
		--mb: 3.125em; /* 50px */
		--mbm: 3.125em; /* 50px */
		--mbl: 5em; /* 80px; */
	}
}

/* titles */

.title-big {
	font-size: var(--font-size-xxxl);
	color: inherit;
	margin: 0 0 1em 0;
	font-weight: var(--font-weight-regular);
	line-height: normal;
}

.title-big-2 {
	font-size: var(--font-size-xxl);
	color: inherit;
	margin: 0 0 1em 0;
	font-weight: var(--font-weight-regular);
	line-height: normal;
}

.title-mid {
	font-size: var(--font-size-xl);
	color: inherit;
	margin: 0 0 1em 0;
	font-weight: var(--font-weight-book);
	line-height: normal;
}

.title-sm {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-light);
	color: inherit;
	margin: 0 0 1em 0;
	line-height: normal;
}

.title-xs {
	font-size: var(--font-size-med-lg);
	font-weight: var(--font-weight-bold);
	color: inherit;
	margin: 0 0 1em 0;
	line-height: normal;
}

.subtitle {
	display: block;
	font-size: 0.625em;
	font-weight: var(--font-weight-regular);
	line-height: normal;
	padding-top: 0.4em;
}

.title-arrow {
	position: relative;
}

.title-arrow:before {
	position: absolute;
	display: block;
	content: " ";
	width: 80px;
	aspect-ratio: 1 / 1;
	bottom: calc(100% + 50px);
	right: 0;
	border-right: 1px solid var(--color-gray);
	border-bottom: 1px solid var(--color-gray);
	transform-origin: bottom right;
	transform: rotate(45deg);
}

.title-arrow.title-arrow-center:before {
	right: auto;
	left: 50%;
	transform: translateX(-100%) rotate(45deg);
}

.title-usc {
	padding-bottom: 0.45em;
	margin-bottom: 0.65em;
	border-bottom: 2px solid var(--color-dark-gray-2);
}

/* buttons */

.button {
	position: relative;
	display: inline-flex;
	justify-content: flex-start;
	align-items: center;

	box-sizing: border-box;
	padding: 0.5em;
	font-size: var(--font-size-st);
	color: #000000;
	font-weight: var(--font-weight-book);
	text-decoration: none;
	transition: border-color 0.3s cubic-bezier(0.4,0,0.2,1), background-color 0.3s ease;
	text-align: left;
	background-color: transparent;

	z-index: 1;
	border: 1px solid var(--color-dark-teal);
	border-radius: 1000px;
	line-height: normal;
	white-space: nowrap;
}

.button:hover {
	opacity: 1;
	border-color: var(--color-dark-teal-80);
}

.button-symbol {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2.875em;
	height: 2.875em;
	aspect-ratio: 1 / 1;
	background-color: var(--color-teal);
	border-radius: 1000px;
}

.button-symbol:after {
	display: block;
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	transform: scale(0);
	width: 100%;
	height: 100%;
	border-radius: 1000px;
	background-color: var(--color-dark-teal);
	transform-origin: center center;
	transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
	z-index: 1;
}

.button:hover .button-symbol:after {
	transform: scale(1);
}

.button .arrow {
	--color-arrow: #000000;
	position: relative;
	z-index: 2;
	left: -1px;
}

.button-text {
	padding: 0.81em 0.5em 0.81em 1.25em;
}

.button.button-on-black {
	color: #ffffff;
}

.button.button-on-image {
	color: #ffffff;
	border-color: #ffffff;
}

.button.button-on-image:hover {
	border-color: var(--color-teal);
}

.button.button-arrow-down .arrow {
	transform: rotate(90deg);
	left: 0;
}

.button-arrow-back .arrow {
	transform: rotate(180deg);
	left: 0;
}

.buttons {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3em;
}

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

.buttons-left {
	justify-content: flex-start;
}

.buttons-right {
	justify-content: flex-end;
}

.buttons.buttons-vertical {
	flex-direction: column;
	row-gap: 1em;
}

.buttons.buttons-black {
	background-color: #000000;
}

@media screen and (max-width: 1023px) {
	.button {
		font-size: calc(var(--font-size-st) * 0.85);
	}
}

/* arrow */

.arrow {
	--color-arrow: #ffffff;
	width: 13px;
	height: 14px;
	transform-origin: center center;
}

.arrow-inner {
	position: absolute;
	top: 50%;
	right: 0;
	width: 100%;
	height: 2px;
	background-color: var(--color-arrow);
	transform: translateY(-50%);
	transition: width 0.3s ease, background-color 0.3s ease;
}

.arrow-inner:before, .arrow-inner:after {
	display: block;
	position: absolute;
	content: " ";
	right: 0;
	height: 100%;
	width: 8px;
	background-color: var(--color-arrow);
	transition: background-color 0.3s ease;
}

.arrow-inner:before {
	top: 1px;
	right: -1px;
	transform-origin: top right;
	transform: rotate(45deg);
}

.arrow-inner:after {
	top: -1px;
	right: -1px;
	transform-origin: bottom right;
	transform: rotate(-45deg);
}

/* header */

.main-header {
	height: var(--height-header);
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	background-color: transparent;
	color: #ffffff;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	transition: transform 0.35s ease, background-color 0.3s ease;
	z-index: 7;
	pointer-events: auto;
	opacity: 1;
}

.main-header.no-anim {
	transition: none;
}

.main-header.closed {
	transform: translate(-50%, -350%);
	pointer-events: none;
}

.body-header .main-header {
	position: fixed;
	box-shadow: 0 0 35px rgba(255,255,255,0.5);
	background-color: rgba(231,231,231,0.85);
	backdrop-filter: blur(10px);
}

.main-logo {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	width: clamp(var(--width-main-logo-min), 17.5vw, var(--width-main-logo-max));
	height: 100%;
}

.main-logo:hover {
	opacity: 1;
}

.main-logo:before {
	position: absolute;
	display: block;
	content: " ";
	top: 0;
	left: 0;
	width: 100%;
	aspect-ratio: 1 / 1;
	background-color: #000000;
	clip-path: polygon(0% 0%, 0% 100%, 100% 0%);
	z-index: 2;
	pointer-events: none;
}

.main-logo-image {
	position: relative;
	top: 3px;
	width: 40.3%; /* 135px */
	aspect-ratio: 135/50;
	object-fit: contain;
	margin-left: 15%; /* 50px */
	z-index: 3;
}

.main-logo:after {
	position: absolute;
	display: block;
	content: " ";
	top: 0;
	right: 0;
	width: 100vh;
	max-width: calc(100vw - 210px);
	aspect-ratio: 1 / 1;
	background: linear-gradient(-135deg, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0) 50%);
	z-index: -1;
	transform-origin: top right;
	transform: rotate(-45deg);
	pointer-events: none;
	opacity: 1;
	transition: opacity 0.3s ease;
}

.body-header .main-logo:after,
.no-changer .main-logo:after
{
	display: none;
}

.main-nav {
	height: 100%;
	display: flex;
	align-items: center;
	padding-right: var(--padding-menu);
}

.main-nav .main-logo {
	display: none;
}

.main-nav .main-logo:before, .main-nav .main-logo:after {
	display: none;
}

.lang-switch {
	--padding-left: 1em;
	--padding-right: 2.5em;

	position: relative;
	border: 1px solid var(--color-gray);
	font-size: var(--font-size-sm);
	text-transform: uppercase;
	background-color: transparent;
	margin: 0 0 0 1.42em;
}

.lang-link, button.lang-link {
	display: block;
	background-color: transparent;
	border: none;
	font-size: var(--font-size-sm);
	text-decoration: none;
	color: var(--color-main-menu);
	text-transform: uppercase;
	padding: 0.4em var(--padding-right) 0.4em var(--padding-left);
}

.lang-link:hover {
	opacity: 0.5;
}

.lang-link-main:after {
	position: absolute;
	display: block;
	content: "";
	width: 5px;
	height: 5px;
	right: 13px;
	bottom: 41%;
	border-bottom: 2px solid var(--color-main-menu);
	border-left: 2px solid var(--color-main-menu);
	transform: rotate(-45deg);
	transition: transform 0.3s ease;
}

.lang-switch-opened .lang-link-main:after {
	transform: rotate(135deg);
}

.lang-link-sub {
	position: relative;
}

.lang-link-sub:after {
	position: absolute;
	display: block;
	content: "";
	left: var(--padding-left);
	bottom: 0;
	width: calc(100% - var(--padding-left) * 2);
	height: 2px;
	background-color: var(--color-main-menu);
}

.lang-link-active:before {
	position: absolute;
	display: block;
	content: "";
	top: 50%;
	right: var(--padding-left);
	transform: translateY(-50%);
	width: 17px;
	height: 12px;
	background-image: url("../img/checkmark.png");
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
}

.lang-select {
	position: absolute;
	top: 100%;
	left: 0;
	transform: scaleY(0);
	transition: transform 0.3s ease;
	transform-origin: top center;
	color: var(--color-main-menu);
}

.lang-switch-opened .lang-select {
	transform: scaleY(1);
}

.body-header .lang-select {
	background-color: rgba(255,255,255,0.9);
	padding-bottom: 0.5em;
}

/* menu trigger */

.menu-trigger {
	position: relative;
	display: none;
	column-gap: 1em;
	font-size: var(--font-size-sm);
	color: var(--color-main-menu);
	align-items: center;
	text-decoration: none;
	padding-right: var(--padding-menu);
	opacity: 1;
	transition: opacity 0.3s ease;
	z-index: 1;
}

.menu-trigger:hover {
	opacity: 0.8;
	color: var(--color-main-menu);
}

.menu-title {
	text-transform: uppercase;
}

.menu-title-opened {
	display: none;
}

.menu-trigger-icon {
	display: flex;
	position: relative;
	width: 40px;
	height: 23px;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.body-header .menu-trigger-icon {
	/*margin-top: 0;*/
}

.menu-trigger-icon:before, .menu-trigger-icon:after {
	position: absolute;
	content: " ";
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--color-main-menu);
	top: 0;
	transition: top 0.3s ease, background-color 0.3s ease;
	transform-origin: center center;
	animation-fill-mode: forwards;
}

.menu-trigger-icon:after {
	top: calc(100% - 1px);
}

.menu-trigger-icon .line {
	height: 1px;
	background-color: var(--color-main-menu);
	width: 100%;
	display: block;
	opacity: 1;
	transition: opacity 0.3s ease, background-color 0.3s ease;
}

.menu-opened .menu-trigger-icon .line {
	opacity: 0;
}

.menu-opened .menu-trigger-icon:before {
	top: 49%;
	animation-name: rotate-line-1;
	animation-duration: 0.3s;
	animation-delay: 0.3s;
	animation-direction: normal;
}

.menu-opened .menu-trigger-icon:after {
	top: 48%;
	animation-name: rotate-line-2;
	animation-duration: 0.3s;
	animation-delay: 0.3s;
	animation-direction: normal;
}

@keyframes rotate-line-1 {
	from { transform: rotate(0); }
	to { transform: rotate(45deg); }
}

@keyframes rotate-line-2 {
	from { transform: rotate(0); }
	to { transform: rotate(-45deg); }
}

.nav-footer {
	display: inline;
}

.nav-footer-part {
	display: none;
}

.nav-footer-part.lang-switch {
	display: block;
}


/*
@media screen and (max-width: 1023px) {
	:root {
		--padding-nav: 40px;
		--padding-menu: var(--padding-nav);
	}

	.main-header {
		align-items: center;
	}

	.menu-trigger {
		display: flex;
	}

	.main-nav {
		position: absolute;
		top: 0;
		left: 0;
		height: 100vh;
		background-color: #000000;
		overflow: auto;
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		box-sizing: border-box;
		transform: translateY(-100%);
		transform-origin: top center;
		transition: transform 0.3s ease;
		padding-right: 0;
	}

	.menu-opened .main-nav {
		transform: translateY(0);
	}

	.main-logo {
		align-items: center;
	}

	.menu-opened .main-logo {
		opacity: 0;
	}

	.main-nav .main-logo {
		opacity: 1;
		display: flex;
		height: var(--height-header);
	}

	body.menu-opened {
		overflow: hidden !important;
	}

	.menu-opened.body-header, .menu-opened.menu-inverse.body-header {
		--color-main-menu: #ffffff;
		--color-main-menu-eles: rgba(255,255,255,0.6);
	}

	.body-header .lang-link, .body-header button.lang-link {
		color: var(--color-main-menu);
	}

	.body-header .main-logo {
		overflow: hidden;
	}

	.nav-footer {
		display: flex;
		width: 100%;
		justify-content: flex-start;
		align-items: flex-start;
		margin-top: auto;
		padding: var(--padding-nav);
		box-sizing: border-box;
		gap: 1.5em;
		border-top: 1px solid var(--color-dark-gray-2);
	}

	.nav-footer-part {
		display: initial;
	}

	.nav-footer-part-social {
		margin-left: auto;
	}

	.nav-footer-part-social .social-icons a {
		margin-right: 0;
		padding-right: 0;
	}

	.lang-switch {
		--padding-left: 0;

		border: none;
		border-bottom: 2px solid #ffffff;
	}

	.lang-link-sub:after {
		width: 100%;
	}

	.lang-select {
		top: auto;
		bottom: 100%;
		transform-origin: bottom center;
	}
}

@media screen and (max-width: 540px) {
	.nav-footer {
		flex-wrap: wrap;
	}

	.nav-footer-part-social {
		margin-left: 0;
		width: 100%;
	}

	.nav-footer-part-social .social-icons {
		justify-content: flex-start !important;
	}

	.lang-switch {
		margin-left: auto;
	}
}

@media screen and (max-width: 420px) {
	.main-logo:after {
		display: none;
	}

	.lang-switch {
		order: 1;
		margin-left: 0;
	}

	.nav-footer-part-social {
		width: auto;
		order: 2;
		margin-left: auto;
	}

	.nav-footer-part-copy {
		order: 3;
	}
}

@media screen and (max-width: 380px) {
	.main-logo-image {
		margin-left: 9%;
	}

	:root {
		--padding-nav: 25px;
	}
}
*/
/* changer */

.changer-slogan, .changer-title {
	position: absolute;
	z-index: 5;
	bottom: 23%;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
	color: #ffffff;
	font-size: var(--font-size-xxxl);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0.01em;
	text-shadow: 0 0 16px rgba(0,0,0,0.8);
	padding: 0 var(--padding-main);
	box-sizing: content-box;
}

.changer-title {
	bottom: 1em;
	max-width: var(--width-mid);
	text-align: left;
}

.changer-title-location {
	display: block;
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-light);
	padding-top: 1.8em;
}

.dots {
	height: 60px;
	background-color: rgba(0,0,0,0.5);
	margin: 0;
	padding: 0 28px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

.dots .dot {
	width: 16px;
	height: 16px;
	background-color: var(--color-gray);
	clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
	transition: background-color 0.2s ease;
}

.dots .dot:last-of-type { margin-right: 0; }

.dots .dot, .dots a:hover { text-decoration: none; }

.dots .dot.active { background-color: #ffffff; }

.dots .arrow {
	width: 16px;
	height: 16px;
	background-color: transparent;
	border: 1px solid #ffffff;
	transform-origin: center center;
	transform: rotate(45deg);
	text-decoration: none;
}

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

.dots .arrow.arrow-left {
	border-right-width: 0;
	border-top-width: 0;
}

.dots .arrow.arrow-right {
	border-left-width: 0;
	border-bottom-width: 0;
}

@media screen and (max-width: 1530px) {
	.changer-slogan, .changer-title {
		box-sizing: border-box;
	}
}

@media screen and (max-width: 1023px) {
	.changer-slogan, .changer-title {
		text-align: left;
		bottom: 2.65625em;
	}
}

/* circle hero */

.hero-text {
	padding-top: 8.125em; /* 130px */
	padding-bottom: 11.5em;
}

.hero-text.hero-text-logo {
	padding-top: 3em;
}

.hero-text.hero-text-inline {
	padding: 0;
}

.hero-text.hero-text-nb {
	padding-bottom: 0;
}

.hero-text.hero-text-big {
	padding-top: clamp(8.125em, 11.5vw, 13em);
	padding-bottom: clamp(11.5em, 14.4vw, 17.5em);
}

.hero-text > .content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.hero-text-back {
	width: 100%;
	padding-bottom: 5em;
}

.hero-title {
	width: 50%;
	font-size: var(--font-size-xxxl);
	font-weight: var(--font-weight-regular);
	margin: 0;
	display: flex;
	justify-content: flex-start;
	line-height: normal;
	letter-spacing: 0.01em;
	padding: 0 1.2em 0 1.5em;
	box-sizing: border-box;
}

.hero-title.hero-title-text-top {
	padding-left: 0;
}

.hero-content-text {
	width: 50%;
	box-sizing: border-box;
	padding: 7em 0 0 0;
	line-height: 1.625em;
	position: relative;
	z-index: 1;
	font-size: var(--font-size-st);
}

.hero-content-text.hero-content-text-top {
	padding-top: 0;
}

.hero-content-text.hero-content-text-right {
	text-align: right;
	font-size: var(--font-size-med-lg);
}

.hero-content-text p:first-of-type {
	margin-top: 0;
}

.hero-content-text p:last-of-type {
	margin-bottom: 0;
}

.hero-content-text .button {
	margin-top: 4em;
}

.hero-text-white {
	background-color: #FFFFFF;
	color: #000000;
}

.hero-text-white .hero-title {
	color: var(--color-gray);
}

.hero-text-gray {
	background-color: #FFFFFF;
	color: #000000;
	padding-bottom: 7em;
}

.hero-text-gray .title-mid {
	color: var(--color-gray);
}

.hero-text-logo > .content {
	align-items: stretch;
	flex-wrap: wrap;
}

.hero-title-logo {
	display: flex;
	align-items: flex-start;
}

.hero-title-logo-image {
	width: 100%;
	max-width: 380px;
	margin-top: 1em;
}

.shade {
	position: relative;
}

.shade:before {
	position: absolute;
	display: block;
	content: " ";
	top: -20em;
	left: calc(var(--padding-main) * -1);
	width: 85vw;
	aspect-ratio: 1 / 1;
	z-index: 0;
	transform-origin: top left;
	transform: rotate(45deg);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
	pointer-events: none;
	opacity: 1;
	transition: opacity 0.3s ease;
}

.shade-white:before {
	background: linear-gradient(90deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 100%);
}

.shade-black:before {
	background: linear-gradient(90deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 100%);
}

.hero-title-logos {
	flex-direction: column;
}

.title-logos {
	--gap-logos: 2.5rem;
	--width-logo: 100px;

	display: flex;
	gap: var(--gap-logos);
	align-items: center;
	padding-top: var(--padding-main);
}

.title-logo {
	width: calc(25% - var(--gap-logos) * 3 / 4);
	max-width: var(--width-logo);
	height: auto;
}

.title-logo-big {
	max-width: 110px;
}

@media screen and (max-width: 1440px) {
	.title-logos {
		flex-wrap: wrap;
		justify-content: space-between;
		max-width: calc(var(--width-logo) * 2 + var(--gap-logos));
	}

	.title-logo {
		width: calc(50% - var(--gap-logos) / 2);
	}
}

@media screen and (max-width: 1250px) {
	.hero-title {
		font-size: var(--font-size-xxl);
	}
}

@media screen and (max-width: 1180px) {
	.title-logos {
		--gap-logos: 2rem;
	}
}

@media screen and (max-width: 1023px) {
	.hero-text {
		padding-top: var(--mbs);
		padding-bottom: var(--mbl);
	}

	.hero-text > .content {
		flex-direction: column;
		text-align: left;
	}

	.hero-title {
		width: 100%;
		display: block;
		margin-bottom: 0.8em;
		max-width: none;
		padding-left: 0;
		padding-right: 0;
	}

	.hero-content-text {
		width: 100%;
		padding: 0;
	}

	.hero-content-text .title-arrow:before {
		width: 50px;
		bottom: calc(100% + 30px);
	}

	.hero-title-text {
		display: block;
		position: relative;
	}

	.shade:before {
		top: -5em;
		width: 100vw;
	}

	.title-logos {
		--gap-logos: 2.5rem;
		max-width: calc(var(--width-logo) * 4 + var(--gap-logos) * 3);
	}

	.title-logo {
		width: calc(25% - var(--gap-logos) * 3 / 4);
	}

	.hero-title-logo-image {
		max-width: 250px;
	}

	.hero-text-back {
		order: 1;
	}

	.hero-title-logo {
		order: 3;
		text-align: center;
	}

	.hero-text-logo .hero-content-text {
		order: 2;
	}
}

@media screen and (max-width: 480px) {
	.title-logos {
		max-width: calc(var(--width-logo) * 2 + var(--gap-logos));
	}

	.title-logo {
		width: calc(50% - var(--gap-logos) / 2);
	}
}

/* figures */

.figures-container {
	padding: 10.625rem 30px 4em 30px;
}

.figures-container.figures-container-images {
	overflow: hidden;
	padding-left: 0;
	padding-right: 0;
}

.figures-container.figures-texts-container {
	margin-bottom: var(--mbs);
}

.figures {
	--padding-figures: 60px;

	position: relative;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	font-size: var(--font-size-med-lg);
	font-weight: var(--font-weight-light);
	height: 300px;
}

.figures-images {
	justify-content: center;
	flex-wrap: wrap;
	width: 10000px;
	min-width: 100vw;
	user-select: none;
	padding-left: 0;
	cursor: grab;
}

.figures-images img {
	pointer-events: none;
}

.figures li {
	position: relative;
	margin: 0 var(--padding-figures) 0 calc(var(--padding-figures) * 2);
	padding: 2.54em 0 2.54em 0;
	box-sizing: border-box;
	width: 25%;
	max-width: 280px;
	list-style-type: none;
}

.figures-images li {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: calc(var(--padding-figures)  / 3);
}

.figures-images li:first-of-type {
	margin-left: 180px;
}

.figures-images a {
	display: block;
	width: 100%;
}

.figures li::after {
	--figure-skew: -23.5deg;

	position: absolute;
	display: block;
	content: "";
	top: 23.8%;
	left: calc(var(--padding-figures) * -1);
	height: 50.4%;
	border-bottom: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform-origin: right center;
	transform: translate(-120%, -50%) rotate(-45deg) skew(var(--figure-skew), var(--figure-skew));
	aspect-ratio: 1 / 1;
}

.figures-texts li {
	width: calc(25% - var(--padding-figures) * 3);
}

.figures-texts li:last-of-type {
	width: calc(25% - var(--padding-figures) * 2);
	margin-right: 0;
}

.figures strong {
	white-space: nowrap;
	font-size: var(--font-size-xxl);
	font-weight: var(--font-weight-regular);
}

.figure-image {
	width: 100%;
	max-width: 260px;
	max-height: 140px;
	object-fit: contain;
}

.figure-remark {
	position: absolute;
	bottom: var(--font-size-st);
	left: 40%;
	transform: translateX(-50%);
	width: 100%;
	color: var(--color-dark-gray-2);
	font-size: var(--font-size-st);
	text-align: center;
}

@media screen and (max-width: 1820px) {
	.figures.figures-texts {
		font-size: var(--font-size-med);
		height: 240px;
	}

	.figures.figures-texts strong {
		font-size: var(--font-size-xl);
	}

	.figures-texts li {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
	}
}

@media screen and (max-width: 1650px) {
	.figures-container {
		padding-top: var(--mbs);
	}

	.figures.figures-texts {
		font-size: var(--font-size-st);
		height: 180px;
	}

	.figures.figures-texts strong {
		font-size: var(--font-size-lg-2);
	}

	.figures.figures-texts {
		font-size: var(--font-size-st);
	}

	.figures.figures-texts li::after {
		top: 30%;
		height: 40%;
	}
}

@media screen and (max-width: 1420px) {
	.figures-container.figures-texts-container {
		padding-left: 0;
		padding-right: 0;
	}

	.figures.figures-texts {
		--padding-figures: 32px;
	}
}

@media screen and (max-width: 1340px) {
	.figure-image, .figures-images li {
		max-width: 190px;
	}

	.figures-images li {

	}

	.figures-images li::after {
		top: 30%;
		height: 40%;
	}

	.figure-remark {
		font-size: var(--font-size-sm);
	}
}

@media screen and (max-width: 1190px) {
	.figures.figures-texts {
		flex-wrap: wrap;
		height: auto;
		justify-content: space-between;
	}

	.figures.figures-texts li {
		width: calc(50% - calc(var(--padding-figures) * 3));
		min-height: 200px;
	}

	.figures.figures-texts li:nth-of-type(2n) {
		margin-right: 0;
	}

	.figures-container-3 .figures.figures-texts li {
		width: calc(33.3333% - calc(var(--padding-figures) * 3));
	}

	.figures-container-3 .figures.figures-texts li:nth-of-type(2n) {
		margin-right: var(--padding-figures);
	}

	.figures-container-3 .figures.figures-texts li:nth-of-type(3n) {
		margin-right: 0;
	}
}

@media screen and (max-width: 950px) {
	.figures-container-3 .figures.figures-texts {
		justify-content: center;
	}

	.figures-container-3 .figures.figures-texts li {
		width: calc(50% - calc(var(--padding-figures) * 3));
	}

	.figures-container-3 .figures.figures-texts li:nth-of-type(2n) {
		margin-right: 0;
	}

	.figures-container-3 .figures.figures-texts li:nth-of-type(3n) {
		margin-right: var(--padding-figures);
	}
}

@media screen and (max-width: 680px) {
	.figures.figures-images {
		height: 230px;
		--padding-figures: 45px;
	}

	.figure-image {
		max-width: 120px;
	}

	.figures-images li {
		max-width: 120px;
	}

	.figure-image {
		max-height: 90px;
	}

	.figures-images li::after {
		top: 30%;
		height: 40%;
	}

	.figures-images li::after {
		height: 34%;
	}

	.figures.figures-texts {
		--padding-figures: 25px;
	}

	.figures-container.figures-texts-container {
		margin-bottom: 0;
	}

	.figures.figures-texts {
		font-size: 1rem;
	}

	.figures.figures-texts li::after {
		height: 70px;
	}

	.figures.figures-texts strong {
		font-size: var(--font-size-lg-2);
	}
}

@media screen and (max-width: 600px) {
	.figures.figures-texts strong {
		font-size: var(--font-size-lg);
	}
}

@media screen and (max-width: 460px) {
	.figures.figures-texts {
		--padding-figures: 32px;
	}

	.figures.figures-texts li, .figures-container-3 .figures.figures-texts li {
		margin-right: 0;
		width: 100%;
		max-width: none;
	}
}

/*
@media screen and (max-width: 600px) {
	.figures.figures-texts li, .figures.figures-texts li:nth-of-type(2n) {
		margin-right: 0;
		width: 100%;
		max-width: none;
	}

	.figures.figures-texts {
		--side-arrow-offset: var(--padding-main);

		flex-direction: column;
		align-items: center;
		height: auto;
		margin: 0 auto;
	}

	.figures.figures-texts li, .figures.figures-texts li:last-of-type {
		width: 100%;
		padding: 0;
		margin: 0;
		text-align: center;
		align-items: center;
	}

	.figures.figures-texts li::after {
		top: auto;
		bottom: 0;
		right: auto;
		left: 50%;
		height: 50.4%;
		transform-origin: right bottom;
		transform: translateX(-100%) rotate(45deg) skew(var(--figure-skew), var(--figure-skew));
	}
}
*/

@media screen and (max-width: 380px) {
	.figures.figures-texts strong {
		font-size: var(--font-size-lg-2);
	}
}

/* half texts */

.half-texts {
	position: relative;
	color: #ffffff;
	font-size: var(--font-size-med);
	font-weight: var(--font-weight-light);
}

.half-texts:before {
	display: block;
	position: absolute;
	content: " ";
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%,  rgba(0,0,0,0.0) 1000%);
	z-index: 2;
}

.half-texts-bcg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	z-index: 1;
}

.half-texts > .content {
	box-sizing: border-box;
	padding: 11.25rem 13.75rem; /* 180 220 */
}

.half-title {
	font-size: var(--font-size-xxxl);
	font-weight: var(--font-weight-regular);
	color: inherit;
	margin: 0 0 1em 0;
	padding: 0 50% 0 0;
	position: relative;
	z-index: 3;
	line-height: normal;
}

.half-text {
	position: relative;
	z-index: 3;
	padding: 0 0 0 50%;
	box-sizing: border-box;
}

.half-texts .button {
	margin-top: 4em;
}

.half-texts p {
	line-height: 1.65em;
}

@media screen and (max-width: 1880px) {
	.half-title {
		font-size: 3.8rem;
	}
}

@media screen and (max-width: 1540px) {
	.half-texts > .content {
		padding: 5rem;
	}
}

@media screen and (max-width: 1100px) {
	.half-title {
		padding: 0;
		font-size: var(--font-size-xl);
	}

	.half-text {
		padding: 0;
	}

	.half-texts .button {
		margin-top: 3em;
	}
}

@media screen and (max-width: 680px) {
	.half-texts {
		aspect-ratio: auto;
		min-height: 480px;
		display: flex;
		align-items: flex-end;
	}

	.half-texts > .content {
		padding: var(--padding-main);
	}
}

/* project detail */

.backlink {
	display: flex;
	justify-content: flex-start;
	position: relative;
	text-transform: lowercase;
	text-decoration: none;
	color: var(--color-gray);
}

.backlink .arrow {
	--color-arrow: var(--color-gray);
	position: relative;
	top: 0.4em;
	transform: rotate(180deg);
}

.backlink .backlink-text {
	padding-left: 1em;
}

.backlink:hover {
	color: #000000;
}

.backlink:hover .arrow {
	--color-arrow: #000000;
}

.project-text-top {
	width: 100%;
	max-width: 480px;
}

.project-text-tools {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-top: 3em;
	margin-bottom: var(--mbs);
}

.project-text-tools .button {
	margin-top: 0;
	margin-right: 4.375em;
}

.project-text-tools .buttons .button {
	margin: 0;
}

.project-data {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 170px;
	column-gap: 100px;
	padding: 100px 45px;
	margin: 0;
}

.project-data-item {
	width: calc(33.3333% - 113.3333px);
	margin: 0;
	padding: 0 0 0 100px;
	list-style-type: none;
	box-sizing: border-box;

	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.project-data-title {
	min-height: 1em;
	text-transform: uppercase;
	color: var(--color-gray);
	font-size: var(--font-size-lg);
	line-height: 1.1em;
	margin-bottom: 1em;
}

.project-data-value {
	position: relative;
	min-height: 1em;
	font-size: var(--font-size-lg-2);
	line-height: 1em;
	margin-bottom: 0.25em;
}

.project-data-value:before {
	position: absolute;
	display: block;
	content: " ";
	top: 50%;
	right: calc(100% + 1.5em);
	width: 70px;
	aspect-ratio: 1 / 1;
	transform-origin: top right;
	transform: rotate(45deg) skew(26deg, 26deg);
	border-top: 2px solid var(--color-gray);
	border-right: 2px solid var(--color-gray);
}

.project-data-subtitle {
	min-height: 1em;
	font-size: var(--font-size-med);
	line-height: 1em;
	padding-top: 0.5em;
}

.project-location {
	width: 100%;
	padding-left: var(--mbm);
	padding-right: var(--mbm);
}

.project-location-inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.project-location-inner:before {
	display: block;
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 50%);
	z-index: 1;
	pointer-events: none;
	opacity: 1;
	transition: opacity 0.3s ease;
}

.project-location-inner .button {
	margin-top: 1em;
}

.project-location-image {
	width: 100%;
	height: auto;
	max-height: 100vh;
	min-height: 600px;
	object-fit: cover;
	object-position: center center;
}

.project-location-text {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: var(--mb);
	box-sizing: border-box;
	width: 50%;
	z-index: 2;
	font-size: var(--font-size-med-lg);
}

.project-location .google-map {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.project-location.project-location-map-opened .google-map {
	opacity: 1;
	pointer-events: auto;
}

.project-gallery-title {
	display: none;
}

.project-map-back-button {
	display: none;
}

.project-location-map-opened .project-map-back-button {
	display: inline-flex;
}

.project-location-map-opened .project-map-button {
	display: none;
}

.project-location-text-inner {
	opacity: 1;
	transition: opacity 0.3s ease;
}

.project-location-map-opened .project-location-text-inner {
	opacity: 0;
}


.project-location-map-opened .project-location-inner:before {
	opacity: 0;
}

.project-location-map-opened .button {
	background-color: rgba(0,0,0,0.4);
	border-color: var(--color-teal);
}

@media screen and (max-width: 1720px)
{
	.project-location {
		padding-left: var(--padding-main);
		padding-right: var(--padding-main);
	}

	.project-location-text {
		padding: var(--mbs);
	}
}

@media screen and (max-width: 1460px)
{
	.project-location-text {
		padding: var(--padding-main);
		width: 100%;
	}

	.project-location-inner:before {
		background: linear-gradient(to right, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%);
	}
}

@media screen and (max-width: 1400px)
{
	.project-data {
		row-gap: 110px;
		column-gap: 50px;
		padding: 70px 0px 70px 30px;
	}

	.project-data-item {
		width: calc(33.3333% - 33.3333px);
	}
}

@media screen and (max-width: 1023px) {
	.project-text-top {
		max-width: none;
	}

	.project-text-tools {
		margin-bottom: var(--mbs);
	}

	.project-data-title {
		font-size: var(--font-size-med-lg);
	}

	.project-data-subtitle {
		font-size: var(--font-size-st);
	}

	.project-gallery-title {
		display: block;
	}

	.project-location {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 0 !important;
	}
}

@media screen and (max-width: 980px)
{
	.project-data-item {
		width: calc(50% - 50px);
	}
}

@media screen and (max-width: 850px)
{
	.project-location {
		aspect-ratio: 650 / 1200;
		max-height: 100vh;
	}

	.project-location-image {
		height: 100%;
		max-height: none;
	}
}

@media screen and (max-width: 800px)
{
	.content-project-data {
		padding-left: var(--font-size-st) !important;
		padding-right: var(--font-size-st) !important;
	}

	.project-data {
		row-gap: 80px;
		column-gap: 20px;
		padding-left: 20px;
	}

	.project-data-item {
		padding-left: 35px;
		width: calc(50% - 15px);
	}

	.project-data-value {
		font-size: var(--font-size-lg);
	}

	.project-data-title {
		font-size: var(--font-size-med);
	}

	.project-data-value::before {
		width: 45px;
	}

	.project-data-value::before {
		right: calc(100% + 0.8em);
	}
}

@media screen and (max-width: 580px)
{
	.project-text-tools {
		flex-wrap: wrap;
	}

	.project-text-tools .button {
		margin: 0 0 1.5em 2em;
	}

	.social-icons.project-social-icons {
		width: 100%;
		margin-bottom: 2em;
	}

	.project-data {
		padding-left: 0;
	}
}

@media screen and (max-width: 400px)
{
	.project-location {
		aspect-ratio: 500 / 1200;
		max-height: none;
	}
}

@media screen and (max-width: 360px)
{
	.project-data-title {
		font-size: var(--font-size-sm);
	}

	.project-data-value {
		font-size: var(--font-size-med);
	}

	.project-data-subtitle {
		font-size: var(--font-size-sm);
	}
}

/* news */

.article-head {
	display: flex;
	align-items: center;
	gap: 2.5em;
}

.article-date {
	font-size: var(--font-size-sm);
	color: var(--color-gray);
}

.article-title {
	margin-bottom: 0;
}

.article-perex {
	font-size: var(--font-size-lg-2);
	font-weight: var(--font-weight-light);
	margin: 0.3em 0 2em 0;
}

.article-text {
	font-size: var(--font-size-med);
	width: 100%;
	max-width: 1100px;
	line-height: 1.9em;
}

@media screen and (max-width: 840px)
{
	.title-big.article-title {
		font-size: var(--font-size-lg-2);
	}

	.article-perex {
		font-size: var(--font-size-st);
	}

	.article-text {
		line-height: inherit;
	}

	.article-text ul {
		padding-left: 1em;
	}
}

/* join team */

.join-team .title-big {
	border-bottom: 1px var(--color-gray) solid;
	padding-bottom: 0.4em;
	margin-bottom: 0.7em;
}

.join-team-content {
	display: flex;
	align-items: center;
	column-gap: 4.5rem;
}

@media screen and (max-width: 680px)
{
	.join-team-content {
		align-items: flex-start;
		flex-direction: column-reverse;
		row-gap: var(--font-size-st);
	}
}

/* about us */

.threeq-text {
	width: 100%;
	max-width: 1160px;
	font-size: var(--font-size-med-lg);
}

/* tiles */

.content-tiles {
	position: relative;
	overflow: hidden;
	margin-top: var(--mbl);
}

.tile-row {
	--padding-row: 8.125em; /* 130px */
	--padding-top: 10.625em; /* 170px */
	--padding-symbol: 3.57em; /* 60px */
	--row-mb: 6.875em; /* 110px */
	display: flex;
	justify-content: center;
	margin-bottom: var(--row-mb);
	position: relative;
	padding: 0 var(--padding-main);
}

.tile-row .title-mid {
	color: inherit;
	font-weight: var(--font-weight-regular);
	margin-bottom: 1em;
}

.tile-row .button {
	margin-top: 1em;
}

.tile-image {
	width: 50%;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.tile-image img {
	width: 100%;
}

.tile-text {
	width: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
}

.tile-text-inner {
	width: 100%;
	max-width: calc(620px + var(--padding-main));
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	text-align: left;
	padding: var(--padding-main);
}

.tile-text-inner strong, .tile-text-inner b {
	font-weight: var(--font-weight-book);
}

.tile-row-company .company-data p {
	margin: 0;
}

.tile-row-company .buttons {
	justify-content: flex-start;
	row-gap: 2em;
	margin-top: 2em;
}

.person-contact {
	font-size: var(--font-size-med-lg);
	margin: 1em 0;
	font-weight: var(--font-weight-book);
}

.person-contact a {
	text-decoration: none;
}

.tile-row:nth-of-type(2n) .tile-text {
	order: 2;
}

.tile-row:nth-of-type(2n) .tile-text-inner {

}

.tile-row:nth-of-type(2n) .title-arrow:before {
	right: 100%;
}

.tile-row:nth-of-type(2n) .tile-image {
	order: 1;
}

.tiles-symbol {
	position: absolute;
	top: var(--padding-top);
	height: calc(var(--padding-top) * 2 + var(--row-mb) * 3 + 60.4vw);
	aspect-ratio: 2600 / 1920;
	display: none;
	z-index: 0;
	opacity: 0.3;
}

.tile-row:nth-of-type(3n - 1) .tiles-symbol
{
	display: none;
	transform: translateY(-50%) scaleX(-1);
	right: var(--padding-symbol);
}

.tile-row:nth-of-type(6n - 1) .tiles-symbol
{
	display: none;
	transform: translateY(-50%) scaleX(1);
	left: var(--padding-symbol);
}

.tile-row:nth-of-type(3n) .tile-text {
	background-color: #ffffff;
}

@media screen and (max-width: 1280px)
{
	.tile-row {
		--padding-top: 4.375em; /* 70px */
		--padding-row: 4.375em;
	}

	.tile-row .title-arrow::before {
		width: 50px;
		bottom: calc(100% + 30px);
	}
}

@media screen and (max-width: 1200px)
{
	.content-tiles {
		margin-top: 0;
	}

	.tile-row {
		--padding-top: var(--padding-main);
		--row-mb: 0;

		flex-wrap: wrap;
		padding-left: 0;
		padding-right: 0;
	}

	.tile-text, .tile-row:nth-of-type(2n) .tile-text {
		width: 100%;
		order: 2;
	}

	.tile-image, .tile-row:nth-of-type(2n) .tile-image {
		width: 100%;
		order: 1;
	}

	.tile-text-inner,
	.tile-row:nth-of-type(2n) .tile-text-inner
	{
		width: 100%;
		max-width: 100%;
		justify-content: flex-start;
		text-align: left;
	}

	.tile-row:last-of-type .tile-text-inner {
		padding-bottom: 0;
	}

	.tile-row .buttons-right {
		justify-content: flex-start;
	}

	.tile-row .title-arrow::before {
		left: 50%;
		transform: rotate(45deg) translate(-60%, 80%);
	}

	.tile-row:nth-of-type(3n - 1) .tiles-symbol,
	.tile-row:nth-of-type(6n - 1) .tiles-symbol,
	.tile-row .tiles-symbol
	{
		display: none;
		transform: translateY(-50%) scaleX(-1);
		right: var(--padding-symbol);
		left: auto;
	}

	.tile-row:nth-of-type(3n) .tile-text {
		background-color: transparent;
	}

	.tile-row:nth-of-type(3n - 1):nth-of-type(2n) .tiles-symbol,
	.tile-row:nth-of-type(6n - 1):nth-of-type(2n) .tiles-symbol,
	.tile-row:nth-of-type(2n) .tiles-symbol
	{
		display: none;
		transform: translateY(-50%) scaleX(1);
		left: var(--padding-symbol);
		right: auto;
	}

	.tile-row .title-mid {
		margin-bottom: 0.2em;
	}
}

@media screen and (max-width: 640px)
{
	.tile-row {
		--padding-symbol: 1em;
	}
}

@media screen and (max-width: 560px)
{
	.tile-row:nth-of-type(3n - 1) .tiles-symbol,
	.tile-row:nth-of-type(6n - 1) .tiles-symbol,
	.tile-row:nth-of-type(3n - 1):nth-of-type(2n) .tiles-symbol,
	.tile-row:nth-of-type(6n - 1):nth-of-type(2n) .tiles-symbol,
	.tile-row:nth-of-type(2n) .tiles-symbol,
	.tile-row .tiles-symbol
	{
		display: none;
	}
}

/* files */

.ltab {
	background-color: #ffffff;
	display: flex;
	justify-content: space-between;
	padding: 2.5em 3.125em;
	margin-bottom: 2em;
	text-decoration: none;
	box-shadow: 0 0 10px rgba(0,0,0,0);
	transition: box-shadow 0.3s ease;
}

.ltab[data-aos^="fade"][data-aos^="fade"] {
	transition-property: opacity,transform,box-shadow;
}

.ltab:hover {
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

.ltab-text {
	padding-right: 2em;
	color: var(--color-dark-gray-2);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.ltab-date {
	display: block;
}

.ltab-name {
	display: block;
	font-size: var(--font-size-lg);
}

.ltab .button, .ltab .buttons {
	flex-shrink: 0;
}

/* spvs */

.spvs p {
	display: contents;
	margin: 0;
}

.spvs .ltab {
	font-size: var(--font-size-med-lg);
	column-gap: 2em;
}

.spvs .ltab-text {
	font-size: var(--font-size-med-lg);
}

@media screen and (max-width: 1200px)
{
	.ltab {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 2em;
		padding: 1.5em;
	}

	.spvs .ltab-text {
		font-size: var(--font-size-st);
	}

	.ltab-text {
		padding-right: 0;
	}
}

/* projects slider */

.projects-slider {
	--width-item: calc(var(--vw, 1vw) * 90.6);
	--width-rest: calc(var(--vw, 1vw) * 9.4);
	--color-bg: rgba(0,0,0,0.7);
	--color-bg-hover: rgba(0,0,0,0.9);

	width: 100%;
	aspect-ratio: 1920 / 1080;
	height: 90vh;
	max-height: 1440px;
	min-height: 860px;
	overflow: hidden;
	position: relative;

	border-top: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
}

.projects-slider-inner {
	display: flex;
	height: 100%;
	width: 10000px;
	transform: translateX(0);
}

.projects-slider-inner.animated {
	transition: transform 0.5s ease;
}

.project-slider-item {
	width: var(--width-item);
	height: 100%;
	position: relative;
	display: flex;
	overflow: hidden;
}

.project-slider-item:before {
	position: absolute;
	display: block;
	content: " ";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: linear-gradient(to right, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 70%);
	z-index: 2;
}

.project-slider-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	opacity: 0;
	transition: opacity 0.8s ease;
	transition-delay: 0.8s;
}

.project-slider-image.active {
	opacity: 1;
	transition-delay: 0s;
	z-index: 1;
}

.project-slider-text.content-mid {
	position: relative;
	z-index: 5;
	color: #ffffff;
	font-size: var(--font-size-med-lg);
	width: calc(var(--width-mid) - var(--width-rest));
	margin-top: auto;
	margin-bottom: 130px;
	text-shadow: 0 0 5px rgba(0,0,0,0.8);
}

.project-slider-text .title-mid {
	opacity: 0;
}

.project-slider-text-inner {
	width: calc(100% - 100px);
	max-width: 475px;
	position: relative;
	opacity: 0;
}

.project-slider-text-inner .project-link p:last-of-type {
	margin-bottom: 0;
}

.project-slider-text-inner .button {
	margin-top: 2.2em;
}

.project-slider-item.active .project-slider-text-inner, .project-slider-item.active .title-mid {
	opacity: 1;
	transition: opacity 0.3s ease;
}

.project-slider-text-inner p:last-of-type {
	margin-bottom: 1.5em;
}

.projects-slider .project-link {
	text-decoration: none;
}

.projects-slider .project-link:hover {
	opacity: 1;
}

.projects-slider-next {
	position: absolute;
	top: 0;
	right: 0;
	width: var(--width-rest);
	height: 100%;
	z-index: 6;
	color: #ffffff;
	text-decoration: none;
	font-size: var(--font-size-med-lg);
	background-color: var(--color-bg);
	font-weight: var(--font-weight-regular);
	text-align: center;
}

.projects-slider-next:hover {
	background-color: var(--color-bg-hover);
	text-decoration: none;
	color: #ffffff;
	opacity: 1;
}

.projects-slider-next-inner {
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: flex-start;
	align-items: center;
}

.projects-slider-next:before, .projects-slider-next:after {
	display: block;
	position: absolute;
	content: " ";
	top: 0;
	left: -2px;
	width: 2px;
	height: calc(50% - 70px);
	background-color: #ffffff;
	z-index: 1;
}

.projects-slider-next:after {
	top: auto;
	bottom: 0;
}

.projects-slider-next-inner:before {
	display: block;
	position: absolute;
	content: " ";
	width: 100px;
	aspect-ratio: 1 / 1;
	background-color: var(--color-bg);
	top: calc(50% - 73px);
	right: var(--width-rest);
	border-top: 2px solid #ffffff;
	border-left: 2px solid #ffffff;
	transform-origin: top right;
	transform: rotate(-45deg);
	z-index: 2;
	clip-path: polygon(0% 0%, 101% -0.5%, -0.5% 101%);
	transition: opacity 0.3s ease;
}

.projects-slider-next:hover .projects-slider-next-inner:before {
	background-color: var(--color-bg-hover);
}

.projects-slider-next-text {
	display: block;
	max-width: 6em;
	position: relative;
	left: -15px;
	z-index: 3;
}

.project-slider-dots {
	display: none;
	position: absolute;
	bottom: 0;
	left: var(--padding-main);
}

@media screen and (max-width: 1220px) {
	.projects-slider-next {
		font-size: var(--font-size-med);
	}
}

@media screen and (max-width: 1080px) {
	.project-slider-text.content-mid {
		font-size: var(--font-size-med-lg);
	}

	.projects-slider-next-text {
		left: -20px;
		font-size: var(--font-size-st);
	}
}

@media screen and (max-width: 800px) {
	.projects-slider {
		--width-item: calc(var(--vw, 1vw) * 100 - 80px);
		--width-rest: 80px;
	}

	.project-slider-text.content-mid {
		margin-bottom: var(--padding-main);
	}

	.projects-slider-next-inner:before {
		width: 59px;
		top: calc(50% - 41px);
	}

	.projects-slider-next:before, .projects-slider-next:after {
		height: calc(50% - 38px);
	}

	.projects-slider-next-text {
		left: -10px;
		font-size: var(--font-size-sm);
	}
}

@media screen and (max-width: 720px) {
	.projects-slider {
		--width-item: 100vw;
		--width-rest: 0;
		aspect-ratio: 650 / 1080;
		min-height: 100vh;
		height: auto;
		overflow: hidden;
		position: relative;
		border-top: none;
		border-bottom: none;
	}

	.projects-slider-next {
		display: none;
	}

	.project-slider-text.content-mid {
		margin-bottom: 0;
		width: 100%;
		padding-top: var(--padding-main);
		padding-bottom: calc(var(--padding-main) * 3);
	}

	.project-slider-dots {
		display: block;
	}

	.project-slider-text-inner {
		width: 100%;
		max-width: none;
	}
}

@media screen and (max-width: 460px) {
	.project-slider-text.content-mid {
		font-size: var(--font-size-st);
	}
}

@media screen and (max-width: 400px) {
	.projects-slider {
		aspect-ratio: 450 / 1080;
	}
}


/* contact */

.contact-parts {
	display: flex;
	align-items: stretch;
	font-size: var(--font-size-lg-2);
	font-weight: var(--font-weight-light);
	margin-bottom: 4em;
	gap: var(--padding-main);
}

.contact-parts:last-of-type {
	margin-bottom: 3em;
}

.contact-part {
	padding-right: 1em;
	box-sizing: border-box;
}

.contact-part:last-of-type {
	padding-right: 0;
}

.contact-part-main {
	width: 43%;
}

.contact-part-sub {
	width: 28.5%;
}

.contact-parts a {
	text-decoration: none;
}

.contact-part-sm-title {
	display: block;
	font-size: var(--font-size-st);
	font-weight: var(--font-weight-regular);
	margin-bottom: 1em;
}

.contact-part-remark {
	font-size: var(--font-size-st);
	font-weight: var(--font-weight-regular);
}

.contact-parts .buttons {
	padding-top: 1.5em;
}

.content-google-map-lazy {
	display: none;
}

.content-google-map-lazy .google-map-lazy {
	height: 80vh;
	min-height: 480px;
}

.coop-text {
	font-size: var(--font-size-med-lg);
}

.coop-text .button {
	margin-top: 2em;
}

.coop-form {
	width: 100%;
	max-width: 960px;
}

.coop-form-slider {
	display: none;
}

.coop-form-opened .coop-form-slider {
	display: block;
}

.coop-form-opened .coop-form-open-buttons {
	display: none;
}

@media screen and (max-width: 1260px) {
	.contact-parts {
		flex-wrap: wrap;
	}

	.contact-part-main {
		width: 100%;
	}

	.contact-part-sub {
		width: calc(50% - var(--padding-main) / 2);
	}
}

@media screen and (max-width: 1023px) {
	.contact-parts {
		font-size: var(--font-size-lg);
	}

	.title-contact {
		font-size: var(--font-size-xl);
	}
}

@media screen and (max-width: 860px) {
	.contact-part-sub {
		width: 100%;
	}
}

/* single form */

.single-form {
	width: 100%;
	box-sizing: border-box;
}

.single-form-row {
	display: flex;
	gap: 2em 5em;
}

.single-form input[type=text], .single-form select, .single-form textarea {
	padding: 1.25em 1.875em;
	width: 50%;
	margin-bottom: 2em;
	border: 1px solid var(--color-dark-teal);
	border-radius: 1.875em;
	box-sizing: border-box;
}

.single-form textarea {
	height: 15em;
	width: 100%;
}

.single-form input[type=checkbox], .single-form input[type=radio] {
	appearance: none;
	width: 0.83em;
	height: 0.83em;
	margin-bottom: 0;
	line-height: normal;
	margin-right: 0.5em;
	border: 1px solid #000000;
	box-sizing: border-box;
	background-color: transparent;
	transition: background-color 0.3s ease;
}

.single-form input[type=radio] {
	border-radius: 1000px;
}

.single-form input[type=checkbox]:checked, .single-form input[type=radio]:checked {
	background-color: #000000;
}

.single-form .checkbox br {
	display: none;
}

.single-form .checkboxlist {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 1em;
}

.single-form .checkboxlist .main-label {
	width: 100%;
	margin: 0 0 1em 0;
}

.single-form .checkboxlist label {
	margin: 0 1em 0.5em 0;
	width: calc(33.3333% - 1em);
	white-space: nowrap;
}

.single-form .text-small {
	margin-bottom: 0;
}

.single-form ::placeholder {
	opacity: 0.6;
	color: #000000;
	font-style: normal;
}

.single-form.single-form-center {
	margin-left: auto;
	margin-right: auto;
	padding-right: 0;
}

.single-form-submit-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

@media screen and (max-width: 960px) {
	.single-form-row {
		column-gap: 2em;
	}
}

@media screen and (max-width: 720px) {
	.single-form-row {
		flex-wrap: wrap;
		gap: 0;
	}

	.single-form-row input[type=text],
	.single-form-row select,
	.single-form-row .agree-container,
	.single-form-row .submit-group {
		width: 100%;
	}

	.single-form-submit-row {
		flex-direction: column;
	}

	.submit-group-text {
		padding-top: 1em;
	}
}

/* downloads */

.downloads {
	margin: 0;
	padding: 0;
}

.download {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.download-link {
	text-decoration: none;
	color: var(--color-dark-teal);
}

/* add here */

.break-image {
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* social */

.content.content-social {
	padding-top: 5.5em;
	padding-bottom: 5.5em;
	text-align: center;
}

.content.content-social .title-sm {
	margin-bottom: 1.3em;
}

.content.content-social-vertical {
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 4rem;
}

.content.content-social-vertical .title-big {
	margin-bottom: 0;
	white-space: nowrap;
}

.social-icons {
	--icon-width: 60px;
	--icons-tpad: 18px;

	display: flex;
	justify-content: center;
	padding: var(--icons-tpad) 0;
	margin-bottom: 6.25em;
}

.social-icons a {
	width: var(--icon-width);
	aspect-ratio: 1 / 1;
	padding-right: var(--icon-width);
	margin-right: var(--icon-width);
	position: relative;
}

.social-icons a:after {
	display: block;
	position: absolute;
	content: " ";
	height: calc(100% + var(--icons-tpad) * 2);
	width: 1px;
	background-color: #000000;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.social-icons a:last-of-type {
	margin-right: 0;
	padding-right: 0;
}

.social-icons a:last-of-type:after {
	display: none;
}

.social-icons img {
	width: 100%;
}

.social-section {
	margin-bottom: 6.25em;
}

.social-logo {
	display: block;
	margin: 0 auto 6.25em auto;
}

.social-logo.social-logo-single {
	margin: 0;
}

.social-logo img {
	width: 100%;
	max-width: 200px;
}

.social-icons.project-social-icons {
	--icon-width: 30px;
	gap: 30px;
	margin-bottom: 0;
}

.project-social-icons a {
	margin-right: 0;
	padding-right: 0;
	height: var(--icon-width);
}

.project-social-icons a:after {
	display: none;
}

.project-social-icons img {
	height: auto;
	max-height: var(--icon-width);
}

@media screen and (max-width: 880px) {
	.content.content-social-vertical {
		column-gap: 2rem;
	}

	.content.content-social-vertical .title-big {
		font-size: clamp(1rem, 7.27272vw, 4rem);
	}
}

/* footer */

.main-footer {
	--footer-center-width: 260px;

	font-size: var(--font-size-sm);
	background-color: #000000;
	color: #ffffff;
	padding: 7em 0 0 0;
}

.main-footer p {
	margin-bottom: 0;
}

.main-footer a {
	text-decoration: none;
}

.main-footer a.email {
	color: var(--color-gray);
}

.main-footer a.email:hover {
	color: #FFFFFF;
}

.content-footer {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.content-footer.content-footer-top {
	padding-bottom: 7em;
	border-bottom: 1px solid transparent;
	transition: border-color 0.3s ease;
}

.content-footer.content-footer-top.aos-animate {
	border-color: var(--color-dark-gray-2);
}

.content-footer.content-footer-sitemap {
	padding-top: 4em;
	padding-bottom: 4em;
}

.content-footer.content-footer-bottom {
	border-top: 1px solid transparent;
	transition: border-color 0.3s ease;
	padding-top: 2.5em;
	padding-bottom: 2.5em;
}

.content-footer.content-footer-bottom.aos-animate {
	border-color: var(--color-dark-gray-2);
}

.footer-part {
	width: calc(50% - calc(var(--footer-center-width) / 2));
}

.footer-part:nth-of-type(2) {
	text-align: center;
	width: var(--footer-center-width);
}

.footer-part:last-of-type {
	text-align: right;
}

.footer-part-contact {
	font-size: var(--font-size-st);
}

.footer-part-credit {
	font-size: 0.75rem;
}

.footer-logo {
	display: block;
	max-width: 240px;
	margin: 0 auto 6.25em auto;
}

.footer-company-logo {
	display: block;
	width: 100%;
	max-width: 200px;
	margin-top: 1em;
}

.footer-company-logo img {
	width: 100%;
	height: auto;
}

.footer-part-sponsoring {
	display: flex;
	justify-content: flex-end;
	font-size: var(--font-size-sm);
}

.footer-part-sponsoring p {
	margin-bottom: 2em;
	margin-top: 0;
}

.sponsoring-logos {
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 2em;
}

.sponsoring-logo {
	max-width: 220px;
	max-height: 80px;
	margin-bottom: 2em;
	object-fit: contain;
}

.main-footer .social-icons, .nav-footer-part-social .social-icons {
	--icon-width: 30px;
	display: flex;
	justify-content: flex-end;
	gap: 22px;
	margin-bottom: 0;
	padding: 0;
}

.main-footer a {
	padding-right: 0;
	margin-right: 0;
}

.sitemap {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: 3.75rem;
}

.sitemap li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

@media screen and (min-width: 1920px) {
	.content.content-mid.content-footer-bottom {
		max-width: var(--width-wide);
		box-sizing: border-box;
	}
}

.footer-part-links-mobile {
	display: none;
	padding: 2em 0;
}

@media screen and (max-width: 1080px) {
	.sitemap {
		flex-wrap: wrap;
		gap: 2em;
		justify-content: flex-start;
	}

	.content-footer.content-footer-sitemap {
		padding-top: 2em;
		padding-bottom: 2em;
	}
}

@media screen and (max-width: 1023px) {
	.main-footer {
		padding-top: 4em;
	}

	.footer-part-links-mobile {
		display: block;
	}

	.footer-part-links-desktop {
		display: none;
	}

	.content-footer {
		flex-direction: column;
	}

	.content-footer p {
		margin: 0;
	}

	.footer-part-contact {
		width: 100%;
		order: 1;
	}

	.footer-part-legal {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 1rem;
		width: 100%;
		order: 3;
	}

	.footer-part-sales {
		order: 2;
	}

	.footer-part-sales-address {
		text-align: center;
	}

	.footer-part-legal-address, .footer-part-legal-ids {
		text-align: center;
	}

	.footer-company-logo {
		margin-bottom: 2em;
	}

	.footer-part-sponsoring {
		justify-content: center;
	}

	.footer-part-sponsoring {
		text-align: left;
		order: 3;
		width: 100%;
		padding-top: 2em;
	}

	.footer-part-sponsoring p {
		margin-bottom: 1.5em;
	}

	.sponsoring-logos {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 2em;
	}

	.content-footer:first-of-type {
		padding-bottom: 0;
	}

	.content-footer .footer-part {
		width: 100%;
		text-align: left;
	}

	.content-footer-bottom .footer-part {
		text-align: center;
	}

	.footer-logo {
		margin-bottom: 3em;
	}

	.content-footer.content-footer-top.aos-animate {
		border-bottom-color: transparent;
	}

	.footer-part-credit {
		order: 2;
		margin-bottom: 2.5em;
	}

	.footer-part-rights {
		order: 1;
		margin-bottom: 0.4em;
	}

	.footer-part-social {
		order: 3;
	}

	.main-footer .desktop-break {
		display: none;
	}

	.main-footer .social-icons {
		justify-content: center;
	}
}

@media screen and (max-width: 720px) {
	.footer-part-sponsoring {
		justify-content: flex-start;
	}

	.footer-part-sponsoring-inner {
		width: 100%;
	}

	.sponsoring-logos {
		justify-content: space-between;
	}
}

@media screen and (max-width: 480px) {
	.main-footer {
		font-size: 0.75rem;
	}
}

@media screen and (max-width: 440px) {
	.sponsoring-logo {
		max-width: 115px;
	}
}

/* ajax */

.ajax-loading {
	position: relative;
}

.ajax-loading:after {
	position: absolute;
	display: block;
	content: " ";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.7);
	z-index: 100;
	background-image: url("../img/loader.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 150px 150px;
}

/* preload */

#preloader-cover {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000000;
	z-index: 100;
	background-image: url("../img/loader.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 150px 150px;
}

/* flashes */

figure.flashes {
	position: fixed;
	width: 370px;
	padding: 15px;
	top: 333px;
	left: 50%;
	margin-left: -200px;
	background-color: #019C9E;
	color: #ffffff;
	font-weight: bold;
	z-index: 12;
	border: 1px solid #ffffff;
}

/* recaptcha */

.recaptcha-container {
	display: none;
	position: absolute;
	padding: 10px;
	border-radius: 4px;
	overflow: hidden;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	box-shadow: 0 0 40px 10px rgba(0,0,0,0.8);
	background-color: rgba(255,255,255,0.9);
}

.recaptcha-wait {
	display: block;
	text-align: center;
	margin-bottom: 10px;
}

.recaptcha-wait span {
	display: inline-block;
	padding-right: 25px;
	background-image: url("../img/loader-dots.svg");
	background-position: 100% 75%;
	background-repeat: no-repeat;
	background-size: 20px;
}

.recaptcha-container.absolute {
	display: block;
}

/* paginator */

.pagination { text-align: center; }
.pagination ul { display:inline-block;margin:0;padding:0;border-radius:3px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05); }
.pagination li { display:inline; }
.pagination a { float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0; }
.pagination a:hover,.pagination .active a { background-color:#f5f5f5; }
.pagination .active a { color:#999999;cursor:default; }
.pagination .disabled span,.pagination .disabled a,.pagination .disabled a:hover { color:#999999;background-color:transparent;cursor:default; }
.pagination li:first-child a { border-left-width:1px;border-radius:3px 0 0 3px; }
.pagination li:last-child a { border-radius:0 3px 3px 0; }
.pagination-centered { text-align:center; }
.pagination-right { text-align:right; }

/* errors default */

ul.error, ul.flashes {
	display: block;
	background-color: #ee630f;
	color: #ffffff;
	padding: 0;
	margin: var(--font-size-st) 0;
}

ul.flashes {
	background-color: #a7a7a7;
}

ul.error li, ul.flashes li {
	padding: 5px 10px;
	margin: 0;
	list-style-type: none;
	list-style-image: none;
}

ul.flashes .error {
	background-color: #ee630f;
}

/* popups */

.fix-content {
	display: none;
	position: fixed;
	z-index: 10;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
	overflow-y: auto;
}

.fix-content.showed { display: block; }

.over-content {
	width: calc(100% - 40px);
	max-width: 30rem;
	padding: 2rem;
	box-sizing: border-box;
	background-color: #ffffff;
	margin: 0 auto;
	margin-top: 6.25rem;
	position: relative;
}

.close {
	position: absolute;
	right: 0;
	top: 0;
	width: 2rem;
	height: 2rem;
	line-height: 1.8rem;
	text-align: center;
	border-radius: 1000px;
	color: #000000;
	text-decoration: none;
	margin: -0.75rem -0.75rem 0 0;
	background-color: #ffffff;
	box-shadow: -1px 1px 4px 0 rgba(0, 0, 0, 0.27);
	font-size: 1.5rem;
}

/* chyby v poupuech */

.fix-content ul.error, .fix-content ul.flashes {
	background-color: transparent;
	color: #000000;
}

ul.flashes .error {
	background-color: #ee630f;
}

/* - - - */

a[href^="error:"] {
	background: red;
	color: white;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

div.center {
	text-align: center;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}
