/* Styles of the current kenny.one site (K1-B07, file 7dd3e428eb9c.css) with local paths.
   Changes: no Facebook icon (proposal P4), .button is a link, new form parts, footer with identification
   and the privacy policy pages are at the end of the file. */

/* reset */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code,
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}

body { line-height: 1.5; background: #fff; margin:1.5em 0; }

table { border-collapse: separate; border-spacing: 0; }

caption, th, td { text-align: left; font-weight:400; }

blockquote:before, blockquote:after, q:before, q:after { content: ""; }

blockquote, q { quotes: "" ""; }

a img { border: none; }

.clear { display: inline-block; }

.clear:after, .container:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

* html .clear { height: 1%; }

.clear { display: block; }


/* layout */
*,
html,
body {
	font-family: Helvetica, Arial, sans-serif;
	font-weight: 400;
	color: #2A2A2E;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html,
body {
	height: 100%;
	min-height: 100%;
	width: 100%;
}

html {
	font-size: 10px;
}

body {
	background: #EE2148;
	font-size: 1.6rem;
	line-height: 2.6rem;
	text-align: left;
}

.popup,
.intro,
.references,
.about,
.outro {
	width: 100%;
	min-width: 1280px;
	padding-left: 150px;
	padding-right: 150px;
}

.inner {
	width: 980px;
}

.popup {
	background: #EE2148;
	position: relative;
	z-index: 100;
	display: none;
	min-height: 100vh;
}

.popup_display .popup {
	display: block;
}

.popup_display .intro,
.popup_display .references,
.popup_display .about,
.popup_display .outro {
	display: none;
}

.intro {
	background: #fff;
}

.popup .inner,
.intro .inner {
	padding-top: 5%;
	padding-bottom: 5%;
}

.popup .inner {
	position: relative;
}

.references {
	background: #37383C;
}

.references .inner {
	padding-top: 7.5%;
	padding-bottom: 13%;
}

.about {
	background: #fff;
}

.about .inner {
	padding-top: 16%;
	padding-bottom: 21%;
}

.outro .inner {
	padding-top: 8%;
	padding-bottom: 17%;
}

h1,
.h1 {
	display: inline-block;
	width: calc(100% - 80px);
	font-size: 1px;
	line-height: auto;
	padding: 0;
	margin: 0 0 12.5% 2px;
}

h2 {
	width: 100%;
	font-size: 4.2rem;
	font-weight: 700;
	line-height: 3.9rem;
	letter-spacing: -1px;
	padding: 0;
	margin: 0 0 42.5% 0;
}

h3 {
	width: 100%;
	font-size: 6.2rem;
	font-weight: 700;
	line-height: 5.2rem;
	letter-spacing: -1px;
	padding: 0;
	margin: 0;
}

h4 {
	width: 100%;
	font-size: 2.1rem;
	font-weight: 400;
	line-height: 3rem;
	letter-spacing: -1px;
	padding: 0;
	margin: 0;
}

p {
	width: 100%;
	line-height: 2.6rem;
	letter-spacing: 0;
	padding: 0;
	margin: 0 0 2%;
}

img.logo {
	width: 160px;
	height: auto;
}

.claim {
	color: #E70038;
	font-size: 14.4rem;
	font-weight: 700;
	line-height: 12.5rem;
	letter-spacing: -4px;
	margin-left: -11px;
	margin-bottom: 5px;
}

.popup .claim {
	color: #fff;
	margin-bottom: 10%;
}

.intro h2 span {
	display: block;
}

.col_33 {
	float: left;
	width: 30.66%;
	margin-left: 4%;
}

.col_33:first-of-type {
	margin-left: 0%;
}

.contact .col_33 + .col_33 + .col_33 {
	text-align: right;
}

.references h3,
.references h4,
.outro h3 {
	color: #fff;
}

a.phone,
a.email {
	color: #E70038;
	font-weight: 700;
	display: block;
	text-decoration: none;
}

a.email {
	-webkit-transition: all 150ms ease 0s;
	transition: all 150ms ease 0s;
}

.outro a.phone,
.outro a.email {
	color: #fff;
}

a.email:hover,
.outro a.email:hover {
	color: #2A2A2E;
}

.button {
	float: left;
	cursor: pointer;
	text-decoration: none;
	color: #fff;
	font-size: 1.4rem;
	line-height: 47px;
	font-weight: 400;
	display: block;
	background: #EE2148;
	height: 43px;
	width: 50%;
	text-align: center;
	-webkit-border-radius: 2px;
	border-radius: 2px;
}

.outro .button {
	color: #E70038;
	background: #fff;
}

a.linkedin {
	display: inline-block;
	height: 43px;
	width: 43px;
	background: url("../img/ico/icon-linkedin.svg") no-repeat 0 0 / 43px 43px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

a.close,
.button,
a.linkedin,
.popup button[type="submit"] {
	opacity: 1;
	-webkit-transition: all 150ms ease 0s;
	transition: all 150ms ease 0s;
}

a.close:hover,
.button:hover,
a.linkedin:hover,
.popup button[type="submit"]:hover {
	opacity: 0.7;
}

.references h3 {
	padding-bottom: 5%
}

.references img {
	-webkit-border-radius: 2px;
	border-radius: 2px;
	width: 100%;
	height: auto;
	margin-bottom: 10%
}

.references p {
	color: #BDBDBD;
}

.references .reference-author {
	color: #FFF;
	font-style: italic;
}

.reference-author span {
	font-weight: normal;
	color: #BDBDBD;
}

/* English page: the references are translated (Roman 23. 10. 2026) */
.references .poznamka-prekladu {
	font-size: 1.2rem;
	line-height: 1.8rem;
	margin-top: 3.2rem;
}

.about .inner > img {
	-webkit-border-radius: 100%;
	border-radius: 100%;
	width: 100px;
	height: auto;
	margin-bottom: 20px;
}

.about .inner > h3 {
	margin-bottom: 10px;
}

.about .inner > p {
	font-size: 2.5rem;
	line-height: 3rem;
}

.outro .contact {
	margin-bottom: 25%;
}

.outro img.logo {
	margin-left: 4px;
}

.popup a.close {
	position: relative;
	float: right;
	width: 84px;
	height: 70px;
	cursor: pointer;
	margin: -16px -10px 0 0;
}

.popup a.close .tl,
.popup a.close .bl {
	border-top: 3px solid #fff;
	height: 0;
	left: 0;
	position: absolute;
	top: 33px;
	width: 85px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.popup a.close .bl {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* one spacing scale for the form (B8, 23. 10. 2026): 3.2rem between groups, 0.8rem inside a group */
.popup .col_33,
.popup .attachment,
.popup .confirmation {
	margin-bottom: 3.2rem;
}

label {
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.9rem;
	display: block;
	margin-bottom: 8px;
	cursor: text;
}

input {
	border: 2px solid #fff;
	background: transparent;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	width: 100%;
	height: 52px;
	padding: 5px;
	font-size: 1.6rem;
	line-height: 1.9rem;
	color: #fff;
}

.popup .attachment,
.popup .confirmation {
	position: relative;
}

.popup .confirmation {
	display: flex;
	align-items: center;
}

.popup .confirmation input[type="checkbox"],
.popup button[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.popup .confirmation input[type="checkbox"] {
	z-index: 10;
	opacity: 0.001;
	top: 0;
	left: 0;
	cursor: pointer;
	position: relative;
	float: left;
	height: 36px;
	width: 36px;
}

.popup .confirmation input[type="checkbox"] + span {
	float: left;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	cursor: pointer;
	margin-right: 15px;
	height: 36px;
	width: 36px;
	padding: 0;
	border: 2px solid #fff;
	background: transparent;
	margin-left: -36px;
}

.popup .confirmation input[type="checkbox"]:checked + span,
.popup .confirmation input[type="checkbox"]:checked:hover + span {
	background: #fff url("../img/ico/icon-check.png") no-repeat 50% 50% / 21px 21px;
}

.popup .confirmation input[type="checkbox"]:focus-visible + span {
	outline: 2px solid #2A2A2E;
	outline-offset: 2px;
}

.popup .confirmation label {
	float: left;
	width: calc(100% - 51px);
	margin-top: 0;
	margin-bottom: 0;
}

.popup .confirmation p,
.popup .confirmation label {
	color: #fff;
	font-size: 1.2rem;
	line-height: 1.8rem;
	margin-bottom: 0;
}

.popup button[type="submit"] {
	border: none;
	background: #fff;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	width: auto;
	height: 52px;
	padding: 0 43px;
	line-height: 52px;
	color: #e70038;
	text-transform: uppercase;
	font-family: Arial;
	font-size: 1.8rem;
	font-weight: 600;
	cursor: pointer;
}

.popup button[type="submit"]:disabled {
	opacity: 0.5;
	cursor: wait;
}

/* new form parts (K1-B09) */
.popup .attachment input[type="file"] {
	border: none;
	height: auto;
	padding: 0;
	color: transparent;
	cursor: pointer;
	font-size: 1.2rem;
}

.popup .attachment input[type="file"]::-webkit-file-upload-button {
	cursor: pointer;
	border: none;
	border-radius: 2px;
	background: #fff;
	color: #e70038;
	height: 26px;
	padding: 0 20px;
	text-transform: uppercase;
	font-family: Arial;
	font-size: 1.2rem;
	font-weight: 700;
}

.popup .attachment input[type="file"]::file-selector-button {
	cursor: pointer;
	border: none;
	border-radius: 2px;
	background: #fff;
	color: #e70038;
	height: 26px;
	padding: 0 20px;
	text-transform: uppercase;
	font-family: Arial;
	font-size: 1.2rem;
	font-weight: 700;
}

.popup .napoveda,
.popup .vybrane,
.popup .seznam-souboru li,
.popup .namitka,
.popup .hlaska {
	color: #fff;
	font-size: 1.2rem;
	line-height: 1.8rem;
}

.popup .seznam-souboru {
	list-style: none;
	margin: 0.4rem 0 0;
}

.popup .napoveda,
.popup .vybrane {
	margin-top: 0.8rem;
}

.popup .namitka {
	margin-bottom: 3.2rem;
}

.popup .hlaska {
	font-size: 1.6rem;
	line-height: 2.2rem;
	font-weight: 700;
	margin: -1.6rem 0 1.6rem;
}

.popup .hlaska:empty {
	display: none;
}

.popup .confirmation a,
.popup .namitka a,
.popup .jazyk a {
	color: #fff;
}

.popup .jazyk {
	margin: 0 0 3.2rem;
}

.popup .hlaska-stranky,
.popup .hlaska-stranky a {
	color: #fff;
	font-size: 2.1rem;
	line-height: 3rem;
}

.pole-skryte {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 2px solid #2A2A2E;
	outline-offset: 2px;
}

/* footer with identification (K1-B11) */
.identifikace,
.identifikace * {
	color: #fff;
	font-size: 1.2rem;
	line-height: 1.8rem;
}

.outro .identifikace {
	margin-top: 4%;
}

/* privacy policy pages (K1-B10) */
.text-stranka {
	background: #fff;
}

.text-stranka .hlava,
.text-stranka .zasady,
.text-stranka .pata {
	width: 100%;
	padding-left: 7.5%;
	padding-right: 7.5%;
}

.text-stranka .inner {
	width: 100%;
	max-width: 980px;
}

.text-stranka .hlava .inner {
	padding-top: 4rem;
	padding-bottom: 4rem;
}

.text-stranka .hlava .jazyk {
	float: right;
	color: #E70038;
	font-weight: 700;
	text-decoration: none;
}

/* language switch on the home page, like on the policy pages (Roman 23. 10. 2026) */
.intro .jazyk-stranky {
	float: right;
	color: #E70038;
	font-weight: 700;
	text-decoration: none;
	/* optical alignment: the middle of the lowercase letters sits on the middle of the logo's lowercase letters
	   (measured 23. 10. 2026: logo 35px, its letter body 7.5 to 26.5px; on phones the logo is 26px) */
	line-height: 3.4rem;
}

.intro .jazyk-stranky:hover {
	text-decoration: underline;
}

.text-stranka .zasady .inner {
	padding-bottom: 6rem;
}

.text-stranka .zasady h1 {
	display: block;
	width: 100%;
	font-size: 4.2rem;
	font-weight: 700;
	line-height: 4.6rem;
	letter-spacing: -1px;
	margin: 0 0 3rem;
}

.text-stranka .zasady h2 {
	font-size: 2.4rem;
	line-height: 3rem;
	letter-spacing: 0;
	margin: 4rem 0 1.5rem;
}

.text-stranka .zasady p,
.text-stranka .zasady li {
	margin: 0 0 1.5rem;
}

.text-stranka .zasady ul,
.text-stranka .zasady ol {
	margin: 0 0 1.5rem 2.4rem;
}

.text-stranka .zasady a {
	color: #E70038;
}

.text-stranka .zasady strong {
	font-weight: 700;
}

.text-stranka .pata {
	background: #EE2148;
}

.text-stranka .pata .inner {
	padding-top: 4rem;
	padding-bottom: 4rem;
}

/* notifications */
.error {
	background: white;
	padding: 5px 10px 3px;
	color: black;
	margin-top: -2rem;
	margin-bottom: 3rem;
}

.success {
	background-color: #7eaf2a;
	color: white;
	text-align:center;
	margin: 0;
	padding: 15px;
	line-height: 1.3;
	z-index:1;
	position:relative;
}


/* responsive */
@media screen and (min-width: 1280px) {
	.intro {
		padding-left: 150px;
		padding-right: 150px;
	}
}

@media screen and (min-width: 900px) {
	.intro {
		background: #fff;
		height: 100vh;
		position: relative;
		padding-left: 7.5%;
		padding-right: 7.5%;
	}

	.intro .contact {
		position: absolute;
		bottom: 4rem;
		right: 0;
		left: 0;
		padding-left: 7.5%;
		padding-right: 7.5%;
	}

	h2 {
		margin: 0;
	}
}

/*---------- ALL: from 0px to 1280px----------*/
@media screen and (min-width: 0) and (max-width: 1280px) {
	.popup,
	.intro,
	.references,
	.about,
	.outro {
		width: 100%;
		min-width: auto;
		padding-left: 7.5%;
		padding-right: 7.5%;
	}

	.inner {
		width: 100%;
	}

	.claim {
		font-size: 10rem;
		line-height: 8.5rem;
		letter-spacing: -3px;
		margin-left: -8px;
	}

	h2 {
		font-size: 3.1rem;
		line-height: 2.9rem;
		letter-spacing: 0;
	}
}

/*---------- ALL: from 0px to 900px ----------*/
@media screen and (min-width: 0) and (max-width: 900px) {
	.contact .col_33 {
		margin-top: 5%;
		margin-left: 0;
		width: 50%;
	}

	.contact .col_33:first-of-type {
		width: 100%;
	}
}

/*---------- ALL: from 0px to 600px ----------*/
@media screen and (min-width: 0) and (max-width: 600px) {
	.intro .jazyk-stranky {
		line-height: 2.5rem;
	}

	img.logo {
		width: 120px;
	}

	.popup a.close {
		width: 40px;
		height: 40px;
		margin: -7px -5px 0 0;
	}

	.popup a.close .tl,
	.popup a.close .bl {
		border-top-width: 2px;
		top: 19px;
		width: 40px;
	}

	.claim {
		font-size: 7.5rem;
		line-height: 6rem;
		letter-spacing: -2px;
		margin-left: -5px;
	}

	.popup .claim {
		font-size: 4.5rem;
	}

	.popup .col_33,
	.popup .attachment,
	.popup .confirmation {
		margin-bottom: 3.2rem;
	}

	.popup .confirmation p {
		font-size: 1.2rem;
	}

	h1 {
		margin-bottom: 30%;
	}

	.popup .h1 {
		margin-bottom: 20%;
	}

	h2 {
		font-size: 2.3rem;
		line-height: 2.5rem;
		letter-spacing: 0;
	}

	h3 {
		font-size: 4.2rem;
		line-height: 5.2rem;
	}

	.popup .inner,
	.intro .inner {
		padding-bottom: 15%;
		padding-top: 18%;
	}

	.references .inner {
		padding-bottom: 15%;
		padding-top: 14%;
	}

	.references h3 {
		padding-bottom: 10%;
	}

	.references .col_33 {
		margin-bottom: 10%;
	}

	.references img	{
		margin-bottom: 6%;
	}

	.about .inner {
		padding-bottom: 45%;
		padding-top: 25%;
	}

	.about .inner > p {
		font-size: 1.6rem;
		line-height: 2.6rem;
	}

	.about .inner > img {
		margin-bottom: 5px;
	}

	.col_33,
	.col_33:first-of-type,
	.contact .col_33,
	.contact .col_33:first-of-type {
		width: 100%;
		float: none;
		margin-left: 0;
	}

	.contact .col_33 {
		margin-top: 10%;
	}

	.outro .inner {
		padding-bottom: 55%;
		padding-top: 10%;
	}

	.text-stranka .zasady h1 {
		font-size: 3.1rem;
		line-height: 3.6rem;
	}
}

/* wide screens (B8, Roman 23. 10. 2026: the page looked stretched): one 980px column in the middle for every
   section, the contact row of the intro included; up to 1280px nothing changes */
@media screen and (min-width: 1281px) {
	.popup,
	.intro,
	.references,
	.about,
	.outro,
	.intro .contact {
		padding-left: calc((100% - 980px) / 2);
		padding-right: calc((100% - 980px) / 2);
	}

	.text-stranka .inner {
		margin-left: auto;
		margin-right: auto;
	}

	/* on tall screens the first screen would leave a large empty gap above the contact row */
	.intro {
		max-height: 90rem;
	}
}
