.list li{
	overflow: hidden;
}

.list li .info{
	position: absolute;
	width: 100%;
	height: 100%;
	transform: none;
	top: initial;
	left: initial;
}

#loader-wrapper{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
}

#loader{
	display: block;
	position: relative;
	left: 50%;
	top: 50%;
	width: 150px;
	height: 150px;
	margin: -75px 0 0 -75px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #3498DB;
	
	-webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
	animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
	
	z-index: 1001;
}

#loader:before{
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	right: 5px;
	bottom: 5px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #E74C3C;
	
	-webkit-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
	animation: spin 3s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}

#loader:after{
	content: "";
	position: absolute;
	top: 15px;
	left: 15px;
	right: 15px;
	bottom: 15px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #F9C922;
	
	-webkit-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
	animation: spin 1.5s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}

@-webkit-keyframes spin{
	0%{
		-webkit-transform: rotate(0deg); /* Chrome, Opera 15+, Safari 3.1+ */
		-ms-transform: rotate(0deg); /* IE 9 */
		transform: rotate(0deg); /* Firefox 16+, IE 10+, Opera */
	}
	100%{
		-webkit-transform: rotate(360deg); /* Chrome, Opera 15+, Safari 3.1+ */
		-ms-transform: rotate(360deg); /* IE 9 */
		transform: rotate(360deg); /* Firefox 16+, IE 10+, Opera */
	}
}

@keyframes spin{
	0%{
		-webkit-transform: rotate(0deg); /* Chrome, Opera 15+, Safari 3.1+ */
		-ms-transform: rotate(0deg); /* IE 9 */
		transform: rotate(0deg); /* Firefox 16+, IE 10+, Opera */
	}
	100%{
		-webkit-transform: rotate(360deg); /* Chrome, Opera 15+, Safari 3.1+ */
		-ms-transform: rotate(360deg); /* IE 9 */
		transform: rotate(360deg); /* Firefox 16+, IE 10+, Opera */
	}
}

#loader-wrapper .loader-section{
	position: fixed;
	top: 0;
	width: 51%;
	height: 100%;
	background: #222;
	z-index: 1000;
	-webkit-transform: translateX(0); /* Chrome, Opera 15+, Safari 3.1+ */
	-ms-transform: translateX(0); /* IE 9 */
	transform: translateX(0); /* Firefox 16+, IE 10+, Opera */
}

#loader-wrapper .loader-section.section-left{
	left: 0;
}

#loader-wrapper .loader-section.section-right{
	right: 0;
}

/* Loaded */
.loaded #loader-wrapper .loader-section.section-left{
	-webkit-transform: translateX(-100%); /* Chrome, Opera 15+, Safari 3.1+ */
	-ms-transform: translateX(-100%); /* IE 9 */
	transform: translateX(-100%); /* Firefox 16+, IE 10+, Opera */
	
	-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
	transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader-wrapper .loader-section.section-right{
	-webkit-transform: translateX(100%); /* Chrome, Opera 15+, Safari 3.1+ */
	-ms-transform: translateX(100%); /* IE 9 */
	transform: translateX(100%); /* Firefox 16+, IE 10+, Opera */
	
	-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
	transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader{
	opacity: 0;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.loaded #loader-wrapper{
	visibility: hidden;
	
	-webkit-transform: translateY(-100%); /* Chrome, Opera 15+, Safari 3.1+ */
	-ms-transform: translateY(-100%); /* IE 9 */
	transform: translateY(-100%); /* Firefox 16+, IE 10+, Opera */
	
	-webkit-transition: all 0.3s 1s ease-out;
	transition: all 0.3s 1s ease-out;
}

/* JavaScript Turned Off */
.no-js #loader-wrapper{
	display: none;
}


.partner .contact .region,
.partner .contact .address,
.partner .contact .name{
	flex-basis: 100%;
	color: #FFF;
	font-family: "Nunito", sans-serif;
	font-size: 26px;
	text-align: center;
}

.partner .contact .name{
	font-size: 36px;
}

.partner .contact .name p, .partner .contact .address p{
	margin-block-start: .1em;
	margin-block-end: .1em;
}

.partner.submited .animate{
	animation: partnerSubmit 1200ms cubic-bezier(.41, .5, .02, 1) 1 forwards 800ms;
}

.partner .contact .info2{
	width: 100%;
}

.partner .contact .info2 p{
	color: #FFF;
	font-family: "Nunito", sans-serif;
}

.partner .contact .info2 .left{
	float: left;
	width: 45%;
}

.partner .contact .info2 .right{
	float: right;
	width: 45%;
}

.partner .contact{
	min-height: 170px;
}

header{
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0.5+0,0+100 */
	background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=0); /* IE6-9 */
}

.main-slider .slick-slide img{
	height: auto;
}

/* Reserve banner box height before images load AND before Slick wraps the
   slides — fixes homepage CLS (was 1.42). Banner design ratio 1920x670. */
.main-slider .item picture{
	display: block;
}

.main-slider .item img.respo{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1920 / 670;
	object-fit: cover;
}

/* Until Slick initializes, show only the first slide so the stacked
   full-width banners don't collapse on init. */
.main-slider:not(.slick-initialized) .item + .item{
	display: none;
}

/* Slider now uses a single <img srcset/sizes>; the browser picks the
   right resolution, so the old w-1920/w-1024/w-425 display toggles are gone. */

.partner .contact{
	max-width: 600px;
}

.partner .info2{
	max-width: 440px;
	margin: 0 auto;;
}

.map .canvas .canvas-map .point .inner h2{
	margin-bottom: 5px;
}


@media screen and (max-width: 425px){
	.partner .contact .info2 .left,
	.partner .contact .info2 .right{
		float: none;
		width: 100%;
	}
}
/* Menu (header) logo -10% (client request 2026-07) */
header .logo { max-width: 155px; }
header .logo-group { width: 155px; height: 53px; }

/* Visually-hidden H1 for homepage heading hierarchy (SEO, client request 2026-07) */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Partner form: input + button side by side (client request 2026-07) */
.partner .search form {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 14px;
}
.partner .search .input-text {
	margin-right: 0;
	width: auto;
	flex: 1 1 auto;
	min-width: 0;
}
.partner .search .button {
	width: auto;
	flex: 0 0 auto;
	white-space: nowrap;
}

/* Bee gallery block (client request 2026-07) */
/* There is no global body font — every block sets its own, so the CKEditor text
   here fell back to the browser default. Mirrors `.map .description`. */
.block.bees .bees-text {
	max-width: 720px;
	margin: 0 auto 32px;
	font-family: "Raleway", sans-serif;
	font-size: 18px;
	line-height: 28px;
	color: #79796A;
}
.block.bees .bees-text p {
	margin: 0 0 12px;
}
.block.bees .bees-text p:last-child {
	margin-bottom: 0;
}
.block.bees .bees-text strong,
.block.bees .bees-text b {
	font-weight: 700;
	color: #1A2C59;
}
.block.bees .bees-text a {
	color: #1A2C59;
	text-decoration: underline;
}
.block.bees .bees-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 14px;
}
.block.bees .bees-photo {
	display: block;
	overflow: hidden;
	border-radius: 4px;
}
.block.bees .bees-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}
.block.bees .bees-photo:hover img {
	transform: scale(1.05);
}

/* Pictograms (.boxes) migrated from Owl to Slick: the legacy `.boxes{display:flex}`
   makes Slick's list shrink-wrap, so force a block root once Slick initializes —
   the list then fills the width and slides size to 100%/6 as before. */
.boxes.slick-slider {
	display: block;
}
