/*
 Theme Name:   THMP
 Description:  THMP custom theme by @NAK
 Author:       @NAK
 Version:      2.0.0
 License:      Commercial
 Text Domain:  THMP
*/

/** OBSAH
 *  0 - VARIABLES
 * 	1 - TYPOGRAPHY
 * 	2 - GRID
 * 	3 - GENERAL PARTS
 * 	4 - TEMPLATE PARTS
 * 	5 - MEDIA
 */

/* 0 - VARIABLES */

:root {
	/* Barvy */
    --primary: #00A3C0;
    --secondary: #9DE038;
	/* Obsah */
	--text: #585759;
	/* Base */
	--grey: #F5F5F5;
	/* Dark */
	--dark-700: #000000;
	--dark-500: #00000080;
	--dark-200: #00000040;
	/* Light */
	--light-700: #FFFFFF;
	--light-500: #FFFFFF80;	
	--light-200: #FFFFFF40;	
	/* System */
    --system-red: #E32C1E;
	--system-blue: #00466E;
	--system-green: #24A148;
	--system-yellow: #FFF100;
	/* Gradient */
	--gradient: linear-gradient(220deg, var(--system-yellow) 25%, var(--primary) 100%);
	/* Layout */
	--layout-lg: 1680px;
	--layout-md: 1200px;
	--layout-sm: 960px;
	--layout-gap: 20px;
	/* Path */
	--mask-left: polygon(0 0, 100% 50%, 100% 100%, 0% 100%);
	--mask-right: polygon(0 20%, 100% 0, 100% 100%, 0% 100%);
	/* Radius */
	--radius-sm: 3px;
	/* Shadow */
	--shadow-lg: 0px 2px 75px rgba(210, 207, 207, 0.5);
	--shadow-sm: 0px 2px 30px rgba(210, 207, 207, 0.5);
}

::selection {
	background: var(--primary);
	color: var(--light-700);
}
:focus, :focus-visible, :focus-within {
	outline: none!important;
}

/* 1 - TYPOGRAPHY */

/* Montserrat */
@font-face {
    font-family: 'Montserrat';
	font-weight: 100 900;
	font-display: swap;
    src: url(assets/fonts/Montserrat/Montserrat.ttf) format("truetype");  
}

/* HTML */
html {
	font-size: 15px;
}

/* Text */
body {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
	font-size: 1rem;
    line-height: 1.4;
    font-weight: 400;
}
button, input, select, textarea {
	font-family: 'Montserrat', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	line-height: 1.2;
    font-weight: 800;
}
h1 {
	margin-bottom: 42px;
    font-size: clamp(2.33rem, 3.5vw, 4rem);
}
h2 {
    margin-bottom: 32px;
    font-size: clamp(2rem, 3vw, 2.67rem);
}
h3 {
    margin-bottom: 22px;
    font-size: clamp(1.4rem, 2vw, 2rem);
}
h4 {
	margin-bottom: 12px;
	font-size: 1.33rem;
}
h5 {
	margin-bottom: 8px;
	font-size: 1.2rem;
}
h6 {
	margin-bottom: 6px;
	font-size: 1rem;
}
.hero {
	font-size: clamp(4rem, 6vw, 9rem);
	background: var(--gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}
p {
	margin: 0;
}
small {
	font-size: 0.8rem;
}
a {
	text-decoration: none;
	color: inherit;
}

/* Form */
::placeholder {
	color: var(--text);
}
.btn, button, input, select, textarea {
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	margin: 0;
	padding: 0;
	background-clip: padding-box;
	border: none;
	outline: none;
	box-shadow: none;
	cursor: pointer;	
}
button:focus, input:focus, select:focus, textarea:focus {
	border-color: var(--primary);
}
input, select, textarea {
	width: calc(100% - 10px);
	padding: 5px;
	background: var(--light-700);
	border: 1px solid var(--grey);
	border-radius: var(--radius-sm);
	box-shadow: var(--grey) 0px 3px 0px 0px;
}

/* Input img */
input[type="image"] {
	width: auto;
	height: auto;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
}

/* Input file */
input[type="file"] {
	border: none;
	box-shadow: none;
}

/* Checkbox, Radio */
input[type="checkbox"], input[type="radio"] {
	width: 20px;
	min-width: 20px;
	height: 20px;
	margin: 0 10px 0 0;
	padding: 0;
    cursor: pointer;
}
input[type="checkbox"] {
	border-radius: 4px;
}
input[type="checkbox"]:checked {
	background: var(--primary) url('./assets/mediapicker/icons/check.svg') no-repeat center / 18px;
	border-color: var(--primary);
}
input[type="radio"] {
	border-radius: 100%;
}
input[type="radio"]:checked {
	background: var(--primary);
	border: 4px solid var(--light-700);
	outline: 1px solid var(--primary)!important;
}

/* Tlačítka */
.btn, input[type="submit"] {
	width: 250px;
	height: 77px;
	display: inline-flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	position: relative;
	font-size: 1.2rem;
	font-weight: 700;
	background: var(--primary);
	color: var(--light-700);
	border: none;
	border-radius: 0;
	transition: background 0.2s linear;
}
.btn:hover, input[type="submit"]:hover {
	background: var(--text);
}
.color .btn {
	background: var(--dark-700);
}
.btn:before, input[type="submit"]:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--secondary);
	transform: scaleY(0);
	transform-origin: 50% 100%;
	transition: transform 0.5s ease-out;
}
.btn:hover:before {
	transform: scaleY(1);
	transition: transform 0.5s cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
.btn span {
	position: relative;
	z-index: 2;
}
.img-btn {
	width: 250px;
	height: 77px;
	display: block;
	transform: scale(1.0);
}
.img-btn > * {
	width: 250px;
	height: 77px;
	object-fit: contain;
}
.img-btn:hover {
	animation: pulse 0.5s linear;
}

/* Select */
select {
	width: 100%;
}
select option:checked {
	background: var(--primary);
	color: var(--light-700);
}

/* Scrolltop */
#scrolltop {
	padding: 6px 12px;
	align-items: center;
	position: fixed;
	bottom: 40px;
	right: 20px;
	font-weight: 600;
	text-transform: uppercase;
	background: transparent;
	color: var(--dark-700);
	opacity: 0;
	transition: opacity 0.4s linear;
	z-index: 12;
}
#scrolltop:before {
	content: "";
    width: 0;
    height: 0;
    margin: -10px 0 0 4px;
    display: inline-block;
    position: absolute;
    top: 0;
    vertical-align: middle;
    border-bottom: 8px solid var(--dark-700);
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
}
#scrolltop.visible {
	opacity: 1;
}

/* 2 - GRID */

/* HTML */
html {
	-webkit-scroll-behavior: smooth;
    scroll-behavior: smooth;	
}

/* Section */
main > section {
	padding: 44px 0;
	position: relative;
	gap: var(--layout-gap);
}
main > section:first-child {
	padding-top: 144px;
}
main > section.bg {
	min-height: 260px;
	padding-bottom: 100px;
	justify-content: center;
	background-size: cover;
}
main > section.bg:last-child {
	margin-bottom: -150px;
	padding-bottom: 200px;
	position: relative;
	z-index: 2;
}
main > section.bg.bg-top {
	background-position: 50% 15%;
}
main > section.bg.bg-center {
	background-position: 100% 50%;
}
main > section.bg.bg-bottom {
	background-position: 15% 100%;
}
main > section.bg + section:before {
	content: "";
	width: 100%;
	height: 100px;
	top: -99px;
	display: block;
	position: absolute;
	background: inherit;
	clip-path: var(--mask-left);
	z-index: 2;
}
main > section.full {
	padding: 0!important;
}

/* Layout */
.layout {
	width: var(--layout-md);
	max-width: calc(100% - ( var(--layout-gap) * 2) );
	margin: 0 auto;
	padding: 0 var(--layout-gap);
	position: relative;
}
main .bg .layout, main .color .layout {
	width: var(--layout-lg);
}
.layout > div {
	width: 100%;
	gap: var(--layout-gap);
}
@media (max-width: 1023px) {
	.layout > div:has(.obrazek) {
		order: -1;
	}	
}
.full .layout {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

/* Flexbox */
.flex-grid, .flex-col {
	display: flex;
	flex-direction: column;
}
.flex-row {
	display: flex;
	flex-direction: row;
}

/* Grid */
.grid {
	display: grid;
}

/* Schema */
.light {
	background: var(--light-700);
	color: var(--text);
}
.light .nadpis {
	margin-bottom: 0;
	color: var(--dark-700);
}
.dark {
	background: var(--dark-700);
	color: var(--light-700);
}
.dark .logo path {
	fill: var(--light-700);
}
.color {
	background: var(--gradient);
	color: var(--dark-700);
}

/* 3 - GENERAL PARTS */

/* sr */
.sr, .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* hr */
hr {
	margin: 0;
	padding: 0;
	border: none;
	border-top: 1px solid var(--dark-200);
}

/* img */
img {
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: cover;
}

/* Logo */
.logo {
	display: inline-block;
	line-height: 0;
}
.logo img, .logo svg {
	width: auto;
	height: 40px;
	object-fit: contain;
}

/* Burger */
#burger {
	width: 55px;
	height: 55px;
	justify-content: center;
	align-items: center;
	background-color: transparent;
}
#burger svg {
	width: 14px;
	height: 14px;
}

/* Menu */
.menu, .sub-menu {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	list-style: none;
}
.menu li {
	position: relative;
}
.menu li.menu-item-has-children:after {
	content: "";
	width: 0;
	height: 0;
	margin: -2px 0 0 5px;
	display: inline-block;
	position: absolute;
	top: 25px;
	right: 15px;
	vertical-align: middle;
    border-top: 4px solid var(--light-700);
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;	
}
.menu li.menu-item-has-children:hover:after {
	border-top-color: transparent;
	border-bottom: 4px solid var(--light-700);
}
.menu li:hover > a {
	color: var(--secondary);
}
.sub-menu {
	top: 100%;
	opacity: 1;
	transition: opacity 0.5s ease-out, top 0.3s linear;
}
.sub-menu.open {
	background: var(--dark-500);
}
.sub-menu:not(.open) {
	height: 0;
	top: 0;
	opacity: 0;
	pointer-events: none;
}
.sub-menu > li {
	border-top: 1px solid var(--light-200);
}
.sub-menu > li:last-child {
	border-bottom: 1px solid var(--light-200);
}
.sub-menu > li:hover {
	background: var(--dark-200);
}
.sub-menu a {
	padding: 10px;
	display: inline-block;
}

/* Stránkování */
.pagination, .nav-links {
	margin: 15px 0;
	display: flex;
	flex-direction: row;
	justify-content: center;	
}
.nav-links a, .nav-links span {
	width: 40px;
	height: 38px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: var(--light-700);
	color: var(--dark-700);
	transition: all 0.3s linear;
}
.nav-links a.page-numbers:hover {
	background: var(--dark-200);
	color: var(--light-700);
}
.nav-links .current {
	background: var(--primary);
	color: var(--light-700);
}

/* Header */
header {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: transparent!important;
	border-bottom: 1px solid var(--light-200);
	z-index: 9;
}
header > .flex-row {
	width: var(--layout-md);
	justify-content: space-between;
	align-items: center;
}
header nav > div {
	width: 100%;
	height: 0;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	transition: all 1s ease-out;
}
header nav.open > div  {
	top: 100%;
	height: auto;
	background: var(--dark-500);
	z-index: 9;
}
header nav.open .menu > li {
	border-bottom: 1px solid var(--light-200);
}
header nav .menu > li > a {
	padding: 15px;
	display: inline-block;
	text-transform: uppercase;
}
header nav.open .menu > li > a {
	width: 80%;
}
header nav.open .socials {
	justify-content: center;
}
.admin-bar header {
	top: 32px;
}

/* Footer */
footer {
	padding: 130px 0 20px;
	position: relative;
	color: var(--dark-700);
	clip-path: var(--mask-right);
	z-index: 3;
}
footer .layout {
	gap: 20px;
}
footer .menu a {
	font-weight: 600;
}
footer .menu a:hover {
	text-decoration: underline;
	color: inherit;
}
footer .socials {
	margin-bottom: 20px;
	border-bottom: 1px solid var(--dark-700);
}
footer .copyright {
	padding: 20px;
}

/* Embla */
.embla {
	width: 100%;
	margin: 0 auto;
	justify-content: center;
	position: relative;
	cursor: pointer;
}
.embla__viewport {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}
.embla__container {
	margin: 0;
	padding: 0;
	gap: 69px;
	list-style: none;
}
.embla__slide {
	width: 100%;
	box-sizing: border-box;
	position: relative;
	flex-shrink: 0;
}
.embla button.embla__nav {
	width: 36px;
	height: 36px;
	justify-content: center;
	align-items: center;
	position: absolute;
	background: var(--dark-500);
	border-radius: 0;
	z-index: 5;
}
.embla button.embla__nav:after {
	content: "";
	width: 0;
	height: 0;
	display: inline-block;
	position: absolute;	
}
.embla button.embla__prev {
	left: -15px;
}
.embla button.embla__prev:after {
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-right: 8px solid var(--light-700);
}
.embla button.embla__next {
	right: -15px;
}
.embla button.embla__next:after {
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 8px solid var(--light-700);
}
.embla__dots {
	height: 12px;
	margin-top: 12px;
	justify-content: center;
	align-items: center;
	gap: 8px;
}
.embla__dots button {
	width: 12px;
	height: 12px;
	background: var(--dark-500);
	border: 1px solid var(--dark-200);
	border-radius: 100%;
	transition: background 0.3s linear;
}
.embla__dots button:hover {
	background: var(--dark-200);
}
.embla__dots button.is-selected {
	background: var(--light-700);
}

/* Modal */
.modal {
	width: 100%;
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	background-color: var(--dark-500);
	z-index: 999;
}
.modal > * {
	max-width: var(--layout-md);
}
.modal > .flex-col {
	height: calc(100vh - 60px);
	justify-content: center;
}
.modal img {
	max-width: calc(100vw - 60px);
	max-height: calc(100vh - 60px);
	object-fit: contain;
}
.modal button {
	width: 40px;
	height: 40px;
	padding: 0;
	position: absolute;
	background: var(--dark-500);
	color: var(--light-700);
}
.modal button#close {
	top: 0;
	right: 0;
}
.modal button#prev {
	left: 20px;
}
.modal button#next {
	right: 20px;
}
.modal button svg {
	width: 26px;
	height: 26px;
	object-fit: contain;
}
.modal .info {
	width: 100%;
	justify-content: space-between;
	background: var(--dark-500);
}
.modal .info > * {
	padding: 10px;
}

/* Login */
#login {
	margin-bottom: -100px;
    padding: 244px 0 144px;
	background-size: cover;
	background-position: bottom;
	color: var(--light-700);
}
#login > * {
	max-width: var(--layout-sm);
	margin-left: auto;
	margin-right: auto;
}
#login form {
	margin-bottom: 30px;
	padding: 0 15px;
	display: flex;
	flex-direction: column;
	gap: 15px;
	overflow: hidden;
}
#login .caps-warning,
#login + .pruh {
	display: none;
}

/* 4 - TEMPLATE PARTS */

/* Align */
.left {
	margin-left: 0;
	margin-right: auto;
	text-align: left;
}
.center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.right {
	margin-left: auto;
	margin-right: 0;
	text-align: right;
}

/* Boxy */
.box {
	height: 100%;
	padding: 15px;
}
.box.dark {
	background: var(--primary);
}
.box.light {
	background: var(--secondary);
	color: var(--dark-700);
}

/* Dlaždice */
.dlazdice {
	gap: var(--layout-gap);
}
.dlazdice > a {
	width: 100%;
	height: 296px;
	justify-content: center;
	align-items: center;
	position: relative;
	background-size: cover;
}
.dlazdice > a:hover {
	animation: pulse 0.9s linear;
}
.dlazdice > a:before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--gradient);
	opacity: 0;
	pointer-events: none;
	z-index: 1;
	transition: opacity 1.5s linear;
}
.dlazdice > a:hover:before {
	opacity: 0.5;
}
.dlazdice > a > h3 {
	margin-bottom: 0;
	padding: 0 30px;
	position: relative;
	z-index: 2;
	transition: color 1.5s linear;
}
.dlazdice > a:hover > h3 {
	color: var(--dark-700);
}

/* Formulář */
.formular {
	align-items: center;
	background: var(--light-700);
	color: var(--dark-700);
	box-shadow: var(--shadow-lg);	
}
.formular form {
	max-width: var(--layout-sm);
	padding: 50px 20px;
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.formular form .flex-grid {
	gap: 30px;
}
.formular form .flex-grid > * {
	width: 100%;
}
.formular p > label {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	font-weight: 700;
	color: var(--primary);
}
.formular label a {
	text-decoration: underline;
	color: var(--system-blue);
}
.formular input[type="submit"] {
	margin: 0 auto;
	display: flex;
}
.formular .wpcf7-form-control-wrap {
	margin-top: 5px;
	display: block;
}
.formular .wpcf7-list-item {
	margin: 0 15px 0 0;
}
.formular .wpcf7-list-item label {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	font-weight: 400;
	color: var(--dark-700);
}
.formular .wpcf7-not-valid-tip {
	position: absolute;
	top: -18px;
	right: 0;
	font-size: 0.778rem;
	color: var(--system-red);
}

/* Galerie */
.galerie > .grid {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 5px;
}
.galerie a {
	display: block;
	position: relative;
	line-height: 0;
}
.galerie img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	object-position: 15% 15%;
}
.galerie .hidden-image {
	display: none;
}
.galerie .btn {
	width: 100%;
	margin-top: 5px;
}

/* Loga */
.loga .embla-container {
	gap: 69px;
}
.loga img {
	width: 180px;
	min-width: 180px;
	height: 70px;
	margin: 0 auto;
	display: block;
	object-fit: contain;
	border-radius: 0;
}

/* Medailonek */
.medailonek {
	margin-top: 32px;
	padding: 15px;
	background: var(--grey);
}

/* Nadpis */
.light div + h1.nadpis:before, .light h1.nadpis:after,
.light div + h2.nadpis:before, .light h2.nadpis:after,
.light div + h3.nadpis:before, .light h3.nadpis:after {
	content: "";
	width: 2px;
	height: 27px;
	margin: 14px auto;
	display: block;
	position: relative;
}
.light div + h1.nadpis:before, 
.light div + h2.nadpis:before, 
.light div + h3.nadpis:before {
	background: var(--secondary);
}
.light h1.nadpis:after,
.light h2.nadpis:after,
.light h3.nadpis:after {
	background: var(--primary);
}

/* Odkaz */
.odkaz {
	margin-top: 10px;
	font-weight: 700;
	color: var(--system-blue);
}

/* Odznak */
.odznak {
	width: 55px;
	height: 55px;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 55px;
	right: 0;
	background: var(--primary);
	box-shadow: rgba(0, 0, 0, 0.5) 0px 1px 20px;
	z-index: 12;
}
.odznak span {
	height: 55px;
	padding: 0 15px;
	justify-content: center;
	align-items: center;
	position: absolute;
	right: 0;
	background: var(--text);
	transform: translateX(100%);
	transition: all 0.5s linear;
}
.odznak:hover > span {
	right: 55px;
	transform: translateX(0);
}

/* Práce */
.prace {
	gap: 40px;
}
.prace a {
	background: var(--light-700);
	box-shadow: var(--shadow-lg);
}
.prace h3 {
	color: var(--primary);
}
.prace img {
	width: 100%;
	height: 270px;
	object-fit: cover;
}
.prace .flex-col {
	padding: 20px 30px;
	justify-content: space-between;
}

/* Personální */
.personalni {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
}
.personalni > a {
	position: relative;
}
.personalni .informace {
	width: 100%;
	height: 75px;
	padding: 30px 0 25px;
	justify-content: space-between;
	align-items: center;
	position: absolute;
	top: calc(100% - 135px);
	background: var(--light-500);
	transition: all 0.4s ease-out;
	z-index: 2;
}
.personalni > a:hover > .informace {
	height: calc(100% - 60px);
	top: 0;
	bottom: 0;
}
.personalni .informace strong {
	margin-bottom: 6px;
	color: var(--dark-700);
}
.single-personalni main .layout > .flex-col:has(img) {
	max-width: 260px;
}
.single-personalni main .flex-grid {
	gap: 50px;
}

/* Příspěvky */
.prispevky {
	grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
}
.prispevky img {
	width: 100%;
	height: 234px;
	object-fit: cover;
	object-position: 15% 15%;
}
.prispevky h4 {
	color: var(--primary);
}
.prispevky .datum {
	margin: 10px auto;
}
.prispevky > a {
	max-width: calc(100vw - ( var(--layout-gap) * 2) );
	transition: box-shadow 1s linear;
}
.prispevky > a:hover {
	box-shadow: var(--shadow-sm);
}
.prispevky > a > * {
	height: calc(100% - 60px);
	padding: 30px 42px;
	justify-content: space-between;
}
.single-post .datum {
	font-weight: 700;
	color: var(--primary);
}

/* Pruh */
.pruh {
	margin-bottom: -40px;
}

/* Slider */
.slider h3 {
	margin-bottom: 22px;
	color: var(--primary);
}
.slider img {
	width: 207px;
	min-width: 207px;
	height: 280px;
	margin: 30px 0 0 30px;
	object-fit: cover;
}
.slider .embla__viewport {
	padding-bottom: 36px;
	background: var(--gradient);
	box-shadow: var(--shadow-lg);	
}
.slider .embla__viewport .embla__slide .flex-col {
	padding: 30px;
}

/* Socials */
.socials {
	padding: 15px 0;
	gap: 12px;
	line-height: 0;
}
.socials svg {
	width: 18px;
	height: 18px;
}

/* Soubory */
.soubory a {
	background: var(--light-700);
	color: var(--primary);
	transition: background-color 0.5s linear, color 1s ease;
}
.soubory a:nth-child(odd) {
	background: var(--grey);
}
.soubory a:hover {
	background: var(--secondary);
	color: var(--light-700);
}
.soubory a > .flex-row {
	padding: 10px 15px;
	align-items: center;
	font-size: 0.9333rem;
}
.soubory .datum {
	width: 84px;
	margin-right: 8px;
	padding-right: 4px;
	display: block;
	text-align: center;
	border-right: 1px solid;
}
.soubory .typ {
	width: 38px;
	margin-right: 8px;
	padding-top: 2px;
	text-align: center;
	text-transform: uppercase;
	border: 1px solid;
	transition: all 0.3s linear;
}
.soubory .typ.doc, .soubory .typ.docx {
	color: var(--system-blue);
}
.soubory .typ.jpg, .soubory .typ.jpeg, .soubory .typ.png {
	color: var(--system-yellow);
}
.soubory .typ.pdf {
	color: var(--system-red);
}
.soubory .typ.xls, .soubory .typ.xlsx {
	color: var(--system-green);
}
.soubory a:hover .typ {
	color: var(--light-700);
}

/* Tabulka */
table {
	width: 100%;
	margin: 0;
	padding: 0;
	border: none;
	border-collapse: collapse;
    border-spacing: 0;
}
table thead {
	background: var(--secondary);
	color: var(--light-700);
}
table th, table td {
	padding: 5px;
	font-size: 0.8rem;
	text-align: left;
}
table.stripped tbody tr:nth-child(even) > * {
	background: var(--grey);
}
table tbody th {
	text-align: right;
}
table td a {
	text-decoration: underline;
	color: var(--system-blue);
}

/* Text */
.text a {
	text-decoration: underline;
	color: var(--system-blue);
}
.text ul, .text ol {
	padding-left: 16px;
}
.text p + p {
	margin-top: 10px;
}
.text + div:not(.tlacitka) {
	margin-top: 32px;
}

/* Tlacitka */
.tlacitka {
	margin-top: 16px;
	gap: 16px;
}
.tlacitka.wide {
	margin-left: 0;
	margin-right: 0;
}
.tlacitka.wide .btn {
	width: 100%;
}
.tlacitka.left {
	justify-content: flex-start;
	align-items: flex-start;
}
.tlacitka.center {
	justify-content: center;
	align-items: center;
}
.tlacitka.right {
	justify-content: flex-end;
	align-items: flex-end;
}

/* Video */
.video {
	height: 0;
    padding-top: 30px;
	padding-bottom: 46.25%;
	justify-content: center;
	align-items: center;
    position: relative;
}
.video iframe {
	width: 100%;
	max-width: var(--layout-sm);
	height: 100%;
	max-height: 540px;
    position: absolute;
    top: 0;
}

/* Výhody */
.vyhody {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.vyhody p {
	padding: 0 15px;
}
.vyhody .cislo {
	font-size: clamp(2.33rem, 3.5vw, 4rem);
	font-weight: 700;
}

/* Záložky */
.zalozky > nav {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.zalozky > nav > strong {
	min-height: 50px;
	padding: 20px;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	background: var(--light-700);
	border-bottom: 2px solid transparent;
	box-shadow: var(--shadow-lg);
	cursor: pointer;
}
.zalozky > nav > strong.active {
	color: var(--primary);	
	border-color: var(--primary);
}
.zalozky .zalozky-obsah > .text {
	margin-top: 0;
	padding: 30px;
	display: none;
	background: var(--light-700);
	box-shadow: var(--shadow-lg);
}
.zalozky .zalozky-obsah > .text.active {
	display: block;
}

/* 5 - MEDIA */

@media screen and (max-width: 600px) {
    #wpadminbar {
        position: fixed;
    }
	.admin-bar header {
		top: 46px;
	}
	.odznak {
		display: none;
	}
}

@media screen and (min-width: 600px) {
	.box {
		padding: 40px;
	}
	.dokumenty a {
		padding: 20px;
	}
	.dokumenty .file {
		margin-right: 16px;
	}
	.formular form {
		gap: 40px;
	}
	.formular p > label {
		flex-direction: row;
	}
	.formular p > small {
		margin-left: 200px;
		display: block;
	}	
	.formular .wpcf7-form-control-wrap {
		min-width: calc(100% - 200px);
		margin-top: 0;
	}
	.formular .flex-grid .wpcf7-form-control-wrap {
		min-width: calc(100% - 80px);
	}
	table th, table td {
		min-width: 85px;
		padding: 10px 15px;
		font-size: 0.9333rem;
	}
}

@media screen and (min-width: 1024px) {
	.hero {
		padding: 100px 0;
	}
	.logo img, .logo svg {
		height: 83px;
	}
	main > section {
		padding: 100px 0;
	}
	main > section:first-child {
		padding-top: 240px;
	}
	main > section.bg + section:before {
		height: 200px;
	}
	main > section.bg .text {
		font-size: 1.33rem;
	}
	main > section.bg .text.center {
		max-width: var(--layout-sm);
	}
	.layout-2 > div {
		width: 50%;
	}
	.layout-3 > div {
		width: 33.33%;
	}
	.flex-grid {
		flex-direction: row;
	}
	header .logo {
		margin-bottom: 10px;
	}
	footer {
		padding-top: 200px;
	}
	footer .copyright {
		margin-top: 40px;
	}
	.layout-2 > div:last-child .obrazky.flex-row {
		flex-direction: row-reverse;
	}
	.light div + h1.nadpis:before, .light h1.nadpis:after,
	.light div + h2.nadpis:before, .light h2.nadpis:after {
		height: 48px;
	}
	.medailonek {
		padding: 30px;
	}
	.prace img {
		max-width: 270px;
	}
	.soubory .datum {
		min-width: 84px;
	}
}

@media screen and (min-width: 1360px) {
	:root {
		--mask-left: polygon(0 0, 100% 80%, 100% 100%, 0% 100%);
	}
	.hero {
		padding: 150px 0;
	}
	#burger {
		display: none;
	}
	header {
		padding: 66px 0 0;
	}
	header > .flex-row {
		align-items: flex-end;
	}
	header nav > div {
		height: auto;
		display: flex;
		flex-direction: row;
		position: relative;
		overflow: visible;
	} 
	header nav .menu {
		flex-direction: row;
	}
	header nav .menu li.menu-item-has-children:after {
		position: relative;
		top: auto;
	}
	header nav .menu a {
		font-size: 0.765rem;
		white-space: nowrap;
	}
	header nav .sub-menu {
		min-width: 220px;
		padding: 15px;
		position: absolute;
		background: var(--dark-500);
		z-index: 5;
	}
	header nav .sub-menu > li.menu-item-has-children {
		position: relative;
	}
	header nav .sub-menu li.menu-item-has-children:after {
		position: absolute;
		top: 15px;
		right: 0;
		border-top-color: transparent;
		border-bottom: 4px solid var(--light-700);
		transform: rotate(90deg);
	}
	header nav .sub-menu .sub-menu {
		top: 0;
		left: calc(100% + 15px);
	}
	main > section.bg + section:before {
		top: -159px;
	}
	.embla button.embla__prev {
		left: -50px;
	}
	.embla button.embla__next {
		right: -50px;
	}
	.box {
		padding: 80px;
	}
	.prace img {
		max-width: 320px;
		height: 320px;
	}
	.slider img {
		margin: 50px 0 0 50px;
	}
	.slider .embla__viewport .embla__slide .flex-col {
		padding: 50px;
	}
	.vyhody .flex-col + .flex-col {
		border-left: 1px solid;
	}
	.zalozky .zalozky-obsah > .text {
		padding: 65px 40px;
	}
}

/* 6 - ANIMATIONS */

/* Pulse */
@keyframes pulse {
	50% {
		transform: scale(1.1);
	}
}

/* Fade-in */
.layout > div {
	opacity: 0;
	transition: opacity 0.8s ease, transform 0.8s ease;
}
.layout-1 > div, .layout-3 > div {
	transform: translate(0, 60px);
}
.layout-2 > div:first-child {
	transform: translate(-20%, 0);
}
.layout-2 > div:last-child {
	transform: translate(20%, 0);
}
.layout.visible > div {
	opacity: 1;
	transform: translate(0, 0);
}

#cmplz-cookiebanner-container svg {
	width: 20px!important;
	height: 20px!important;
}
.grecaptcha-badge {
	opacity: 0;
}