/*
Theme Name: HouseFly
Theme URI: 
Author: infocount.cz
Author URI: https://infocount.cz/
Description: Theme for real estate application
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: housefly-theme
*/

@font-face {
	font-family: 'NeueMachina';
	src: url('font/NeueMachina-Bold.ttf') format('truetype');
	font-weight: 700;
}

html, body, h1, h2, h3, h4, blockquote, ul, li, p {
	margin: 0;
	padding: 0;
}

html {
	margin-top: 0 !important;
}

body, h1, h2, h3, h4, blockquote, div, p, li, a {
	color: #000000;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 25px;
}

body {
	background-color: #e6f2ee;
}

a {
	color: #006e5a;
	text-decoration: none;
}
a:hover {
	color: #00e69b;
	text-decoration: none;
}

img {
	display: block;
}

ul {
	list-style-type: none;
}

*, ::after, ::before {
	box-sizing: unset;
}

.container {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1680px;
	padding: 75px 40px;
	margin: 0 auto;
}

/* header */

header {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 5;
}

@keyframes fly {
	  0% { left: 0; top: 0; }
	 49% { left: 150px; top: -150px; }
	 50% { display: none; left: -150px; top: 150px; }
	 51% { display: block; }
	100% { left: 0; top: 0; }
}

header .container {
	max-width: none;
	padding: 55px 250px 30px 300px;
}

header .brand {
	position: absolute;
	top: 30px;
	left: 40px;
}
header .brand a {
	display: block;
	width: 261px;
	height: 71px;
	overflow: hidden;
	text-indent: -99999px;
	background-image: var(--logo1);
	background-size: 0;
}
.home header .brand a, .contact header .brand a {
	background-image: var(--logo2);
}
header .brand a::before, header .brand a::after {
	position: absolute;
	content: "";
	top: 0;
	height: 71px;
	background-image: inherit;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
header .brand a::before {
	width: 71px;
	left: 0;
	background-position: left;
}
header .brand a::after {
	width: 174px;
	right: 0;
	background-position: right;
}
header .brand a:hover::before, header .brand.fly a::before {
	animation-iteration-count: 1;
	animation-name: fly;
	animation-duration: 1s;
	animation-fill-mode: both;
}

header .menu .label {
	display: none;
}
header .menu ul {
	display: flex;
	justify-content: center;
	gap: 35px;
}
header .menu li a {
	display: block;
	color: #000000;
	font-family: 'NeueMachina', sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
}
.home header .menu li a, .contact header .menu li a {
	color: #ffffff;
}
header .menu li a:hover, header .menu li a.active {
	color: #00e69b;
}

header .contact .name {
	color: #00e69b;
	font-size: 14px;
	font-weight: 600;
	line-height: 25px;
	letter-spacing: .2em;
	text-transform: uppercase;
	padding-bottom: 5px;
}
header .contact p {
	padding-bottom: 25px;
}
header .contact p, header .contact a {
	color: #ffffff;
	font-size: 18px;
	line-height: 35px;
}
header .contact a:hover {
	color: #00e69b;
}

header .button {
	position: fixed;
	display: flex;
	flex-direction: row-reverse;
	gap: 10px;
	top: 45px;
	right: 40px;
}
header .button span {
	position: absolute;
	display: block;
	cursor: pointer;
	color: #006e5a;
	font-family: 'NeueMachina', sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 32px;
	letter-spacing: .2em;
	text-transform: uppercase;
	white-space: nowrap;
	background-color: #ffffff;
	padding: 10px 25px 10px 25px;
	border: 2px solid #ffffff;
	border-radius: 30px;
	transition: right .5s ease;
}
header .button span.contact {
	color: #ffffff;
	background-color: #00e69b;
	border-color: #00e69b;
}
header .button span:hover {
	color: #00e69b;
	background-color: #006e5a;
	border-color: #00e69b;
}
header .button span.contact::after {
	display: inline-block;
	content: "";
	width: 7px;
	height: 7px;
	margin-left: 15px;
	border: 3px solid #ffffff;
	border-radius: 10px;
}
header .button span.contact:hover::after {
	border-color: #00e69b;
}

header .close {
	position: absolute;
	display: none;
	top: 55px;
	right: 40px;
	color: #00e69b;
	font-family: 'NeueMachina', sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: .2em;
	text-transform: uppercase;
	text-shadow: unset;
	opacity: unset;
}
header .active .close {
	display: block;
}

header .side {
	position: fixed;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: #143732;
	top: 0;
	right: -33.333334vw;
	bottom: 0;
	width: calc(33.333334vw - 80px);
	padding: 55px 40px;
	transition: right .5s ease;
	z-index: 10;
}
header .side.active {
	right: 0;
}
header .side ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
header .side li a {
	color: #ffffff;
	font-size: 70px;
	line-height: 80px;
}

/* main */

main .header {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
main .header .title,
main .header .title a {
	color: #143732;
	font-family: 'NeueMachina', sans-serif;
	font-size: 48px;
	font-weight: 700;
	line-height: 58px;
}
main .header .notitle {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
main .header .desc {
	color: #000000;
	font-size: 20px;
	font-weight: 300;
	line-height: 30px;
}
main .header .desc a {
	font-size: 20px;
	font-weight: 300;
	line-height: 30px;
}

main .button a, main .button span {
	display: inline-block;
	cursor: pointer;
	color: #00e69b;
	font-family: 'NeueMachina', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 32px;
	letter-spacing: .2em;
	text-align: center;
	text-transform: uppercase;
	background-color: transparent;
	padding: 10px 25px 10px 25px;
	border: 2px solid #00e69b;
	border-radius: 30px;
}
main .button a:hover, main .button span:hover {
	color: #006e5a;
	background-color: #00e69b;
}

main .line {
	position: absolute;
	top: 70px;
	left: 0;
	right: 0;
	height: 433px;
	overflow: hidden;
}
.home main .line {
	top: 85px;
	height: 885px;
}
main .line svg {
	width: 1920px;
}
main .line path {
	fill: none;
	stroke: #00e69b;
	stroke-width: .3px;
	stroke-dasharray: 3.5 3.5;
}

/* home */

#home {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* path */

#path {
	position: relative;
	background-color: #e6f2ee;
}
#path.error {
	background: #ffffff url('img/error.jpg') center no-repeat;
}
.contact #path {
	background-color: #006e5a;
}

#path .container {
	padding-bottom: 125px;
	z-index: 1;
}
#path.error .container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100vh;
	padding-bottom: 75px;
}

#path .header {
	justify-content: flex-end;
	max-width: 800px;
	min-height: 340px;
}
.detail #path .header {
	max-width: none;
}
#path.error .header {
	max-width: 350px;
}
#path.error .header .title {
	color: #00e69b;
	font-size: 160px;
	line-height: 160px;
}
.contact #path .header .title, .contact #path .header .desc {
	color: #ffffff;
}

#path .button a {
	color: #006e5a;
	background-color: #00e69b;
}
#path .button a:hover {
	color: #00e69b;
	background-color: transparent;
}

#path .image {
	padding-top: 100px;
	margin-bottom: -25px;
}
#path .image img {
	max-width: 100%;
	margin: 0 auto;
}

#path.error .line {
	top: 0;
	bottom: 0;
	margin: auto 0;
	transform: scale(-1, -1);
}

/* slider */

#slider {
	position: relative;
	background-color: #006e5a;
	margin-bottom: min(335px, (100vw - 80px) * 0.3);
}
#slider::before {
	position: absolute;
	content: "";
	left: 40px;
	right: 40px;
	bottom: max(-335px, (80px - 100vw) * 0.3);
	width: min(1131px, 100vw - 80px);
	height: min(676px, (100vw - 80px) * 0.6);
	background: url('img/slider.png') center no-repeat;
	background-size: contain;
	margin: 0 auto;
}

#slider .container {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 100vh;
	padding-top: 120px;
	padding-bottom: min(370px, (100vw - 80px) * 0.3 + 35px);
}

#slider .header {
	position: relative;
	max-width: 800px;
	gap: 25px;
	z-index: 1;
}
#slider .header .title, #slider .header .title a {
	color: #ffffff;
}
#slider .header .title a:hover {
	color: #00e69b;
}
#slider .header .desc, #slider .header .desc a {
	color: #ffffff;
	font-size: 28px;
	line-height: 40px;
}

/* fields */

#fields .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 50px;
}

#fields .header {
	max-width: 800px;
	text-align: center;
	padding-bottom: 50px;
}
body:not(.home) #fields .header {
	display: none;
}

#fields .fields {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 50px 25px;
}

#fields article {
	position: relative;
	flex: 0 0 calc(20% - 4*25px/5);
}
#fields article a, #fields article > span {
	display: block;
	text-align: center;
	background-size: 0;
	padding-top: 80px;
}
#fields article a::before, #fields article > span::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	width: 52px;
	height: 52px;
	background-image: inherit;
	background-position: top center;
	background-repeat: no-repeat;
	margin: 0 auto;
}
#fields article a:hover::before {
	filter: brightness(0);
}

#fields .name {
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
}
#fields a:hover .name {
	color: #00e69b;
}

#fields .button a {
	color: #006e5a;
	background-color: #00e69b;
}
#fields .button a::before {
	content: "Zobrazit ";
}
#fields .button a:hover {
	color: #00e69b;
	background-color: transparent;
}

/* functions */

#functions {
	overflow: hidden;
}

#functions .functions {
	display: flex;
	flex-direction: column;
	gap: 50px;
}

#functions article {
	position: relative;
	display: flex;
	background-color: #ffffff;
}
#functions article:nth-child(even) {
	flex-direction: row-reverse;
}
#functions article:nth-child(odd) {
	flex-direction: row;
}
#functions article::before {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	width: 100vw;
	background-color: #ffffff;
}
#functions article:nth-child(even)::before {
	left: 50%;
}
#functions article:nth-child(odd)::before {
	right: 50%;
}

#functions .image {
	position: relative;
	flex: 0 0 calc(50% - 100px);
	padding: 50px;
}
#functions .image img {
	max-width: 100%;
	margin: auto;
}

#functions .text {
	position: relative;
	flex: 0 0 calc(50% - 100px);
	display: flex;
	flex-direction: column;
	gap: 25px;
	background-color: #f8f8f8;
	background-position: top 65px left 55px;
	background-repeat: no-repeat;
	padding: 150px 50px 50px 50px;
}
#functions .text::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 10px;
	height: 188px;
	background-color: #00e69b;
}

#functions .text .name {
	max-width: 600px;
	color: #143732;
	font-family: 'NeueMachina', sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 50px;
}
#functions .text .desc {
	max-width: 600px;
	color: #5c5c5c;
	font-size: 24px;
	font-weight: 300;
	line-height: 40px;
}
#functions .text li {
	position: relative;
	padding-left: 15px;
}
#functions .text li::before {
	position: absolute;
	content: "";
	top: 10px;
	left: 2px;
	width: 5px;
	height: 5px;
	background-color: #00e69b;
	border-radius: 50%;
}

/* works */

#works {
	position: relative;
}
#works::before, #works::after {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	z-index: -1;
}
#works::before {
	top: 0;
	border-top: 1px solid #f8fbfa;
}
#works::after {
	top: 250px;
	height: 362px;
	background: url('img/line2.png') center no-repeat;
}

#works .container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 50px;
}

#works .header {
	max-width: 800px;
	text-align: center;
}

#works .works {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 25px;
	padding-top: 50px;
}

#works article {
	flex: 0 0 calc(20% - 4*25px/5);
	background-repeat: no-repeat;
}
#works article:nth-child(even) {
	background-position: bottom center;
	padding-bottom: 300px;
}
#works article:nth-child(odd) {
	background-position: top center;
	padding-top: 260px;
}
#works article:nth-child(4) {
	padding-bottom: 160px;
}

#works .name {
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
	text-transform: uppercase;
}

#works .item li {
	position: relative;
	padding-left: 15px;
}
#works .item li::before {
	position: absolute;
	content: "";
	top: 10px;
	left: 2px;
	width: 5px;
	height: 5px;
	background-color: #00e69b;
	border-radius: 50%;
}

#works .button a {
	color: #006e5a;
	background-color: #00e69b;
}
#works .button a:hover {
	color: #00e69b;
	background-color: transparent;
}

/* banner */

#banner {
	position: relative;
	padding-bottom: 100px;
}
#banner.white {
	background-color: #ffffff;
	padding-bottom: 0;
}
#banner::after {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	bottom: 170px;
	height: 434px;
	background: url('img/line3.png') center no-repeat;
}

#banner .container {
	display: flex;
	justify-content: flex-end;
	height: min(720px, (100vw - 80px) * 0.45);
	min-height: 450px;
	padding-top: 175px;
}
#banner .container::before {
	position: absolute;
	content: "";
	top: 0;
	left: 40px;
	right: 40px;
	bottom: 0;
	background: #e6f2ee url('img/banner.jpg') bottom no-repeat;
	background-size: contain;
	border-radius: 30px;
}

#banner .header {
	position: relative;
	flex: 0 0 calc(50% - 180px);
	gap: 25px;
	max-width: 600px;
	margin: 0 20px;
	z-index: 1;
}
#banner .header .desc, #banner .header .desc a {
	font-size: 28px;
	line-height: 40px;
}
#banner .header .desc a {
	position: relative;
}
#banner .header .desc a::before {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	bottom: 3px;
	height: 7px;
	background-color: #d4e3df;
	z-index: -1;
}
#banner .header .desc a:hover::before {
	background-color: #ffffff;
}

/* references */

#references .header {
	text-align: center;
}

#references .references {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	padding-top: 100px;
}

#references article {
	flex: 0 0 calc(33.333334% - 2*50px/3);
	display: flex;
	align-items: center;
	gap: 30px;
}
#references article:nth-child(even) {
	flex-direction: column;
}
#references article:nth-child(odd) {
	flex-direction: column-reverse;
}

#references .image {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 80px;
	background-size: 0;
	padding-left: 120px;
}
#references .image::before {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	bottom: 0;
	width: 80px;
	height: 80px;
	background-image: inherit;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 50%;
}

#references .name {
	font-style: italic;
	font-weight: 600;
	text-align: center;
}
#references .name strong {
	display: block;
	font-style: normal;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
}

#references .text {
	position: relative;
	text-align: center;
	padding-top: 40px;
}
#references .text::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 134px;
	height: 96px;
	background: url('img/reference.png') center no-repeat;
}
#references .text p {
	position: relative;
}
#references .text p::before {
	content: "„";
}
#references .text p::after {
	content: "“";
}

/* logos */

#logos {
	position: relative;
	background-color: #ffffff;
	overflow: hidden;

	--logosSpeed: 30s;
	--logosDelay: calc(var(--logosSpeed) / 2);
}
#logos::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background-color: #e6f2ee;
}
.home #logos::before {
	top: unset;
	bottom: 0;
}

@keyframes slidelogo {
	from { transform: translateX(100%); }
	to   { transform: translateX(-100%); }
}

#logos .header .title {
	color: #006e5a;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 25px;
	letter-spacing: .2em;
	text-transform: uppercase;
}

#logos .logos {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 50px;
	height: 120px;
}
#logos .logos ul {
	display: flex;
	align-items: center;
	justify-content: flex-start;

	position: absolute;
	animation-name: slidelogo;
	animation-duration: var(--logosSpeed);
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
#logos .logos ul.delay {
	transform: translateX(100%);
	animation-name: slidelogo;
	animation-delay: calc(var(--logosDelay) * -1);
}
#logos .logos:hover ul {
	animation-play-state: paused;
}
#logos .logos li {
	padding: 0 25px;
}
#logos .logos a {
	display: block;
	width: 225px;
	height: 120px;
	overflow: hidden;
	text-indent: -99999px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	filter: grayscale(1);
}
#logos .logos a:hover {
	filter: grayscale(0);
}

#logos .arrows {
	display: none;
}
#logos .arrows span {
	position: absolute;
	cursor: pointer;
	top: 75px;
	bottom: 0;
	width: 30px;
	height: 30px;
	overflow: hidden;
	text-indent: -99999px;
	margin: auto 0;
}
#logos .arrows span.prev {
	left: 10px;
	border-top: 3px solid #00e69b;
	border-left: 3px solid #00e69b;
	transform: rotate(-45deg);
}
#logos .arrows span.next {
	right: 20px;
	border-top: 3px solid #00e69b;
	border-right: 3px solid #00e69b;
	transform: rotate(45deg);
}
#logos .arrows span:hover {
	border-color: #006e5a;
}

/* partners */

#partners {
	background-color: #ffffff;
}

#partners .partners {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	padding: 50px 0;
}
#partners article {
	flex: 0 0 calc(33.333334% - 2*50px/3);
}
#partners article a, #partners article > span {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 35px;
	height: calc(100% - 50px);
	padding: 25px;
}
#partners article a:hover {
	background-color: #f8f8f8;
}

#partners .image img {
	max-width: 100%;
}

#partners .text {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

#partners .text .name {
	font-size: 24px;
	font-weight: 600;
	line-height: 30px;
	text-align: center;
}
#partners a:hover .text .name {
	color: #00e69b;
}
#partners .text .desc {
	text-align: center;
}

/* news */

#news {
	background-color: #ffffff;
}

#news .header {
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

#news .news {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.home #news .news {
	gap: 0;
	padding-top: 75px;
}

#news article {
	flex: 0 0 calc(25% - 3*30px/4);
}
.home #news article {
	flex-basis: 50%;
}
#news article a {
	display: flex;
	flex-direction: column;
	background-color: #f8f8f8;
}
.home #news article a {
	flex-direction: row;
}
#news article a:hover {
	background-color: #e6f2ee;
}

#news .image {
	position: relative;
	flex: 0 0 50%;
	padding-top: 100%;
	overflow: hidden;
}
.home #news .image {
	padding-top: 0;
}
.home #news .image::after {
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	width: 10px;
	height: 90px;
	background-color: #00e69b;
	transition: height .5s ease;
}
.home #news a:hover .image::after {
	height: 100%;
}
#news .image img {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%, -50%);
}

#news .text {
	position: relative;
	flex: 0 0 calc(50% - 50px);
	display: flex;
	flex-direction: column;
	gap: 25px;
	padding: 50px 25px;
}
#news .text::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 10px;
	height: 90px;
	background-color: #00e69b;
	transition: height .5s ease;
}
#news a:hover .text::after {
	height: 100%;
}
.home #news .text::after {
	content: none;
}

#news .name {
	font-weight: 600;
	line-height: 30px;
}
#news a:hover .name {
	color: #00e69b;
}

#news .more {
	color: #006e5a;
	font-size: 14px;
	font-weight: 600;
	line-height: 25px;
	letter-spacing: .2em;
	text-transform: uppercase;
}
#news a:hover .more {
	color: #00e69b;
}

/* pricelist */

#pricelist {
	background-color: #ffffff;
}

#pricelist .container {
	padding-top: 0;
}

#pricelist .pricelist {
	display: flex;
	flex-wrap: wrap;
}

#pricelist .labels {
	flex: 0 0 25%;
	padding-top: 100px;
}
#pricelist .labels .header {
	min-height: 200px;
}

#pricelist article {
	position: relative;
	cursor: pointer;
	flex: 0 0 25%;
	text-align: center;
	padding-top: 100px;
}
#pricelist article:hover {
	background-color: #f8f8f8;
}
#pricelist article::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-left: 1px solid #e7f2ef;
}
#pricelist article.active::before {
	border: 2px solid #00e69b;
}
#pricelist article.favorite::after {
	position: absolute;
	content: "Nejoblíbenější";
	top: 50px;
	left: 0;
	right: 0;
	color: #00e69b;
	font-size: 14px;
	font-weight: 600;
	line-height: 25px;
	letter-spacing: .2em;
	text-transform: uppercase;
	margin: 0 auto;
}
#pricelist article .header {
	position: relative;
	min-height: 200px;
	padding: 0 5px;
}

#pricelist .name {
	font-size: 32px;
	line-height: 50px;
}
#pricelist .labels .name {
	color: #00e69b;
	font-weight: 600;
}
#pricelist article .name {
	color: #143732;
	font-family: 'NeueMachina', sans-serif;
	font-weight: 700;
}

#pricelist .package {
	position: relative;
	padding-top: 25px;
	z-index: 0;
}
#pricelist article .package {
	padding-top: 75px;
}
#pricelist .package::before {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background-color: #e7f2ef;
}

#pricelist .label {
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 50px;
	font-weight: 700;
	padding-right: 5px;
}
#pricelist .label:hover {
	color: #00e69b;
}

#pricelist .plus {
	position: absolute;
	top: 42px;
	right: 10px;
	width: 16px;
	height: 16px;
	overflow: hidden;
	text-indent: -99999px;
	z-index: -1;
}
#pricelist .plus::before, #pricelist .plus::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #00e69b;
	margin: auto;
}
#pricelist .plus::before {
	width: 100%;
	height: 2px;
}
#pricelist .plus::after {
	width: 2px;
	height: 100%;
}
#pricelist .package.open .plus::after {
	content: none;
}

#pricelist ul {
	display: none;
}
#pricelist .package.open ul {
	display: block;
}
#pricelist li {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	height: 50px;
	line-height: 18px;
}
#pricelist .labels li {
	padding-right: 5px;
}
#pricelist article li {
	display: block;
	text-indent: -99999px;
	background: center no-repeat;
}
#pricelist article li.yes {
	background-image: url('img/yes.png');
}
#pricelist article li.no {
	background-image: url('img/no.png');
}
#pricelist li::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background-color: #e7f2ef;
}

#pricelist .footer {
	position: relative;
	padding: 40px 5px;
}

#pricelist article:not(.individual) .button a::after {
	content: " cenu";
}
#pricelist article.individual .header .button a::after {
	content: " nás";
}
#pricelist article.individual .footer .button a::before {
	content: "online ";
}

/* price */

#price {
	background-color: #ffffff;
}

#price .container {
	padding-top: 0;
}

#price .header .title {
	color: #00e69b;
	font-family: 'Montserrat', sans-serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 40px;
}

#price .form {
	padding: 40px 0;
}
#price .form form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
#price .form .wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 20px;
}
#price .form .name {
	flex: 0 0 180px;
	font-size: 18px;
	font-weight: 700;
	line-height: 30px;
}
#price .form .checkboxs {
	flex: 0 0 calc(100% - 200px);
	display: flex;
	flex-wrap: wrap;
	gap: 5px 20px;
}
#price .form .all {
	flex: 0 0 100%;
}
#price input[type="checkbox"] {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
}
#price .checkbox .label {
	position: relative;
	display: block;
	cursor: pointer;
	line-height: 30px;
	padding-left: 37px;
	margin: 0;
}
#price .checkbox .label::before, #price .checkbox .label::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	bottom: 0;
}
#price .checkbox .label::before {
	width: 28px;
	height: 28px;
	background-color: transparent;
	border: 1px solid #a1afad;
	border-radius: 10px;
}
#price .checkbox .label::after {
	width: 30px;
	height: 30px;
}
#price .checkbox input[type="checkbox"]:checked + .label::after {
	background: url('img/yes.png') center no-repeat;
}
#price .form .label span {
	color: #afafaf;
	font-weight: 600;
	text-decoration: line-through;
	white-space: nowrap;
}
#price .checkbox input[type="checkbox"]:checked + .label span {
	color: #000000;
	text-decoration: none;
}
#price .checkbox .label strong {
	color: #000000;
	font-weight: 600;
}
#price .checkbox .label span::after {
	content: " Kč";
}

#price .form .desc {
	flex: 0 0 100%;
}
#price .form .desc span {
	color: #000000;
	text-decoration: none;
}

#price .users input {
	width: 30px;
	color: #000000;
	border: none;
}
#price .users .space {
	position: relative;
	width: 220px;
	height: 30px;
}
#price .users .space::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background-color: #a1afad;
	margin: auto 0;
}
#price .users .draggable {
	position: absolute;
	cursor: pointer;
	width: 10px;
	height: 30px;
	background-color: #00e69b;
	border-radius: 5px;
}

#price .price {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #f8f8f8;
	padding: 35px;
}
#price .price::before {
	position: absolute;
	content: "";
	top: 0;
	right: 0;
	bottom: 0;
	width: 10px;
	background-color: #00e69b;
}
#price .price .monthly {
	font-size: 24px;
	font-weight: 600;
	line-height: 30px;
}
#price .price .initial {
	font-size: 20px;
	line-height: 30px;
}
#price .price .monthly span {
	white-space: nowrap;
}
#price .price .monthly span::after, #price .price .initial span::after {
	content: " Kč";
}

/* list */

#list {
	background-color: #ffffff;
}

#list .container {
	padding-top: 0;
}

#list .header {
	padding: 5px 0;
}
#list .header .title {
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
}

#list .list {
	position: relative;
}
#list .list::before, #list .list::after {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	height: 1px;
	background-color: #e7f2ef;
}
#list .list::before {
	top: 0;
}
#list .list::after {
	bottom: 0;
}
#list .list .item {
	display: flex;
	justify-content: space-between;
	gap: 5px;
	padding: 5px 0;
}
#list .list .label {
	font-size: 20px;
	line-height: 30px;
}
#list .list .value {
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
}
#list .list .value:not(.text) {
	white-space: nowrap;
}

#list .footer {
	text-align: right;
	padding: 5px 0;
}
#list .footer .desc {
	font-size: 16px;
}

/* instructions */

#instructions {
	background-color: #ffffff;
}

#instructions .container {
	display: flex;
	gap: 50px;
}

#instructions .header {
	display: none;
}

#instructions .filter {
	flex: 0 0 calc(33.333334% - 50px/2);
	display: flex;
	flex-direction: column;
	gap: 50px;
}
#instructions .filter .button {
	display: none;
}
#instructions .filter .button span {
	display: block;
}
#instructions .filter .button span::before {
	content: "Zobrazit ";
}
#instructions .filter.active .button span::before {
	content: "Schovat ";
}
#instructions .filter form {
	display: flex;
	flex-direction: column;
	gap: 50px;
}
#instructions .filter legend, #instructions .filter label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
#instructions .filter .wrapper {
	position: relative;
}
#instructions .filter .wrapper::before {
	position: absolute;
	content: "";
	top: 0;
	right: 10px;
	bottom: 0;
	width: 26px;
	height: 21px;
	background: url('img/search.png') center no-repeat;
	margin: auto 0;
}
#instructions .filter input {
	position: relative;
	width: calc(100% - 30px);
	color: #000000;
	font-size: 18px;
	font-weight: 300;
	line-height: 30px;
	background-color: transparent;
	padding: 10px 20px 10px 10px;
	border: 1px solid #d6e5e1;
	border-radius: 10px;
	outline: none;
}
#instructions .filter input:focus {	
	outline: none;
}
#instructions .filter input::placeholder {
	color: #000000;
	opacity: 1;
}
#instructions .filter input:focus::placeholder {
	opacity: 0;
}
#instructions .filter ul {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 50px;
}
#instructions .filter ul ul {
	gap: 5px;
	padding-top: 15px;
}
#instructions .filter ul a {
	display: block;
	color: #000000;
	font-size: 18px;
	font-weight: 700;
	line-height: 30px;
}
#instructions .filter ul a:hover {
	color: #00e69b;
}
#instructions .filter ul ul a {
	color: #006e5a;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	background-color: #f8f8f8;
	padding: 15px 25px;
	border-radius: 0 15px 15px 0;
}
#instructions .filter ul ul a:hover {
	color: #00e69b;
	background-color: #006e5a;
}
#instructions .filter ul a span {
	color: #000000;
	font-size: 16px;
	font-weight: 300;
}
#instructions .filter ul ul a:hover span {
	color: #ffffff;
}

#instructions .instructions {
	position: relative;
	flex: 0 0 calc(66.666667% - 50px/2);
}
#instructions .instructions::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background-color: #e7f2ef;
}

#instructions article {
	position: relative;
}
#instructions article::before {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background-color: #e7f2ef;
}
#instructions article a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 25px;
	padding: 30px 15px;
}
#instructions article a:hover {
	background-color: #f8f8f8;
}

#instructions .text {
	max-width: 800px;
}
#instructions .text .name {
	font-size: 24px;
	font-weight: 600;
	line-height: 30px;
}
#instructions a:hover .text .name {
	color: #00e69b;
}
#instructions .text .desc {
	font-size: 20px;
	line-height: 30px;
}

#instructions .more {
	color: #006e5a;
	font-size: 14px;
	font-weight: 600;
	line-height: 25px;
	letter-spacing: .2em;
	text-transform: uppercase;
}
#instructions a:hover .more {
	color: #00e69b;
}

/* accordion */

#accordion {
	background-color: #ffffff;
}

#accordion .accordion {
	position: relative;
}
#accordion .accordion::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background-color: #e7f2ef;
}

#accordion article {
	position: relative;
	cursor: pointer;
	padding: 50px 150px 25px 10px;
}
#accordion article::before {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background-color: #e7f2ef;
}
#accordion article:hover {
	background-color: #f8f8f8;
}

#accordion .name {
	font-size: 20px;
}
#accordion article:hover .name, #accordion article.active .name {
	color: #00e69b;
}

#accordion .text {
	height: 0;
	overflow: hidden;
	padding-top: 25px;
	transition: height .5s ease;
}

#accordion .plus {
	position: absolute;
	top: 50px;
	right: 10px;
	width: 32px;
	height: 32px;
	overflow: hidden;
	text-indent: -99999px;
}
#accordion .plus::before, #accordion .plus::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #00e69b;
	margin: auto;
}
#accordion .plus::before {
	width: 100%;
	height: 1px;
}
#accordion .plus::after {
	width: 1px;
	height: 100%;
}
#accordion article:hover .plus::before, #accordion article:hover .plus::after {
	background-color: #000000;
}
#accordion article.active .plus::after {
	content: none;
}

/* articles */

#articles {
	background-color: #ffffff;
}
.contact #articles {
	background-color: #006e5a;
}

#articles .header .title {
	padding-bottom: 50px;
}

#articles article h2 {
	color: #143732;
	font-family: 'NeueMachina', sans-serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 30px;
	margin-bottom: 5px;
}
#articles article h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 30px;
}
#articles article h4 {
	font-size: 14px;
	font-weight: 600;
	line-height: 30px;
	letter-spacing: .2em;
	text-transform: uppercase;
}
#articles article p {
	font-size: 20px;
	line-height: 30px;
	margin-bottom: 30px;
}
#articles article ul, #articles article ol {
	margin-bottom: 30px;
}
#articles article li {
	position: relative;
	font-size: 20px;
	line-height: 30px;
}
#articles article ul li {
	padding-left: 20px;
}
#articles article ul li::before {
	position: absolute;
	content: "";
	top: 10px;
	left: 2px;
	width: 5px;
	height: 5px;
	background-color: #00e69b;
	border-radius: 50%;
}
#articles article blockquote {
	position: relative;
	color: #143732;
	font-size: 18px;
	font-style: italic;
	font-weight: 300;
	line-height: 30px;
	padding-left: 35px;
	margin: 0 100px 30px 100px;
}
#articles article blockquote::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	bottom: 0;
	width: 10px;
	background-color: #00e69b;
}
#articles article a {
	font-size: 20px;
	line-height: 30px;
}

.contact #articles article h2, .contact #articles article h3, .contact #articles article p, .contact #articles article li, .contact #articles article blockquote, .contact #articles article a {
	color: #ffffff;
}
.contact #articles article a:hover {
	color: #00e69b;
}

#articles .columns {
	display: flex;
	gap: 0 70px;
}
#articles .columns .item {
	flex-basis: -moz-available;
}

#articles .files {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	margin-bottom: 30px;
}
#articles .files a {
	position: relative;
	display: block;
	color: #000000;
	font-size: 16px;
	line-height: 26px;
	background-color: #f8f8f8;
	padding: 15px 30px 15px 125px;
	border-radius: 0 15px 15px 0;
}
#articles .files a:hover {
	color: #00e69b;
	background-color: #006e5a;
}
#articles .files a::before, #articles .files a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
#articles .files a::before {
	content: "";
	left: 15px;
	width: 36px;
	height: 36px;
	background: url('img/file.png') center no-repeat;
}
#articles .files a::after {
	content: attr(class);
	left: 60px;
	width: 60px;
	height: 30px;
	color: #143732;
	font-size: 14px;
	font-style: italic;
	font-weight: 300;
	text-align: center;
	text-transform: uppercase;
}
#articles .files a:hover::after {
	color: #ffffff;
}

#articles .gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 30px;
}
#articles .gallery .item {
	position: relative;
	flex: 0 0 calc(25% - 3*30px/4);
	overflow: hidden;
}
#articles .gallery a {
	display: block;
	padding-top: 100%;
}
#articles .gallery a:hover {
	opacity: .5;
}
#articles .gallery img {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* map */

#map {
	position: relative;
	background-color: #f8f8f8;
}
#map::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 65px;
	height: 85px;
	background: url("img/marker.png") no-repeat;
	transform: translateY(-37px);
	margin: auto;
}

#map .container {
	max-width: none;
	padding: 0;
}

#map iframe {
	display: block;
	pointer-events: none;
	filter: grayscale(1);
	margin-bottom: -12px;
}

/* iframe */

#iframe {
	background-color: #ffffff;
}

#iframe .header {
	text-align: center;
}

#iframe .iframe {
	padding-top: 50px;
}
#iframe iframe {
	width: 100%;
}

/* footer */

footer {
	position: relative;
	background-color: #006e5a;
	overflow: hidden;
}
footer::after {
	position: absolute;
	content: "";
	right: 0;
	bottom: 0;
	width: 761px;
	max-width: 50vw;
	height: 759px;
	background: url('img/footer.png') bottom no-repeat;
	background-size: contain;
	transform: translateX(20%);
}

#footer {
	position: relative;
	overflow: hidden;
}
#footer::before {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background-color: #00a276;
}

#footer .container {
	padding-top: 50px;
	padding-bottom: 50px;
}

#footer .header {
	display: flex;
	align-items: center;
	gap: 40px;
}

#footer .brand {
	position: relative;
}
#footer .brand a {
	display: block;
	width: 261px;
	height: 71px;
	overflow: hidden;
	text-indent: -99999px;
	background-image: var(--logo2);
	background-size: 0;
}
#footer .brand a::before, #footer .brand a::after {
	position: absolute;
	content: "";
	top: 0;
	height: 71px;
	background-image: inherit;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
#footer .brand a::before {
	width: 71px;
	left: 0;
	background-position: left;
}
#footer .brand a::after {
	width: 174px;
	right: 0;
	background-position: right;
}
#footer .brand a:hover::before {
	animation-iteration-count: 1;
	animation-name: fly;
	animation-duration: 1s;
	animation-fill-mode: both;
}

#footer .title {
	color: #ffffff;
	font-size: 28px;
	font-weight: 300;
	line-height: 40px;
	padding-top: 15px;
}

/* contact */

#contact .blocks {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 35px;
	z-index: 1;
}
#contact .blocks > div {
	flex: 0 0 calc(25% - 3*35px/4);
}

#contact .label {
	color: #00e69b;
	font-size: 14px;
	font-weight: 600;
	line-height: 25px;
	letter-spacing: .2em;
	text-transform: uppercase;
	padding-bottom: 25px;
}

#contact .menu li, #contact p, #contact a {
	color: #ffffff;
	font-size: 18px;
	line-height: 36px;
}
#contact a:hover, #contact a.active {
	color: #00e69b;
}

/* copyright */

#copyright .container {
	padding-top: 165px;
}

#copyright .container::before {
	position: absolute;
	content: "";
	top: 44px;
	left: 40px;
	right: 40px;
	height: 1px;
	background-color: #00a276;
}

#copyright .social {
	position: absolute;
	top: 0;
	left: 40px;
	display: flex;
	flex-wrap: wrap;
	z-index: 1;
}
#copyright .social li {
	margin-left: -1px;
}
#copyright .social li:nth-child(even) {
	margin-top: 44px;
}
#copyright .social li:nth-child(odd) {
	margin-bottom: 44px;
}
#copyright .social li a {
	position: relative;
	display: block;
	width: 45px;
	height: 45px;
	overflow: hidden;
	text-indent: -99999px;
}
#copyright .social li.instagram a {
	background: url('img/social1.png') center no-repeat;
}
#copyright .social li.facebook a {
	background: url('img/social2.png') center no-repeat;
}
#copyright .social li.youtube a {
	background: url('img/social3.png') center no-repeat;
}
#copyright .social li.networkx a {
	background: url('img/social4.png') center no-repeat;
}
#copyright .social li.linkedin a {
	background: url('img/social5.png') center no-repeat;
}
#copyright .social li a:hover {
	filter: brightness(0) invert(1);
}
#copyright .social li a::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 1px solid #00a276;
}

#copyright .menu {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	z-index: 1;
}
#copyright .menu li, #copyright p, #copyright a {
	color: #ffffff;
	font-size: 14px;
	font-weight: 400;
	line-height: 26px;
}
#copyright .menu li::after {
	content: "|";
	padding: 0 10px;
}
#copyright .menu li:last-child::after {
	content: none;
}
#copyright a:hover {
	color: #00e69b;
}

/* svg */

.brand {
	--logo1: url('data:image/svg+xml; utf8,\
		<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 280 80">\
			<path fill="%2300342e" d="M94.6,62h3.3V19.5h-3.3v-3.3h9.8v19.7l6.6-6.5h6.5v32.7h3.3v3.3h-9.8v-31.5l-6.6,6.5v21.6h3.3v3.3h-13.1v-3.3Z"/>\
			<path fill="%2300e69b" d="M252.7,32.5h0c0,0,3.3,0,3.3,0h0c0,0-3.3,0-3.3,0ZM265.9,32.5h0c0,0,3.3,0,3.3,0h0c0,0-3.3,0-3.3,0Z"/>\
			<path fill="%2300342e" d="M124,60.4v-26.2c0-2.7,2.1-4.9,4.9-4.9h9.8c2.7,0,4.9,2.2,4.9,4.9v26.2c0,2.7-2.2,4.9-4.9,4.9h-9.8c-2.8,0-4.9-2.2-4.9-4.9ZM130.5,32.5v29.5h6.5v-29.5h-6.5Z"/>\
			<path fill="%2300342e" d="M146.7,32.5v-3.2h9.8v31.5l6.6-6.6v-21.6h-3.3v-3.2h9.8v32.7h3.3v3.3h-9.8v-6.5l-6.6,6.5h-6.5v-32.8h-3.3Z"/>\
			<path fill="%2300342e" d="M185.1,49.7h-4.9c-2.7,0-4.9-2.2-4.9-4.9v-10.6c0-2.7,2.2-4.9,4.9-4.9h8.2c2.7,0,4.9,2.2,4.9,4.9v4.9h-3.3v-4.9c0-.8-.7-1.7-1.6-1.7h-6.6v9.1c0,.8.8,1.6,1.7,1.6h4.9c2.7,0,4.9,2.3,4.9,4.9v12.3c0,2.6-2.2,4.9-4.9,4.9h-8.2c-2.7,0-4.9-2.3-4.9-4.9v-4.9h3.3v4.9c0,.8.7,1.6,1.6,1.6h6.5v-10.6c0-.8-.7-1.7-1.6-1.7Z"/>\
			<path fill="%2300342e" d="M211.3,62c.9,0,1.6-.7,1.6-1.6v-4.9h3.3v4.9c0,2.6-2.2,4.9-4.9,4.9h-9c-2.7,0-4.9-2.3-4.9-4.9v-26.2c0-2.7,2.2-4.9,4.9-4.9h9.8c2.7,0,4.9,2.2,4.9,4.9v8.1l-13.1,13.1v6.5h7.4ZM203.9,32.5v18l6.5-6.5v-11.5h-6.5Z"/>\
			<path fill="%2300e69b" d="M233.2,62v3.3h-13.1v-3.3h3.3v-29.5h-3.3v-3.2h3.3v-8.2c0-2.6,2.2-4.9,4.9-4.9h19.7v45.8h3.3v3.3h-13.1v-3.3h3.3V19.5h-14.7v3.2l6.5,6.6h3.3v3.2h-6.6v29.5h3.3Z"/>\
			<path fill="%2300e69b" d="M256,32.6v22.9s0,0,0,.1v-23h0ZM265.9,29.3v3.2h0v-3.2h0Z"/>\
			<path fill="%2300e69b" d="M279,29.3v3.2h-3.3v32.8c0,4.2-2.7,7.9-6.5,9.2-1,.4-2.1.6-3.3.6h-6.5v-3.3h6.5c1.8,0,3.3-1.5,3.3-3.2v-9.8l-3.3,3.2-2.9,2.9-.4.4h-6.5v-32.7h0c0,0-3.3,0-3.3,0v-3.2h9.8v31.5l.4-.4,6.2-6.1v-21.7h-3.3v-3.2h13.1Z"/>\
			<path fill="%2300e69b" d="M43.5,30l-13.8,13.8H4.7v3.7H1v-25.4c0-3.3,2.6-5.9,5.9-5.9h22.8l13.8,13.8Z"/>\
			<path fill="%2300e69b" d="M59.9,46.4v22.8c0,3.3-2.6,5.9-5.9,5.9h-25.4v-3.7h3.7v-25l13.8-13.8,13.8,13.8Z"/>\
			<path fill="%2300342e" d="M73.2,31.4l-11.4,11.4-14.3-14.3-14.4-14.4,11.4-11.4c2.3-2.3,6-2.3,8.4,0l10.2,10.2,10.1,10.1c2.3,2.3,2.3,6,0,8.4Z"/>\
			<rect fill="%2300342e" x="16.6" y="47.5" width="12" height="12"/>\
		</svg>');

	--logo2: url('data:image/svg+xml; utf8,\
		<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 280 80">\
			<path fill="%23ffffff" d="M94.6,62h3.3V19.5h-3.3v-3.3h9.8v19.7l6.6-6.5h6.5v32.7h3.3v3.3h-9.8v-31.5l-6.6,6.5v21.6h3.3v3.3h-13.1v-3.3Z"/>\
			<path fill="%2300e69b" d="M252.7,32.5h0c0,0,3.3,0,3.3,0h0c0,0-3.3,0-3.3,0ZM265.9,32.5h0c0,0,3.3,0,3.3,0h0c0,0-3.3,0-3.3,0Z"/>\
			<path fill="%23ffffff" d="M124,60.4v-26.2c0-2.7,2.1-4.9,4.9-4.9h9.8c2.7,0,4.9,2.2,4.9,4.9v26.2c0,2.7-2.2,4.9-4.9,4.9h-9.8c-2.8,0-4.9-2.2-4.9-4.9ZM130.5,32.5v29.5h6.5v-29.5h-6.5Z"/>\
			<path fill="%23ffffff" d="M146.7,32.5v-3.2h9.8v31.5l6.6-6.6v-21.6h-3.3v-3.2h9.8v32.7h3.3v3.3h-9.8v-6.5l-6.6,6.5h-6.5v-32.8h-3.3Z"/>\
			<path fill="%23ffffff" d="M185.1,49.7h-4.9c-2.7,0-4.9-2.2-4.9-4.9v-10.6c0-2.7,2.2-4.9,4.9-4.9h8.2c2.7,0,4.9,2.2,4.9,4.9v4.9h-3.3v-4.9c0-.8-.7-1.7-1.6-1.7h-6.6v9.1c0,.8.8,1.6,1.7,1.6h4.9c2.7,0,4.9,2.3,4.9,4.9v12.3c0,2.6-2.2,4.9-4.9,4.9h-8.2c-2.7,0-4.9-2.3-4.9-4.9v-4.9h3.3v4.9c0,.8.7,1.6,1.6,1.6h6.5v-10.6c0-.8-.7-1.7-1.6-1.7Z"/>\
			<path fill="%23ffffff" d="M211.3,62c.9,0,1.6-.7,1.6-1.6v-4.9h3.3v4.9c0,2.6-2.2,4.9-4.9,4.9h-9c-2.7,0-4.9-2.3-4.9-4.9v-26.2c0-2.7,2.2-4.9,4.9-4.9h9.8c2.7,0,4.9,2.2,4.9,4.9v8.1l-13.1,13.1v6.5h7.4ZM203.9,32.5v18l6.5-6.5v-11.5h-6.5Z"/>\
			<path fill="%2300e69b" d="M233.2,62v3.3h-13.1v-3.3h3.3v-29.5h-3.3v-3.2h3.3v-8.2c0-2.6,2.2-4.9,4.9-4.9h19.7v45.8h3.3v3.3h-13.1v-3.3h3.3V19.5h-14.7v3.2l6.5,6.6h3.3v3.2h-6.6v29.5h3.3Z"/>\
			<path fill="%2300e69b" d="M256,32.6v22.9s0,0,0,.1v-23h0ZM265.9,29.3v3.2h0v-3.2h0Z"/>\
			<path fill="%2300e69b" d="M279,29.3v3.2h-3.3v32.8c0,4.2-2.7,7.9-6.5,9.2-1,.4-2.1.6-3.3.6h-6.5v-3.3h6.5c1.8,0,3.3-1.5,3.3-3.2v-9.8l-3.3,3.2-2.9,2.9-.4.4h-6.5v-32.7h0c0,0-3.3,0-3.3,0v-3.2h9.8v31.5l.4-.4,6.2-6.1v-21.7h-3.3v-3.2h13.1Z"/>\
			<path fill="%2300e69b" d="M43.5,30l-13.8,13.8H4.7v3.7H1v-25.4c0-3.3,2.6-5.9,5.9-5.9h22.8l13.8,13.8Z"/>\
			<path fill="%2300e69b" d="M59.9,46.4v22.8c0,3.3-2.6,5.9-5.9,5.9h-25.4v-3.7h3.7v-25l13.8-13.8,13.8,13.8Z"/>\
			<path fill="%23ffffff" d="M73.2,31.4l-11.4,11.4-14.3-14.3-14.4-14.4,11.4-11.4c2.3-2.3,6-2.3,8.4,0l10.2,10.2,10.1,10.1c2.3,2.3,2.3,6,0,8.4Z"/>\
			<rect fill="%23ffffff" x="16.6" y="47.5" width="12" height="12"/>\
		</svg>');
}

/* media screen */

@media (max-width: 1600px) {
	#fields article {
		flex-basis: calc(25% - 3*25px/4);
	}

	#works article {
		flex-basis: calc(25% - 3*25px/4);
	}

	#banner::after {
		display: none;
	}
	#banner .container {
		padding-top: 25px;
	}
	#banner .header {
		flex-basis: 55%;
	}
}

@media (max-width: 1400px) {
	.container {
		padding-left: 35px;
		padding-right: 35px;
	}

	header .container {
		padding-left: 35px;
		padding-right: 35px;
	}
	header .brand {
		left: 35px;
	}
	header .button {
		right: 35px;
	}
	header .close {
		right: 35px;
		font-size: 16px;
		line-height: 20px;
	}
	header .side {
		right: -50vw;
		width: calc(50vw - 70px);
		padding-left: 35px;
		padding-right: 35px;
	}
	header .side li a {
		font-size: 60px;
	}

	#slider {
		margin-bottom: min(335px, (100vw - 70px) * 0.3);
	}
	#slider::before {
		left: 35px;
		right: 35px;
		bottom: max(-335px, (70px - 100vw) * 0.3);
		width: min(1131px, 100vw - 70px);
		height: min(676px, (100vw - 70px) * 0.6);
	}
	#slider .container {
		justify-content: center;
		padding-bottom: min(370px, (100vw - 70px) * 0.3 + 35px);
	}
	#slider .line {
		left: -5px;
	}

	#banner .container {
		height: min(720px, (100vw - 70px) * 0.45);
	}
	#banner .container::before {
		left: 35px;
		right: 35px;
	}

	#copyright .container::before {
		left: 35px;
		right: 35px;
	}
	#copyright .social {
		left: 35px;
	}
}

@media (max-width: 1300px) {
	#banner .header {
		gap: 15px;
	}
	#banner .header .title {
		font-size: 32px;
		line-height: 40px;
	}
	#banner .header .desc, #banner .header .desc a {
		font-size: 24px;
		line-height: 34px;
	}

	#references article {
		flex-basis: calc(50% - 50px/2);
	}
	#references article:nth-child(n+3) {
		display: none;
	}

	#news article {
		flex-basis: calc(33.333334% - 2*30px/3);
	}
	#news .text {
		padding-top: 35px;
		padding-bottom: 35px;
	}

	#pricelist .header .desc {
		font-size: 18px;
		line-height: 28px;
	}

	#articles .gallery .item {
		flex-basis: calc(33.333334% - 2*30px/3);
	}

	#footer .title {
		padding-top: 0;
	}
}

@media (max-width: 1200px) {
	.home #news .news {
		flex-direction: column;
	}

	#pricelist .header {
		gap: 10px;
	}
	#pricelist .header .name {
		font-size: 28px;
		line-height: 40px;
	}
	#pricelist .header .desc {
		font-size: 16px;
		line-height: 26px;
	}
	#pricelist article.individual .header .button a::after,
	#pricelist article.individual .footer .button a::before {
		content: none;
	}

	#price .header .title {
		font-size: 28px;
		line-height: 40px;
	}
	#price .form .all {
		position: relative;
		flex-basis: auto;
	}
}

@media (max-width: 1100px) {
	#fields article {
		flex-basis: calc(33.333334% - 2*25px/3);
	}

	#functions article::before {
		content: none;
	}
	#functions .text .name {
		font-size: 30px;
		line-height: 40px;
	}
	#functions .text .desc {
		font-size: 22px;
		line-height: 36px;
	}

	#works article {
		flex-basis: calc(33.333334% - 2*25px/3);
	}

	#partners article {
		flex-basis: calc(50% - 50px/2);
	}

	#instructions .filter {
		flex-basis: calc(40% - 50px/2);
	}
	#instructions .instructions {
		flex-basis: calc(60% - 50px/2);
	}
	#instructions article a {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		padding-top: 25px;
		padding-bottom: 25px;
	}
	#instructions .text {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
	#instructions .text .name {
		font-size: 22px;
	}
	#instructions .text .desc {
		font-size: 16px;
		line-height: 26px;
	}

	#contact .blocks > div {
		flex-basis: calc(33.333334% - 2*25px/3);
	}
}

@media (max-width: 1000px) {
	main .header .title,
	main .header .title a {
		font-size: 36px;
		line-height: 44px;
	}

	#path.error {
		background-size: 150%;
		background-position: bottom;
	}

	#slider .header .desc, #slider .header .desc a {
		font-size: 24px;
		line-height: 34px;
	}

	#banner {
		padding-bottom: 50px;
	}
	#banner .header .title {
		font-size: 26px;
		line-height: 34px;
	}

	#pricelist article li {
		background-size: 20px 20px;
	}
	#pricelist .button a {
		font-size: 14px;
		line-height: 22px;
		padding: 10px;
	}

	#footer .title {
		font-size: 24px;
		line-height: 36px;
	}
}

@media (max-width: 900px) {
	#functions article:nth-child(even), #functions article:nth-child(odd) {
		flex-direction: column;
	}

	#news article {
		flex-basis: calc(50% - 30px/2);
	}
	#news .text {
		padding-bottom: 25px;
	}

	#instructions .filter, #instructions .instructions {
		flex-basis: calc(50% - 50px/2);
	}

	#articles .gallery .item {
		flex-basis: calc(50% - 30px/2);
	}
}

@media (max-width: 800px) {
	.container {
		padding: 50px 20px;
	}

	header .container {
		padding-left: 20px;
		padding-right: 20px;
	}
	header .brand {
		top: 35px;
		left: 20px;
	}
	header .brand a {
		width: 221px;
		height: 60px;
		background-size: cover;
	}
	header .brand a::before, header .brand a::after {
		content: none;
	}
	header .button, header .close {
		right: 20px;
	}
	header .side {
		right: -100vw;
		width: calc(100vw - 40px);
		padding-left: 20px;
		padding-right: 20px;
	}
	header .side li a {
		font-size: 40px;
		line-height: 50px;
	}

	#path .header {
		min-height: 270px;
	}
	#path.error .header .title {
		font-size: 120px;
		line-height: 120px;
	}
	#path .image {
		padding-top: 75px;
		margin-bottom: -75px;
	}
	#path .line {
		top: 0;
		left: -250px;
	}

	#slider {
		margin-bottom: min(335px, (100vw - 40px) * 0.3);
	}
	#slider::before {
		left: 20px;
		right: 20px;
		bottom: max(-335px, (40px - 100vw) * 0.3);
		width: min(1131px, 100vw - 40px);
		height: min(676px, (100vw - 40px) * 0.6);
	}
	#slider .container {
		justify-content: center;
		padding-bottom: min(370px, (100vw - 40px) * 0.3 + 35px);
	}
	#slider .line {
		top: 80px;
		left: -10px;
	}

	#fields .header {
		padding-bottom: 0;
	}
	#fields article {
		flex-basis: calc(50% - 25px/2);
	}

	#works .works {
		padding-top: 0;
	}
	#works article {
		flex-basis: calc(50% - 25px/2);
	}

	#banner .container {
		height: min(720px, (100vw - 40px) * 0.45);
	}
	#banner .container::before {
		left: 20px;
		right: 20px;
	}

	#references .references {
		padding-top: 50px;
	}
	#references article {
		flex-basis: 100%;
	}
	#references article:nth-child(even) {
		flex-direction: column-reverse;
	}

	#pricelist .header .name {
		font-size: 24px;
		line-height: 30px;
	}

	#price .header .title {
		font-size: 24px;
		line-height: 30px;
	}
	#price .form .name, #price .form .checkboxs {
		flex-basis: 100%;
	}
	#price .price {
		flex-direction: column-reverse;
		align-items: flex-end;
		gap: 10px;
	}
	#price .price .result {
		text-align: right;
	}

	#accordion article {
		padding-right: 125px;
	}

	#articles .columns {
		flex-direction: column;
	}
	#articles article blockquote {
		margin-left: 0;
		margin-right: 0;
	}

	#footer .brand a {
		width: 221px;
		height: 60px;
		background-size: cover;
	}
	#footer .brand a::before, #footer .brand a::after {
		content: none;
	}

	#contact .blocks > div {
		flex-basis: calc(50% - 35px/2);
	}
	#contact .label {
		padding-bottom: 15px;
	}
	#contact .menu li, #contact p, #contact a {
		font-size: 16px;
		line-height: 30px;
	}

	#copyright .container::before {
		left: 20px;
		right: 20px;
	}
	#copyright .social {
		left: 20px;
	}
}

@media (max-width: 700px) {
	#partners article {
		flex-basis: 100%;
	}

	#pricelist .labels, #pricelist article {
		flex-basis: 33.333334%;
	}
	#pricelist article.individual {
		flex-basis: 66.666667%;
		margin-left: 33.333334%;
	}
	#pricelist article.individual .package,
	#pricelist article.individual .footer {
		display: none;
	}
	#pricelist .label, #pricelist li {
		font-size: 14px;
	}
	#pricelist article:not(.individual) .button a::after {
		content: none;
	}
	#pricelist article.individual .header .button a::after {
		content: " nás";
	}

	#instructions .container {
		flex-direction: column;
	}
	#instructions .filter .button {
		display: block;
	}
	#instructions .filter form {
		display: none;
	}
	#instructions .filter.active form {
		display: flex;
	}
}

@media (max-width: 650px) {
	header .brand a {
		width: 150px;
		height: 41px;
	}
	header .button {
		top: 35px;
	}
	header .button span {
		font-size: 16px;
		line-height: 24px;
		padding-left: 22px;
		padding-right: 22px;
	}
	header .button span.contact {
		overflow: hidden;
		text-indent: -99999px;
	}
	header .button span.contact::after {
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}

	main .header .title,
	main .header .title a {
		font-size: 32px;
		line-height: 38px;
	}

	#path.error .container, #path.error .header {
		align-items: center;
	}
	#path.error .header .title {
		font-size: 100px;
		line-height: 100px;
	}
	#path.error .header .desc {
		text-align: center;
	}

	#slider .line {
		top: 60px;
	}

	.home #news .news {
		padding-top: 25px;
	}

	#footer .container {
		padding-top: 35px;
		padding-bottom: 35px;
	}
	#footer .header {
		justify-content: center;
	}
	#footer .title {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
	}
}

@media (max-width: 600px) {
	.container {
		padding: 40px 10px;
	}

	header .container {
		padding-left: 10px;
		padding-right: 10px;
	}
	header .brand {
		left: 10px;
	}
	header .button, header .close {
		right: 10px;
	}
	header .side {
		width: calc(100vw - 20px);
		padding-left: 10px;
		padding-right: 10px;
	}

	#banner {
		padding-bottom: 0;
	}
	#banner .header {
		flex-basis: 100%;
		margin: 0;
	}
	#banner.white .header {
		flex-basis: calc(100% - 20px);
		margin: 0 10px;
	}
	#banner .container {
		height: min(720px, (100vw - 20px));
	}
	#banner .container::before {
		left: 10px;
		right: 10px;
		background-position: bottom left;
		background-size: 150%;
	}

	#news article {
		flex-basis: 100%;
	}
	.home #news article:nth-child(n+2) {
		display: none;
	}
	.home #news article a {
		flex-direction: column;
	}
	.home #news .image {
		padding-top: 100%;
	}
	.home #news .image::after {
		content: none;
	}
	.home #news .text::after {
		content: "";
	}

	#pricelist .label, #pricelist .labels li {
		line-height: 16px;
		text-align: right;
	}
	#pricelist .plus {
		top: 12px;
		right: 5px;
		width: 12px;
		height: 12px;
	}
	#pricelist article.favorite::after {
		content: "Oblíbený";
	}

	#price .form .name, #price .checkbox .label {
		font-size: 16px;
		line-height: 25px;
	}
	#price .checkbox .label::before {
		width: 23px;
		height: 23px;
	}
	#price .checkbox .label::after {
		width: 25px;
		height: 25px;
	}
	#price .checkbox input[type="checkbox"]:checked + .label::after {
		background-size: 20px 20px;
	}
	#price .form .desc {
		font-size: 14px;
	}
	#price .price {
		padding-left: 10px;
	}
	#price .price .monthly {
		font-size: 20px;
		line-height: 30px;
	}
	#price .price .initial {
		font-size: 16px;
		line-height: 28px;
	}

	#copyright .container::before {
		left: 10px;
		right: 10px;
	}
	#copyright .social {
		left: 10px;
	}
}

@media (max-width: 500px) {
	main .button a, main .button span {
		font-size: 14px;
		line-height: 30px;
		padding: 8px 20px 8px 20px;
	}

	#fields .button a::before {
		content: none;
	}

	#functions .text .name {
		font-size: 26px;
		line-height: 32px;
	}
	#functions .text .desc {
		font-size: 18px;
		line-height: 28px;
	}

	#pricelist article:not(.individual) .header .button {
		display: none;
	}

	#list .list .label, #list .list .value {
		font-size: 16px;
		line-height: 25px;
	}

	#accordion article {
		padding-right: 75px;
	}

	#contact .container {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	#contact .blocks > div {
		flex-basis: 100%;
	}
	#contact .menu li, #contact p, #contact a {
		font-size: 14px;
		line-height: 28px;
	}

	#copyright .container {
		padding-top: 140px;
		padding-bottom: 50px;
	}
}