/*
Theme Name: Kemp Vysocina FSE
Theme URI: https://example.local/kemp-vysocina-fse
Author: Jan Polzer
Author URI: https://www.polzer.cz
Description: Block theme pro kemp podle Figma navrhu (Full Site Editing + theme.json).
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kemp-vysocina-fse
Tags: full-site-editing, block-patterns, custom-colors
*/


@import url('https://fonts.googleapis.com/css2?family=Ubuntu+Sans:ital,wght@0,100..800;1,100..800&display=swap');
body{
	padding: 0;
	margin: 0;
    font-family: "Ubuntu Sans", sans-serif;
    font-optical-sizing: auto;
}
body > .wp-site-blocks{
	overflow: clip;
}
*{
	scroll-behavior: smooth;
}
*:focus{
	outline: none;
}
img{
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}
a{
	transition: all 0.25s;
	color: #3F7700;
	text-decoration: underline;
}
a:hover,
a:focus-visible{
	text-decoration: none;
}
a.wp-block-button__link{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	text-decoration: none;
	font-size: 16px;
	line-height: 26px;
	font-weight: bold;
	border-radius: 40px;
	padding: 5px 32px;
	border: 2px solid #FFDA5E;
	background: #FFDA5E;
	color: #000;
}
a.wp-block-button__link:hover,
a.wp-block-button__link:focus-visible{
	background: transparent;
}
h1{
	color: #000;
	font-size: 48px;
	line-height: 58px;
	font-weight: bold;
	margin: 0 0 20px;
}
h2{
	font-size: 30px;
	line-height: 36px;
	color: #162A00;
	font-weight: bold;
	margin: 0;
}
h3{
	font-size: 22px;
	line-height: 25px;
	color: #3F7700;
	font-weight: bold;
	margin: 0 0 20px;
}
.kemp-section-line{
	display: block;
	width: 150px;
	height: 4px;
	background: #EAD696;
	margin: 17px 0 36px;
}
p{
	font-size: 16px;
	line-height: 25px;
	color: #000;
	margin: 0 0 25px;
}
ul.wp-block-list{
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}
ul.wp-block-list li{
	padding: 0 0 0 25px;
	margin: 0 0 7px;
	position: relative;
	font-size: 16px;
	line-height: 25px;
	color: #000;
}
ul.wp-block-list li:before{
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	position: absolute;
	left: 0;
	top: 9px;
	background: #3F7700;
}
h3:last-child,
p:last-child,
ul.wp-block-list:last-child,
ul.wp-block-list li:last-child{
	margin-bottom: 0;
}
.wp-block-table table.has-fixed-layout{
	table-layout: unset;
}
.wp-block-table table td{
	border: none;
	font-size: 16px;
	line-height: 25px;
	color: #000;
	padding: 12px 25px;
}
.wp-block-table table td strong{
	font-weight: bold;
}
.wp-block-table table td:last-child{
	text-align: right;
}
.wp-block-table table tr:nth-child(odd) td{
	background: #EAF4E5;
}
/* header */
header{
	position: relative;
	z-index: 10;
}
header > .wp-block-group{
	max-width: 1384px;
	box-sizing: border-box;
	padding: 0 20px;
	width: 100%;
	margin: 0 auto;
}
header > .wp-block-group > .wp-block-group{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
header figure{
	margin: 0;
}
header .logo{
	position: relative;
	top: 13px;
	margin-right: auto;
	width: 145px;
}
header nav ul.wp-block-navigation{
	display: flex;
	flex-wrap: wrap;
	gap: 42px;
	padding: 0;
	margin: 0;
	list-style: none;
}
header nav ul.wp-block-navigation li{
	padding: 0;
	margin: 0;
}
header nav ul.wp-block-navigation li a{
	display: block;
	text-decoration: none;
	font-size: 16px;
	line-height: 30px;
	font-weight: bold;
	color: #162A00 !important;
}
header nav ul.wp-block-navigation li a:hover,
header nav ul.wp-block-navigation li a:focus-visible,
header nav ul.wp-block-navigation li.current-menu-item a{
	color: #3F7700 !important;
}
header .wp-block-buttons{
	margin-left: 46px;
}
header .wp-block-buttons a.wp-block-button__link:before{
	content: "";
	width: 26px;
	height: 26px;
	display: block;
    background: transparent url(images/ikona-button.svg) no-repeat center center;
}
header nav ul.wp-block-navigation li:has(a[href*="/rezervovat"]){
	display: none;
}
header button.menu-toggle{
	display: none;
}
/* obsah */
main{
	max-width: 1384px;
	box-sizing: border-box;
	padding: 0 20px !important;
	width: 100%;
	margin: 0 auto;
}
.kemp-pattern{
	margin: 0;
	padding: 40px 0;
}
.entry-content > figure.wp-block-image{
	width: 100%;
}
.kemp-pattern--hero-intro{
	position: relative;
	height: 680px;
	overflow: visible;
	justify-content: flex-start;
	box-sizing: border-box;
}
.kemp-pattern--hero-intro > img.wp-block-cover__image-background{
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, 0%);
	object-fit: cover;
}
.kemp-pattern--hero-intro > .wp-block-cover__background{
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, 0%);
	opacity: 1 !important;
	background: linear-gradient(266deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0.7) 100%);
	background-color: transparent !important;
}
.kemp-pattern--hero-intro .wp-block-cover__inner-container{
    max-width: 710px;
}
.kemp-pattern--hero-intro .wp-block-cover__inner-container h2{
	color: #fff;
	font-size: 48px;
	line-height: 58px;
	font-weight: bold;
	margin: 0 0 26px;
}
.kemp-pattern--hero-intro .wp-block-cover__inner-container a.wp-block-button__link{
	background: rgba(75, 142, 0, 0.5);
	border-color: rgba(75, 142, 0, 0.6);
	color: #fff;
	padding: 9px 32px;
}
.kemp-pattern--hero-intro .wp-block-cover__inner-container a.wp-block-button__link:hover,
.kemp-pattern--hero-intro .wp-block-cover__inner-container a.wp-block-button__link:focus-visible{
	background: transparent;
}
.kemp-pattern--feature-cards{
	position: relative;
	padding: 35px 0 65px;
	margin-bottom: 30px;
}
.kemp-pattern--feature-cards:before{
    content: "";
	display: block;
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, 0%);
	z-index: -1;
	background: #EAF4E5;
}
.kemp-pattern--feature-cards > div > p{
	font-size: 15px;
	line-height: 25px;
	font-weight: 500;
	margin: 0 0 20px;
	text-transform: uppercase;
	color: rgba(63, 119, 0, 0.5);
}
.kemp-pattern--feature-cards .wp-block-columns{
	align-items: unset;
	gap: 24px;
	margin: 0;
}
.kemp-pattern--feature-cards .wp-block-columns .wp-block-column{
	display: flex;
}
.kemp-pattern--feature-cards .kemp-feature-card{
    padding: 26px 36px 37px;
	border-radius: 20px;
	background: #fff;
	width: 100%;
	box-sizing: border-box;
}
.kemp-pattern--feature-cards .kemp-feature-card figure{
	width: 69px;
	height: 69px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 0 0 13px;
}
.kemp-pattern--feature-cards .kemp-feature-card figure img{
	margin: 0;
}
.kemp-pattern--feature-cards .kemp-feature-card p{
	font-size: 18px;
	line-height: 28px;
	color: #162A00;
	margin: 0;
	font-weight: bold;
}
.kemp-pattern--feature-cards .kemp-feature-card p + p{
	font-size: 16px;
	line-height: 25px;
	color: #3F7700;
	font-weight: 500;
	font-style: italic;
}
.kemp-pattern--feature-cards .kemp-feature-card .wp-block-button{
	padding-top: 15px;
	margin: 0;
}
.kemp-pattern--feature-cards .kemp-feature-card a.wp-block-button__link{
    background: #fff;
}
.kemp-pattern--feature-cards .kemp-feature-card a.wp-block-button__link:hover,
.kemp-pattern--feature-cards .kemp-feature-card a.wp-block-button__link:focus-visible{
	background: #FFDA5E;
}
.kemp-pattern--reason-split .wp-block-columns{
    gap: 62px;
	margin: 0;
}
.kemp-pattern--reason-split ul.wp-block-list li{
	margin: 0 0 6px;
	padding: 0;
	color: #414141;
}
.kemp-pattern--reason-split ul.wp-block-list li:before{
	display: none;
}
.kemp-pattern--reason-split ul.wp-block-list li span.kemp-icon-bullet{
    color: #3F7700;
	font-weight: bold;
}
.kemp-pattern--reason-split ul.wp-block-list li strong{
	color: #3F7700;
	font-weight: bold;
}
.kemp-pattern--reason-split figure img{
	border-radius: 20px;
}
.kemp-pattern--access-map .wp-block-columns{
    gap: 62px;
	margin: 0;
}
.kemp-pattern--access-map figure img{
	border-radius: 20px;
}
.kemp-pattern--access-map h3 {
    font-size: 30px;
    line-height: 36px;
    color: #162A00;
    font-weight: bold;
    margin: 0;
}
.kemp-pattern--access-map .wp-block-buttons{
    margin: 0 0 40px;
}
.kemp-pattern--access-map .wp-block-buttons:last-child{
	margin: 0;
}
.kemp-pattern--access-map a.wp-block-button__link{
	border-color: #85CC36;
	background: #fff;
}
.kemp-pattern--access-map a.wp-block-button__link:hover,
.kemp-pattern--access-map a.wp-block-button__link:focus-visible{
	background: #85CC36;
}
.kemp-pattern--local-trips,
.kemp-pattern--services-cyclists{
	background: #2F4A10;
	margin: 37px 0 20px;
	padding: 0;
	border-radius: 20px;
}
.kemp-pattern--local-trips .wp-block-columns,
.kemp-pattern--services-cyclists .wp-block-columns{
	gap: 0;
	margin: 0;
}
.kemp-pattern--local-trips figure,
.kemp-pattern--services-cyclists figure{
	margin: 0;
}
.kemp-pattern--local-trips figure a,
.kemp-pattern--services-cyclists figure a{
	display: block;
}
.kemp-pattern--local-trips img,
.kemp-pattern--services-cyclists img{
	mask-image: radial-gradient(circle at -16% 53%, black 94.7%, transparent 95%);
    -webkit-mask-image: radial-gradient(circle at -16% 53%, black 94.7%, transparent 95%);
}
.kemp-pattern--local-trips .wp-block-columns .wp-block-column:nth-child(2),
.kemp-pattern--services-cyclists .wp-block-columns .wp-block-column:nth-child(2){
	padding: 20px 40px 20px 45px;
	display: flex;
	align-items: center;
}
.kemp-pattern--local-trips h2,
.kemp-pattern--services-cyclists h2{
	color: #fff;
}
.kemp-pattern--local-trips .kemp-section-line,
.kemp-pattern--services-cyclists .kemp-section-line {
    margin: 17px 0 24px;
}
.kemp-pattern--local-trips p,
.kemp-pattern--services-cyclists p{
	color: #B0DA81;
}
.kemp-pattern--local-trips p strong,
.kemp-pattern--services-cyclists p strong{
	font-weight: 600;
	color: #fff;
}
.kemp-pattern--local-trips p a,
.kemp-pattern--services-cyclists p a{
	text-decoration: underline;
	color: #FBD75E;
}
.kemp-pattern--local-trips p a:hover,
.kemp-pattern--local-trips p a:focus-visible,
.kemp-pattern--services-cyclists p a:hover,
.kemp-pattern--services-cyclists p a:focus-visible{
	text-decoration: none;
}
.kemp-pattern--services-cyclists ul.wp-block-list li{
	color: #fff;
}
.kemp-pattern--services-cyclists ul.wp-block-list li:before{
    background: #509304;
}
.kemp-pattern--service-grid .kemp-section-line{
	margin: 16px 0 50px;
}
.kemp-pattern--service-grid .wp-block-columns{
	gap: 24px;
	margin: 0 0 63px;
}
.kemp-pattern--service-grid .wp-block-columns:last-child{
	margin: 0;
}
.kemp-pattern--service-grid figure{
    margin: 0 0 23px;
}
.kemp-pattern--service-grid figure img{
    border-radius: 20px;
}
.kemp-pattern--service-grid p a{
    color: #000;
	text-decoration: none;
	display: inline-block;
	padding-right: 18px;
	background: transparent url(images/arrow-right-black.svg) no-repeat right center;
}
.kemp-pattern--service-grid p a:hover,
.kemp-pattern--service-grid p a:focus-visible{
	color: #3F7700;
    text-decoration: underline;
}
.kemp-pattern--cta-reservation{
    padding: 10px 0 70px;
}
.kemp-pattern--cta-reservation .wp-block-buttons{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
body:not(.home) main:has(.entry-content > .wp-block-cover:first-child) > h1{
	display: none;
}
body:not(.home) .entry-content > .wp-block-cover:first-child{
	position: relative;
	height: 328px;
	overflow: visible;
	justify-content: flex-start;
	box-sizing: border-box;
	margin: 0 0 40px;
	min-height: 1px;
}
body:not(.home) .entry-content > .wp-block-cover:first-child > img.wp-block-cover__image-background{
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, 0%);
	object-fit: cover;
}
body:not(.home) .entry-content > .wp-block-cover:first-child > .wp-block-cover__background{
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, 0%);
	background-color: #151B0F !important;

	display: none;
}
body:not(.home) .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container{
	text-align: center;
}
body:not(.home) .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container h1{
	color: #fff;
	font-size: 48px;
	line-height: 58px;
	font-weight: bold;
	margin: 0;
	display: inline-block;
	position: relative;
	z-index: 1;
}
body:not(.home) .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container h1:before{
	content: "";
	display: block;
	width: calc(100% + 40px);
	height: calc(100% + 20px);
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	background: #000;
	opacity: 0.6;
	border-radius: 20px;
}
body:not(.home) .entry-content > .wp-block-cover.kemp-pattern--about-camp-hero:first-child,
body:not(.home) .entry-content > .wp-block-cover.kemp-pattern--entertainment-hero:first-child{
    margin: 0;
}
.kemp-pattern--about-camp-intro-strip,
.kemp-pattern--entertainment-intro-strip{
	padding: 50px 0 60px;
	margin: 0 auto 13px;
	position: relative;
	max-width: 860px;
}
.kemp-pattern--about-camp-intro-strip:before,
.kemp-pattern--entertainment-intro-strip:before{
	content: "";
	display: block;
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, 0%);
	z-index: -1;
	background: #EAF4E5;
}
.kemp-pattern--about-camp-intro-strip p,
.kemp-pattern--entertainment-intro-strip p{
	font-size: 17px;
	line-height: 28px;
	color: #224100;
}
.kemp-pattern--about-camp-types .wp-block-columns{
	gap: 24px;
	margin: 0;
}
.kemp-pattern--about-camp-types .wp-block-columns figure{
	margin: 0 0 20px;
}
.kemp-pattern--about-camp-types .wp-block-columns figure img,
.kemp-pattern--about-accommodation-details .wp-block-columns figure img{
	border-radius: 20px;
}
.kemp-pattern--about-camp-types .wp-block-columns h3,
.kemp-pattern--about-accommodation-details .wp-block-columns h3{
	color: #000;
}
.kemp-pattern--about-accommodation-details .wp-block-columns{
	gap: 24px;
	margin: 0 0 50px;
}
.kemp-pattern--about-accommodation-details .wp-block-columns:last-child{
	margin: 0;
}
.kemp-pattern--about-accommodation-details .wp-block-columns figure{
	margin: 0 0 27px;
}
.kemp-pattern--pricing-table-camp{
	max-width: 888px;
	margin: 0 auto;
}
.kemp-pattern--pricing-table-camp .wp-block-buttons{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	padding: 25px 0 30px;
}
.kemp-pattern--services-central-camp .wp-block-columns,
.kemp-pattern--services-aquapark .wp-block-columns,
.kemp-pattern--services-food .wp-block-columns{
	gap: 40px;
	margin: 0;
}
.kemp-pattern--services-central-camp .wp-block-columns img,
.kemp-pattern--services-aquapark .wp-block-columns img,
.kemp-pattern--services-food .wp-block-columns img{
	border-radius: 20px;
}
.kemp-pattern--services-aquapark .wp-block-group.is-content-justification-space-between{
    padding: 18px 28px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px;
	border: 1px solid rgba(211, 162, 0, 0.3);
	background: rgba(255, 218, 94, 0.2);
	border-radius: 20px;
    margin: 0 0 30px;
}
.kemp-pattern--services-aquapark .wp-block-group.is-content-justification-space-between > figure{
	width: 109px;
	margin: 0;
}
.kemp-pattern--services-aquapark .wp-block-group.is-content-justification-space-between > figure img{
	border-radius: 0;
}
.kemp-pattern--services-aquapark .wp-block-group.is-content-justification-space-between > .wp-block-group{
	width: calc(100% - 129px);
}
.kemp-pattern--services-aquapark .wp-block-group.is-content-justification-space-between h3{
	font-size: 16px;
	line-height: 25px;
	margin: 0 0 9px;
	color: #000;
}
figure.wp-block-gallery{
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	gap: 24px !important;
}
figure.wp-block-gallery > figure{
	width: calc(33.33% - 16px) !important;
	margin: 0;
	flex-grow: unset !important;
}
figure.wp-block-gallery img{
	border-radius: 20px;
}
.kemp-pattern--entertainment-season-columns .wp-block-columns{
	gap: 60px;
	margin: 0;
}
.kemp-pattern--entertainment-season-columns .wp-block-group.is-content-justification-space-between{
    padding: 29px 40px 29px 90px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px;
	border: 1px solid rgba(211, 162, 0, 0.3);
	background: rgba(255, 218, 94, 0.2);
	border-radius: 20px;
    margin: 0 0 30px;
	position: relative;
}
.kemp-pattern--entertainment-season-columns .wp-block-group.is-content-justification-space-between > figure{
	width: 141px;
	margin: 0;
}
.kemp-pattern--entertainment-season-columns .wp-block-group.is-content-justification-space-between > .wp-block-group{
	width: calc(100% - 161px);
}
.kemp-pattern--entertainment-season-columns .wp-block-group.is-content-justification-space-between h3{
	font-size: 16px;
	line-height: 25px;
	margin: 0 0 9px;
	color: #000;
}
.kemp-pattern--entertainment-season-columns .wp-block-group.is-content-justification-space-between p{
	margin: 0 0 9px;
}
.kemp-pattern--entertainment-season-columns .wp-block-group.is-content-justification-space-between p:last-child{
	margin: 0;
}
.kemp-pattern--entertainment-season-columns .wp-block-group.is-content-justification-space-between p:first-child{
	position: absolute;
	left: -60px;
	top: 0;
	font-size: 22px;
	color: #D3A200;
}
.kemp-pattern--entertainment-season-columns .wp-block-group.is-content-justification-space-between p a{
	color: #000;
}
.kemp-pattern--trips-tips-grid .wp-block-columns{
	margin: 0 0 34px;
	gap: 26px;
}
.kemp-pattern--trips-tips-grid .wp-block-columns:last-child{
	margin: 0;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column{
	display: flex;
	align-self: unset;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group{
    border: 1px solid #A4D78A;
	border-radius: 20px;
	padding: 30px;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	box-sizing: border-box;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group figure{
    width: 162px;
	margin: 0;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group figure img{
	border-radius: 20px;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group > .wp-block-group{
	width: calc(100% - 162px);
	box-sizing: border-box;
	padding-left: 35px;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group > .wp-block-group h3{
	margin-bottom: 17px;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group > .wp-block-group h3 a{
	color: #000;
	text-decoration: none;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group > .wp-block-group h3 a:hover,
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group > .wp-block-group h3 a:focus-visible{
	text-decoration: underline;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group > .wp-block-group p{
	margin-bottom: 17px;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group > .wp-block-group p:last-child{
	margin-bottom: 0;
}
.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group > .wp-block-group h3 + p strong{
	font-size: 20px;
	color: #509304;
	font-weight: bold;
}
.kemp-pattern--contact-content{
	max-width: 890px;
	margin: 0 auto;
}
.kemp-pattern--contact-content > .wp-block-group{
	margin-bottom: 100px;
}
.kemp-pattern--contact-content > .wp-block-group:last-child{
	margin-bottom: 60px;
}
.kemp-pattern--contact-content > .wp-block-group:first-child .wp-block-columns{
	margin: 0;
	padding: 24px 0 0;
	gap: 20px;
}
.kemp-pattern--contact-content > .wp-block-group:first-child figure{
	width: 64px;
	height: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 17px;
}
.kemp-pattern--contact-content > .wp-block-group:first-child p{
	font-size: 18px;
}
.kemp-pattern--contact-content > .wp-block-group:nth-child(2) figure{
	padding: 14px 0 0;
	margin: 0 0 40px;
}
.kemp-pattern--contact-content > .wp-block-group:nth-child(2) figure img{
	border-radius: 20px;
}
.kemp-pattern--contact-content > .wp-block-group:nth-child(2) .wp-block-columns{
	margin: 0;
	gap: 28px;
}
.kemp-pattern--contact-content > .wp-block-group:nth-child(2) a.wp-block-button__link {
    border-color: #85CC36;
    background: #fff;
}
.kemp-pattern--contact-content > .wp-block-group:nth-child(2) a.wp-block-button__link:hover, 
.kemp-pattern--contact-content > .wp-block-group:nth-child(2) a.wp-block-button__link:focus-visible {
    background: #85CC36;
}
.kemp-pattern--contact-content > .wp-block-group:nth-child(3) .kemp-section-line{
	margin-bottom: 44px;
}
.kemp-pattern--contact-content > .wp-block-group:nth-child(3) p{
	padding: 30px 40px;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
} 
.kemp-pattern--contact-content > .wp-block-group:nth-child(3) p:nth-child(odd){
	background: #EAF4E5;
}
.kemp-pattern--reservation-embed{
	padding: 10px 0 80px;
	max-width: 1250px;
	margin: 0 auto;
}
.kemp-pattern--reservation-embed h2{
	margin-bottom: 20px;
}
.kemp-pattern--reservation-embed > .wp-block-group{
	margin: 0 0 40px;
}
.kemp-pattern--reservation-embed iframe{
	width: 100%;
	min-height: 1875px;
	border: none;
}
.kemp-pattern--gallery-sections > .wp-block-group{
	margin-bottom: 80px;
}
.kemp-pattern--gallery-sections > .wp-block-group:last-child{
	margin-bottom: 0;
}
.kemp-pattern--gallery-sections > .wp-block-group .kemp-section-line{
	margin-bottom: 46px;
}
main:has(.text-oou){
	max-width: 840px;
	padding: 50px 20px !important;
}
/* footer */
footer{
	max-width: 1384px;
	box-sizing: border-box;
	padding: 0 20px;
	width: 100%;
	margin: 0 auto;
}
footer .vybaveni{
	position: relative;
	padding: 54px 0;
}
footer .vybaveni:before{
	content: "";
	display: block;
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, 0%);
	z-index: -1;
	background: #EAF4E5;
	border-bottom: 1px solid #A4D78A;
}
footer .vybaveni > div > p{
	font-size: 15px;
	line-height: 25px;
	font-weight: 500;
	margin: 0 0 32px;
	text-transform: uppercase;
	color: rgba(63, 119, 0, 0.5);
}
footer .vybaveni .wp-block-columns{
	gap: 30px;
	margin: 0;
}
footer .vybaveni .wp-block-column figure{
	height: 57px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
footer .vybaveni .wp-block-column p{
	color: #3F7700;
	font-size: 16px;
}
footer .region-footer{
	padding: 38px 0 0;
	margin: 0;
}
footer .region-footer hr{
    width: 100%;
	height: 1px;
	display: block;
	opacity: 0.5;
	border: none;
	margin: 0;
	background: #c8c8c8;
}
footer .region-footer .byline{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 0;
}
footer .region-footer .byline p{
	margin: 0;
	color: #585858;
}
footer .region-footer h4{
	font-size: 16px;
	line-height: 20px;
	color: #313131;
	font-weight: bold;
	margin: 0 0 13px;
}
footer .region-footer .wp-block-columns{
	padding-bottom: 50px;
	flex-wrap: wrap !important;
	justify-content: space-between;
    gap: 35px;
}
footer .region-footer .wp-block-columns > .wp-block-column{
	flex-grow: unset;
	flex-basis: unset;
	width: auto;
}
footer .region-footer .wp-block-columns .wp-block-column:first-child{
	padding: 13px 0 0 375px;
	position: relative;
}
footer .region-footer .wp-block-columns .wp-block-column:first-child figure{
	position: absolute;
	left: 0;
	top: 0;
}
footer .region-footer .wp-block-columns .wp-block-column:first-child p{
	color: #363535;
}
footer .region-footer .wp-block-columns .wp-block-column:first-child p a{
	padding-left: 25px;
	text-decoration: none;
	color: #363535;
}
footer .region-footer .wp-block-columns .wp-block-column:first-child p a:hover,
footer .region-footer .wp-block-columns .wp-block-column:first-child p a:focus-visible{
	text-decoration: underline;
}
footer .region-footer .wp-block-columns .wp-block-column:first-child p a[href*="tel:"]{
	background: transparent url(images/telefon.svg) no-repeat left center;
}
footer .wp-block-buttons{
	padding-top: 13px;
}
footer .wp-block-buttons a.wp-block-button__link:before{
	content: "";
	width: 26px;
	height: 26px;
	display: block;
    background: transparent url(images/ikona-button.svg) no-repeat center center;
}
footer .back-to-top{
	padding-top: 13px;
}
footer .back-to-top p a{
	width: 40px;
	height: 40px;
	display: block;
	font-size: 0;
	text-indent: -9999px;
	box-sizing: border-box;
	border: 2px solid #A4D78A;
	border-radius: 40px;
	background: transparent url(images/backtotop-arrow.svg) no-repeat center center;
}
footer .wp-block-column:has(ul.wp-block-navigation){
	padding-top: 13px;
}
footer nav.wp-block-navigation ul.wp-block-navigation{
	column-count: 2;
	column-gap: 20px;
	display: block;
}
footer ul.wp-block-navigation li{
    width: 100px;
}
footer ul.wp-block-navigation li a{
	display: block;
	text-decoration: none;
	font-size: 16px;
	line-height: 25px;
	font-weight: normal;
	color: #363535 !important;
}
footer ul.wp-block-navigation li a:hover,
footer ul.wp-block-navigation li a:focus-visible{
	color: #3F7700 !important;
	text-decoration: underline;
}
@media screen and (max-width: 1349px){
	header nav ul.wp-block-navigation {gap: 25px;}
	footer .region-footer .wp-block-columns .wp-block-column:first-child {padding: 13px 0 0 290px;}
}
@media screen and (max-width: 1199px){
	body:has(header.menu-open){overflow: clip;}
    header nav{display: none; position: absolute; left: -20px; top: 100%; background: #fff; width: calc(100% + 40px); height: calc(100vh - 135px);}
	header .wp-block-buttons {margin-left: 0px;}
	header .logo {z-index: 2;}
	header > .wp-block-group > .wp-block-group {position: relative;}
	header button.menu-toggle {display: block; border: none; background: transparent; padding: 0; border-radius: 0; position: absolute; right: 190px; top: 12px;}
	header button.menu-toggle span {display: block; margin: 53px 20px; width: 30px; font-size: 0px; text-indent: -9999px; height: 4px; background: #3F7700; position: relative; transition-duration: 0.3s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); border-radius: 0px;}
    header button.menu-toggle span:before {content: ""; display: block; width: 30px; height: 100%; position: absolute; top: -10px; right: 0px; background: #3F7700; transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in, background-color 0.15s ease; border-radius: 0px;}
    header button.menu-toggle span:after {content: ""; display: block; width: 30px; height: 100%; position: absolute; bottom: -10px; right: 0px; background: #3F7700; transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0.15s ease; border-radius: 0px;}
    header.menu-open button.menu-toggle span {transform: rotate(225deg); transition-delay: 0.14s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); width: 30px;}
    header.menu-open button.menu-toggle span:before {top: 0; opacity: 0; transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out, background-color 0.15s ease; width: 30px;}
    header.menu-open button.menu-toggle span:after {bottom: 0; transform: rotate(-90deg); transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.15s ease; width: 30px;}
    header.menu-open nav{display: block;}
	header nav ul.wp-block-navigation{padding-bottom: 50px; height: calc(100vh - 188px); box-sizing: border-box; display: block; overflow: auto;}
	header .wp-block-navigation .wp-block-navigation-item {display: block;}
	header nav ul.wp-block-navigation li a {text-align: center; padding: 8px 20px; box-sizing: border-box;}

	footer .region-footer .wp-block-columns .wp-block-column:first-child {padding: 13px 0 0 175px;}
	.kemp-pattern--local-trips .wp-block-columns .wp-block-column:first-child, .kemp-pattern--services-cyclists .wp-block-columns .wp-block-column:first-child{align-self: unset; border-radius: 20px 0 0 20px; overflow: clip;}
	.kemp-pattern--local-trips figure, .kemp-pattern--services-cyclists figure{height: 100%;}
	.kemp-pattern--local-trips figure a, .kemp-pattern--services-cyclists figure a{height: 100%;}
	.kemp-pattern--local-trips figure img, .kemp-pattern--services-cyclists figure img{height: 100%; width: 100%; object-fit: cover;}
}
@media screen and (max-width: 1023px){
    .kemp-pattern--hero-intro {height: 400px; min-height: 1px !important;}
	.kemp-pattern--local-trips .wp-block-columns .wp-block-column:first-child, .kemp-pattern--services-cyclists .wp-block-columns .wp-block-column:first-child {border-radius: 20px 20px 0 0;}
	.kemp-pattern--local-trips figure, .kemp-pattern--services-cyclists figure {width: calc(100% + 20px); margin-left: -20px;}
	.kemp-pattern--local-trips img, .kemp-pattern--services-cyclists img {mask-image: none; -webkit-mask-image: none;}
	.kemp-pattern--local-trips .wp-block-columns .wp-block-column:nth-child(2), .kemp-pattern--services-cyclists .wp-block-columns .wp-block-column:nth-child(2) {padding: 30px;}
	.kemp-pattern--service-grid .wp-block-columns {gap: 50px; margin: 0 0 50px;}
	footer .vybaveni > div > p{text-align: center;}
	footer .region-footer .wp-block-columns {flex-direction: column; align-items: center !important; padding-bottom: 0;}
	footer .region-footer .wp-block-columns > .wp-block-column {flex-basis: unset !important; align-self: unset;}
	.kemp-pattern--about-camp-types .wp-block-columns {gap: 50px;}
	.kemp-pattern--about-accommodation-details .wp-block-columns {gap: 50px;}
}
@media screen and (max-width: 767px){
    .kemp-pattern--hero-intro .wp-block-cover__inner-container h2, body:not(.home) .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container h1, h1{font-size: 34px; line-height: 44px;}
	footer .wp-block-navigation__responsive-container-open, footer .wp-block-navigation__responsive-container-close{display: none;}
	footer .wp-block-navigation__responsive-container {display: block; position: static;}
	body:not(.home) .entry-content > .wp-block-cover:first-child {height: 230px; min-height: 1px !important;}
	.wp-block-table table td:last-child {white-space: nowrap;}
	.wp-block-table table td {padding: 12px 15px;}
	footer .region-footer .byline {justify-content: center;}
}
@media screen and (max-width: 479px){
    header .wp-block-buttons{display: none;}
	header nav ul.wp-block-navigation li:has(a[href*="/rezervovat"]) {display: block;}
	header button.menu-toggle {right: 0;}
	.kemp-pattern--hero-intro .wp-block-cover__inner-container h2, body:not(.home) .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container h1, h1 {font-size: 30px; line-height: 40px;}
	h2 {font-size: 26px; line-height: 32px;}
	footer .region-footer .wp-block-columns .wp-block-column:first-child {padding: 13px 0 0 160px;}
	.kemp-pattern--services-aquapark .wp-block-group.is-content-justification-space-between > .wp-block-group {width: 100%;}
	figure.wp-block-gallery > figure {width: 100% !important;}
	.kemp-pattern--entertainment-season-columns .wp-block-group.is-content-justification-space-between > .wp-block-group {width: 100%;}
	.kemp-pattern--trips-tips-grid .wp-block-columns .wp-block-column > .wp-block-group > .wp-block-group {width: 100%; padding: 20px 0 0;}
	.kemp-pattern--contact-content > .wp-block-group:nth-child(3) p {padding: 30px 20px;}
}