/*
Theme Name: Mondo Redux
Version: 2026
Description: Merged theme serving mondo.org.ee / surmväsinud.ee (WPML + WooCommerce) and maailmakool.ee / kliimakool (Polylang + mk_store). CSS stack: css/app.css is the shared base for both flavors; per flavor only the style file differs (style.css for mk — this file, style-mondo.css for mondo), each carrying its site's design plus a small flavor-differences section at the top. The site header and footer are unified across flavors: markup in header.php/footer.php, all their CSS in css/header.css (sticky bar, overlay search, flex menu row) and css/footer.css (mk look); the per-flavor files contain no header/footer rules.
License: GNU General Public License
License URI: license.txt
Author: it@mondo.org.ee, Taavi Kybar Webdesign taavikybar.com
*/

/* ===== MK flavor differences vs the shared css/app.css base =========== */
/* mk also underlines links in article lists and unstyled tables */
article li a, table:not([class]) a { border-bottom: 1px solid #000; padding-bottom: 0px; }
article li a:hover, table:not([class]) a:hover { border-bottom: 1px groove #000; }
/* tighter generic menu links on narrow desktops */
@media (max-width: 1280px) {
	.menu > li > a { display: block; padding: 0.7rem 0.5rem; line-height: 1; }
}
@media (max-width: 1111px) {
	.menu > li > a { display: block; padding: 0.7rem 0; line-height: 1; }
}

/* Custom overrides */
a.noborder{border:0 !important;}
a.noborder:hover img{opacity:0.8;}
h2 a{padding-bottom:0px;}
h2{margin-top:0;}
select,[type="text"], [type="password"], [type="date"], [type="datetime"], [type="datetime-local"], [type="month"], [type="week"], [type="email"], [type="number"], [type="search"], [type="tel"], [type="time"], [type="url"], [type="color"], textarea{color:#000;}
/* a11y contrast: #999 on white is ~2.85:1 — below WCAG AA (4.5:1). Darken the
   muted grey used for secondary text (post/search dates, subheaders, cite,
   blockquotes) to #6f6f6f (~5:1). Covers both .date and .news .date since the
   deployed CSS scopes the date either way. */
.date, .news .date, .subheader, cite, blockquote, blockquote p { color: #6f6f6f; }
tbody,table,tfoot,thead{background:transparent;border:0;}
a[rel*='attachment']{text-decoration:none !important;border:0 !important;}
h2{margin-bottom:15px;}
label,.wpcf7-form p{font-size:14px;line-height:22px;}
.label{background:transparent;}
.column:last-child:not(:first-child), .columns:last-child:not(:first-child){float:left;}
.site-content .vc_column_container > .vc_column-inner{padding-bottom:35px;}
.site-content .vc_column_container.person-text > .vc_column-inner{padding-bottom:0px;padding-top:5px !important;}
.attachment-portrait{width:auto;height:400px !important;max-width:none !important;}
@media(max-width:500px){
	.attachment-portrait{width:100% !important;height:auto !important;}
}
@media(min-width:900px) and (max-width:1380px){
	.three-up h3 .button{font-size:20px !important;}
}
.wpb_single_image figure,.wpb_single_image figure>div{width:100%;}
.button,.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,.wpb_text_column .button:last-child,.wpcf7-submit{display:inline-block;text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;transition:all .25s ease-out;vertical-align:middle;border:1px solid transparent;border-radius:0;padding:.85em 1em;margin:0 0rem 1rem 0;font-size:.9rem;background:#F2AF1D;color:#000 !important;font-weight:400;}
.wpb_text_column h3 .button:last-child{display:block;padding:.85em 8px;}
.button a{border:0;display:block;}
.button a:hover{padding:0;}
.button.fullwidth{width:100%;}
.button.cancel{background:#F88388 !important;}
.button.cancel:hover{background:#E9444B !important;}
.button.alt{background:#F2AF1D !important;}
.button.alt:hover,.button.alt:focus{background:#da990d !important;}
.button:hover,.button:focus,.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,.wpb_text_column .button:last-child:hover,.wpcf7-submit:hover{background:#da990d;color:#000}
h1 .button,h2 .button,h3 .button,h4 .button,h5 .button,h6 .button{font-size:inherit !important;line-height:inherit !important;}
.green{background:#049548;}
.red{background:#EB1C24;}
.yellow{background:#F2AF1C;}
.purple{background:#7F4399;}
.blue{background:#2B71B7;}
.white{background:white;}
.grey { background:lightgray !important; }
.black { background: #000; }
.pink { background-color: #f7c7d6; }
.darkblue { background-color: rgb(0, 0, 104); }
.lightgreen { background-color: #5ed4ba; }
.darkgreen { background-color: #165959; }
.lightyellow { background-color: #fcdb4f; }

/* Header: css/header.css (both flavors). */
mark{background:none;color:#000;font-weight:800;}
.mc4wp-form-fields .button{float:right;}
.slider{height:auto;}
.slider .item .row{padding:0 0 12px 0;}
.entry-content{max-width:87.5rem;margin:0 auto;padding:0 15px;}
.wpb_wrapper>.entry-content{padding:0;}
.site-content .wpb_column-inner,.site-content .vc_column_container>.vc_column-inner,.site-content .vc_row-has-fill > .vc_column_container > .vc_column-inner,.site-content .vc_row-has-fill + .vc_row > .vc_column_container > .vc_column-inner{padding-left:2.1875rem;padding-right:2.1875rem;padding-top:35px;}
.sector .vc_column-inner {padding:25px 0 15px 0 !important;}
.wpb_content_element:last-child{margin-bottom:0px;}
.regions .vc_column-inner,.vc_row.slideshow-row .vc_column-inner{padding:0 !important;}
.regions .regions-text{top:50px; width: 500px;}
.sectors .sector{padding-bottom:0;}
.news{padding-bottom:0;}
.sub-menu{margin-top:0;}
.sub-menu ul{margin-left:-100px;}
.sub-menu-center {margin-top:0;}
.sub-menu-center ul{margin-left:-100px;}
.segment-intro:not(:first-child) .vc_column-inner,.inside .vc_column-inner {padding-top:0 !important;}
.other-projects h2{margin-bottom:0.7em;}
.site-content .intro{padding-bottom:0;}
.nopaddingbtm{padding-bottom:0 !important;}
.projects .project{padding-top:1em;padding-bottom:0;}
.other-projects{padding-bottom:0;}
.project .button,.project h4{margin-bottom:0;}
.site-content .intro{/*padding-bottom:1rem;*/position:relative;/*z-index:10*/;padding-top:0;}
.site-content .relative{position:relative; z-index: 2;}
.sector a{display:block;}
.sector .wpb_content_element{margin-bottom:0px;}
.actions .menu>li>a{padding:0;text-transform:uppercase;display:inline-block;}

.slider {margin:0;}
a.button:hover{padding-bottom:0.85em;text-decoration:none;border:1px solid transparent;}

.slider .item .button{ position:absolute; }
.slider h1{margin-bottom:0;font-size:50px;line-height:51px;}
.slider_row {
	bottom: -70px !important;
	z-index: 1;
	margin-top: -110px !important;
	margin-bottom: 0;
	max-width: 1440px !important;
}
/* CLS fix: bottom:-70px above only takes effect once the row is positioned,
   which normally first happens when WPBakery's stretch JS sets
   position:relative inline — visually dropping the row 70px after first
   paint. Position stretched rows from the start so they paint in their final
   place. Only [data-vc-full-width] rows: non-stretched slider rows never get
   positioned by JS, so the -70px must stay dormant there. */
.slider_row[data-vc-full-width] {
	position: relative;
}
/* CLS fix (horizontal): these rows carry WPBakery's data-vc-full-width, so its
   deferred stretch JS sets them inline to width:100vw at a negative offset on
   init — until that runs (later, on a slow connection) the row sits at the
   centred container width while the slide image is already 100vw, so the hero
   paints shifted right and snaps over on init. Cap the hero at 1440px centred
   in the viewport and override the JS's inline left/width/max-width with
   !important, so its position is identical before and after init — no jump.
   Desktop only; the mobile breakout uses the .slideshow margins further down.
   .site-content clips the up-to-scrollbar-width that min(100vw,…) overshoots on
   1025–1455px viewports (the JS uses clientWidth, which excludes the scrollbar). */
.site-content { overflow-x: clip; }
@media(min-width: 1025px) {
	.slider_row[data-vc-full-width] {
		left: 50% !important;
		transform: translateX(-50%);
		width: min(100vw, 1440px) !important;
		max-width: 1440px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

.royalSlider a[href=""] {
	display: none;
}

.rsSlideRoot img {
	height: 507.5px;
	width: 100vw;
	object-fit: cover;
}

/* CLS fix: before RoyalSlider initializes, the stacked (hidden) slides give
   the hero no defined height, so all content below jumps when the slider
   collapses to one slide. The clamp releases itself once the slider has built
   its .rsOverflow wrapper. min-height stays on permanently: for a frame right
   after init the slider is sized by autoScaleSlider only (image height,
   no caption) and everything below would jump up and back.
   !important is needed to beat the inline height:100% on the container. */
.slider_row .royalSlider {
	min-height: 507.5px;
}
.slider_row .royalSlider:not(:has(.rsOverflow)) {
	height: auto !important;
	overflow: hidden;
}
/* pre-init, only the first slide sizes the container: its natural height
   (image + caption flow) is exactly what the slider's autoHeight will
   compute, so nothing moves on init — also on mobile, where the caption
   text flows below the image */
.slider_row .royalSlider:not(:has(.rsOverflow)) .rsSlideRoot:not(:first-child) {
	display: none;
}
/* LCP fix: royalslider.css keeps slides visibility:hidden until the slider JS
   has initialized, postponing the hero's first paint (= the LCP) until after
   all deferred scripts. The placeholder above already renders the first slide
   in its final geometry — show it immediately. */
.slider_row .royalSlider:not(:has(.rsOverflow)) .rsSlideRoot:first-child {
	visibility: visible;
}

.slide_text {
	display: block;
	width: 475px !important;
	padding-bottom: 0 !important;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 120px;
}

@media(min-width: 1441px) {
	.slider_row:not([data-vc-full-width]) {
		left: -20px !important;
	}
}
@media(max-width: 1440px) {
	.shop .rsSlideRoot img {
		height: 100%;
	}
}
@media(max-width: 1024px) {
	.slider .item .button {
		position: static;
		margin-bottom: 0;
	}
	.slider_row {
		margin-top: 0 !important;
		bottom: 0 !important;
		margin-bottom: 30px !important;
	}
	.slider_row .royalSlider {
		/* matches the current hero banner ratio (2880×1015) — adjust if a
		   banner with a different aspect ratio is uploaded */
		min-height: calc(100vw * 1015 / 2880);
	}
	.rsSlideRoot img {
		display: block;
		height: 100%;
		width: 100vw;
		/* slides 2+ are loading="lazy": reserve the image's height even while
		   it has not loaded yet, so the carousel doesn't shift mid-rotation */
		aspect-ratio: 2880 / 1015;
	}
	.slide_text {
		position: static;
		width: 100% !important;
		-webkit-transform: unset;
		-ms-transform: unset;
		transform: unset;
	}
}

/* CLS fix: header.php loads js_composer.min.css async (media="print" swap),
   so layout rules that exist only there apply late and shift the page once
   the file lands. Inline the layout-critical ones here so they apply from the
   first paint: the 1/5-grid column widths and the 35px padding of filled
   rows. Copied from js_composer.min.css. */
.vc_col-sm-1\/5,.vc_col-sm-2\/5,.vc_col-sm-3\/5,.vc_col-sm-4\/5,.vc_col-sm-5\/5{box-sizing:border-box;min-height:1px;padding-left:15px;padding-right:15px;position:relative}
@media (min-width: 768px) {
	.vc_col-sm-1\/5,.vc_col-sm-2\/5,.vc_col-sm-3\/5,.vc_col-sm-4\/5,.vc_col-sm-5\/5{float:left}
	.vc_col-sm-5\/5{width:100%}
	.vc_col-sm-4\/5{width:80%}
	.vc_col-sm-3\/5{width:60%}
	.vc_col-sm-2\/5{width:40%}
	.vc_col-sm-1\/5{width:20%}
}
.vc_col-has-fill>.vc_column-inner,.vc_row-has-fill+.vc_row-full-width+.vc_row>.vc_column_container>.vc_column-inner,.vc_row-has-fill+.vc_row>.vc_column_container>.vc_column-inner,.vc_row-has-fill>.vc_column_container>.vc_column-inner{padding-top:35px}

.news a.button:hover{color:#000;}
.news .button {margin:20px 0 0 0;}
.side-news h2{font-size:30px;}
.news .columns{margin-bottom:0;}
.site-content .regions .wpb_column{padding:0}
.fact-slider .fact h4:last-child, .three-facts-slider .fact h4:last-child{margin-bottom:0;}
#regions_wrap{position:relative;-ms-transform: scale(2);-webkit-transform: scale(2);transform: scale(2);top:-100px;height:450px;overflow:hidden;}
.section-head a.button {float: right;display: block;margin: 0px;}
.section-head h2{margin-bottom:0.7em;margin-top:0;}
.sub-menu .menu > li > a {padding: 0 0 1px 0;}
.sub-menu .menu > li > a:hover {padding:0;}
.sub-menu-center .menu > li > a {padding: 0 0 1px 0;}
.sub-menu-center .menu > li > a:hover {padding:0;}
.menu.main .sub-menu li{margin:0;}
.featured-image.wpb_single_image .vc_figure{display:block;}
.sidebar .menu>li{display:block;}
.sidebar .menu>li>a{display:inline-block;padding:0 0 1px 0;}
.three-facts-slider{padding:0px;}
.wpb_text_column p {margin-top: 0; margin-left: 0; margin-right: 0; min-height:29px; }
.hidden{display:none !important;}
#chart-area{width:100%;height:auto;}
#map{height:500px !important;}
.news-page .news .button,.search_results .news .button {position: relative;bottom: 0px;}
.post_content_wrap{margin-top:60px;}
.featured-image{margin-bottom:0;}
.post_content *{font-family:"Raleway Mondo Regular",Helvetica,Roboto,Arial,sans-serif !important;}
.post_content .alignright{float: right;margin: 0.5em 0 0.5em 1em;}
.post_content .alignleft{float: left;margin: 0.5em 1em 0.5em 0;}
.post_content .aligncenter{display:block;margin:15px auto;}
.post_content .alignright img,.text .alignleft img,.text .aligncenter img{margin:0;}
.vc_row{background:#fff; margin:30px -15px; }
.sitemap_menu{margin:30px 0 0 30px;}
.sitemap_menu .sub-menu{text-align:left;list-style:disc;margin-top:0 !important;}
.sitemap_menu .sub-menu li{display:block;text-align:left;text-transform:none;}
.sitemap_menu .green,.sitemap_menu .yellow,.sitemap_menu .red,.sitemap_menu .blue,.sitemap_menu .purple{background:none;}
.entry-content .inner{padding:0em 5em 1px 0em;}
.entry-content .three-up .inner{padding-right:0;}
.sitemap_menu .menu>li{display:list-item;}
.sitemap_menu .menu > li > a{display:inline;padding:0px 0px 1px 0px;}
.sitemap_menu .menu{list-style-type: disc;margin-left: 1.25rem;}
.rsSlide:nth-child(2n) .purple{background:#009548;}
.rsSlide:nth-child(3n) .purple{background:#2B71B7;}
.inner .button{margin-right:0;}
.query{color:#DA990D;}
.project .columns{text-align:center;}
.project .columns:first-child{padding-left:0;text-align:left;margin-bottom:1.5em;}
.project .columns:last-child{text-align:right;padding-right:0;}
.project:last-child .columns:first-child{margin-bottom:0em;}
.donate_amount,.donate_id,.donate_shop_id,.donate_fond{display:none !important;}
.donate_wrap input,.donate_wrap .button{max-width:300px;display:inline-block;vertical-align:middle;margin-right:5px;min-width:200px;margin-top:0;}
.donate_wrap{text-align:center;max-width:630px;margin:0 auto;}
.donate_wrap label.error{display: none !important}
.donate_wrap input.error{border-color:#f00;}
.wpcf7-form{max-width:500px;margin:0 auto;}
.wpcf7-radio {margin-top:10px;display:block;}
.wpcf7-radio span.wpcf7-list-item{margin:0;}
.wpcf7-radio br{display:none;}
.wpcf7-submit{width:100%;}
.wpcf7-textarea{height:180px;resize:none;}
.wpcf7-form input[type='radio']{margin-right:5px;}
div.wpcf7-response-output{margin:10px 0;}
.wpb_text_column .wpcf7-form p{margin-bottom:10px;}
.donate_wrap input[type="checkbox"]{min-width:0;margin:-2px 10px 0 0 !important;display:inline-block !important;width:auto !important;}
.donate_wrap .donate_free{width:100%;}
.woocommerce form.checkout_coupon{border: 0;padding: 0;}
.woocommerce form.checkout_coupon .form-row{display: inline-block;vertical-align: top;float: none;width: auto;}
@media screen and (max-width: 63.9375em) {
	.center-align{margin-left: auto !important;margin-right:auto !important;}
}
@media screen and (max-width:930px){
	.full_links .column,.full_links .columns{width:100% !important;}
	.sector{padding:20px 0 !important;}
	.sector>.vc_column-inner {padding:0 !important;}
}
@media screen and (max-width:1050px){
	h2{font-size:1.7rem;}
	.projects .project{padding:3em 0;}
}
@media screen and (max-width:420px){
	#chart-area{width:100% !important;height:auto !important;}
	.wpb_single_image .vc_figure{display:block !important;}
}
@media(max-width:500px){
	.slider h1{font-size:32px;line-height:34px;}
}
@media screen and (max-width:900px) and (min-width:640px){
	.sidebar ul{font-size:1em}
}
@media(max-width:900px){
	.small-12{width:100% !important;}
	.inner{height:auto !important;}
	.charity .three-up .fact-slider .fact{margin-top:15px !important;}
	.news .columns{margin-bottom:35px;}
	.columns,.column{padding:0}
	.slider .columns{padding:30px 2.1875rem 35px 2.1875rem;}
	.other-projects .project,.project{margin-bottom:35px;}
	.project>div{float:none !important;width:100%;text-align:left !important;margin-bottom:10px !important;}
	.post_content_wrap,.archive .vc_row.block,.news_widgets{padding-left:2.1875rem !important;padding-right:2.1875rem !important;}
	.sidebar{margin-top:35px;}
	.entry-content .inner{padding-right:0;}
}
@media(min-width:901px){
	.nopaddingleft{padding-left:0;}
	.nopaddingright{padding-right:0;}
}
@media screen and (max-width:767px){
	.sidebar{clear:both;}
	.wpb_column>.vc_column-inner,.inside .wpb_column:first-child>.vc_column-inner,.segment-intro .wpb_column:first-child>.vc_column-inner,.regions .wpb_column:first-child>.vc_column-inner{padding-top:0; }
	.wpb_column:first-child>.vc_column-inner,.wpb_column.vc_col-sm-12>.vc_column-inner{padding-top:35px !important;}
	.wpb_column.sector > .vc_column-inner{padding:0; padding-top:5px; }
	.projects .project{padding:0;}
	.wpb_single_image.vc_align_right{text-align:left !important;}
	.wpb_content_element p,.wpb_content_element h3{text-align:left !important;}
	.section-head a.button{float:none;display:inline-block;}
	.sub-menu{text-align:left;}
	.sub-menu li{margin-left:0;}
	.sub-menu-center { text-align: center; }
	.sub-menu-center li{margin-left:0;}
	.slideshow {margin-top: -35px !important; }
}
@media(max-width:1100px){
	.sub-menu ul{margin-left:0px;}
	.sub-menu-center ul{margin-left:0px;}
}
@media(max-width:350px){
	.site-content .wpb_column{padding:0 1rem;}
	.site-content .wpb_column .wpb_column{padding:0;}
	.vc_column-inner,.nopaddingbtm .row:first-child {padding-left:0 !important;padding-right:0 !important;}
	.slideshow{margin-left:-1rem;margin-right:-1rem;}
	.slider .columns{width:90%;margin-left:5%;}
	.post_content_wrap,.archive .vc_row.block,.news_widgets{padding-left:1rem !important;padding-right:1rem !important;}
}
@media(max-width:1369px){
	.donate_wrap .button,.donate_wrap input{width:100%;display:block;margin:0 auto 1rem auto;}
}
.fa-times-search.visible{display:block;}
.shop-items .item .hover-buttons{left:0;width:100%;}
.aligncenter{clear:both;display:block;margin:1rem auto;}
.text_block{padding-bottom:30px;max-width:1080px;margin:0 auto;}
.sharing_wrap{text-align:center;padding-bottom:30px;padding-top:30px;}
.sharing_wrap h2{font-size:30px;}
.news-page h1{padding-top:0;}
.news_widgets{padding:35px 0;}
.archive .vc_row::before,.archive .vc_row::after{content:'';display:table;}
.archive .vc_row::after{clear:both;}
.columns{position:relative;min-height:1px;}
.sharing_single_wrap{padding:30px 0;}
.sharing_single_wrap h2{font-size:16px;font-weight:800;}
.view_all_row{margin-top:0;}
.view_all_row a.button{margin:0;width:100%;}
.pagi .prev{margin-right:10px;}
.pagi .next{margin-left:10px;}
.pagi .current{font-weight:800;color:#ccc;}
.regions iframe{width:100%;border:1px solid #fff;}
.archive .vc_row.block{padding-top:35px;padding-bottom:35px;}

/* Diaries */
.diary{display:inline-block;vertical-align:top;max-width:260px;margin:0 10px 20px 0;width:100%;}
.diary img,.diary_small img{width:100%;-webkit-filter:grayscale(1);filter:grayscale(1);}
.diary a:hover img,.diary_small a:hover img{-webkit-filter:grayscale(0);filter:grayscale(0);}
.diary_small{max-width:200px;width:100%;display:inline-block;vertical-align:top;}
.diary_img_wrap{width:260px;height:260px;overflow:hidden;}
.small_diary_img_wrap{width:200px;height:200px;overflow:hidden;margin:0;}
.blogs .blog-portrait{float:none !important;}
@media screen and (max-width:350px){
	.blogs_small{margin-left:-1rem;margin-right:-1rem;}
	.diary_small,.diary{max-width:none;}
	.small_diary_img_wrap,.diary_img_wrap{width:100%;height:auto;}
}
@media(max-width:1050px){
	.blogs{margin-top:15px;}
	.nopaddingbtm .row:first-child .small-6:first-child{padding-top:6px;}
}
@media(max-width:900px){
	.nopaddingbtm .row:first-child{padding-left:2.1875rem;padding-right:2.1875rem;}
}
@media(max-width:800px){
	.blogs{text-align:center;}
}
@media (max-width: 540px) {
	.nopaddingbtm .row:first-child .button{display:inline-block;float:none;}
}

/* Mailchimp */
.e-mail{padding:0;}
.e-mail input{box-shadow:none;}
.mc4wp-form-fields>.e-mail,.mc4wp-form-fields>input{display:inline-block;vertical-align:top;width:50%;}
.newsletter .button{margin-right: 0px;margin-left: 0px;height: 39px;}

/* Partners */
.partner{margin-left:0 !important;margin-right:0 !important;}
.partner > img { margin-bottom: 2rem; }

/* Flex slider */
.site-content .flexslider{border-radius:0;box-shadow:none;border:0;overflow:hidden;padding-bottom:30px;}
.site-content .flex-direction-nav a::before {font-family:'FontAwesome';font-size: 60px;display: inline-block;content: '\f104';}
.site-content .flex-direction-nav a{text-shadow:none;height:60px;margin-top:-30px;}
.site-content .flex-direction-nav a.flex-next::before{content:'\f105';}
.site-content .wpb_gallery .wpb_flexslider .flex-control-paging{top:auto;bottom:-10px;}
.site-content .flex-control-paging li a{background:#ccc;box-shadow:none;width:9px; height:9px;}
.site-content .flex-control-paging li a.flex-active{background:#888;}
.flex_caption{text-align: center;font-weight: 600;}

/* Footer: css/footer.css (both flavors). */

/* Woocommerce */
.woocommerce div.product p.price, .woocommerce div.product span.price{color:inherit;font-size:inherit;}
.shop-items .item .hover-buttons a{ width: 50%;border: 1px solid #000;background: #FFF none repeat scroll 0% 0%;z-index: 10000;padding:0.85em 1em;border-radius:0;margin:0px 0 1rem 0px;font-size:0.9rem;text-transform:uppercase;font-weight:400;float:none;clear:both;display:inline-block;}
.shop-items .item .hover-buttons .product_type_variable{display:none;}
.shop-items .item .hover-buttons a:hover{text-decoration:underline;}
.shop-items .item .loop_title{margin-top:10px;}
/* sold-out tiles (content-product.php adds .mon-soldout) are not listed on phones */
@media screen and (max-width: 39.9375em){.shop-items .item.mon-soldout{display:none;}}
.wc .woocommerce-breadcrumb,.wc .tabs{display:none;}
/* product header row: no right padding on the title column, so long titles get the room; from 768px, where
   the title and the sub-menu sit side by side (on phones the full-width column keeps it) */
@media screen and (min-width: 768px){.single-product .wpb-content-wrapper > .vc_row:first-child:has(.sub-menu) > .vc_col-sm-4:first-child > .vc_column-inner{padding-right:0;}}
/* an empty column in a page's first row (e.g. a 1/2 + 1/2 header with nothing on the right, country pages) still
   takes its 35px padding once the columns stack on phones; hide it. Columns with their own css (vc_col-has-fill,
   e.g. a background-image column) are not empty in that sense and stay */
@media screen and (max-width: 767px){.site-content .wpb-content-wrapper > .vc_row:first-child > .wpb_column:not(.vc_col-has-fill):has(> .vc_column-inner > .wpb_wrapper:empty){display:none;}}
/* the country pages' intro column (WPBakery class vc_custom_1450207036045, shared by 7 pages) has padding-right:150px
   for desktop; on phones that leaves the text 190px of a 375px screen, so it gets the theme's normal side padding */
@media screen and (max-width: 767px){.site-content .vc_column_container > .vc_column-inner.vc_custom_1450207036045{padding-right:2.1875rem !important;}}
/* a text widget whose content starts with a line break gets an empty <p></p> from wpautop; its 16px margin pushes the
   text down (e.g. the intro on /programmid/). An empty paragraph never carries content */
.site-content .textwidget > p:empty{display:none;}
.single-product .person .vc_column-inner{min-height:300px;}
.single-product .person-text>.wpb_wrapper {
    display: table-cell;
    vertical-align: middle;
    padding: 1em 0px;
}
.row .row.shop-items{margin:0;}
.related.products .no_padding{padding:0 !important;}
.related.products .no_padding .vc_column-inner{padding-top:0;}
.shop-menu>.widget_nav_menu{display:inline-block;vertical-align:middle;}
@media(max-width:767px){
	.shop-menu>.widget_nav_menu{margin-right:20px;}
	.sub-menu .fa{margin:0;}
	.sub-menu-center .fa{margin:0;}
}
.cart-icon{display:inline-block;vertical-align:middle;}
.cart-icon:hover{opacity:0.6;border:0;padding-bottom:1px;}
.shop .page-description > .vc_row.sharing_row{padding-top:0;}
.shop .page-description>.vc_row.slideshow-row{padding-top:0;margin-top:-35px}
.shop .slideshow-column{padding:0;float:none;}

/* =========================================================================
   CLS — .slideshow-row: custom-sized RoyalSlider banners (e.g. /shop/)
   Unlike the .slider_row hero, a fixed 2880x1015 box, this row carries
   arbitrary banner sizes. RoyalSlider only resizes the
   inner .royalSlider, never the .slideshow wrapper — so locking the wrapper to
   the banner's REAL aspect-ratio fixes the row height from first paint through
   slider init (content below never shifts) and matches the banner exactly (no
   letterbox / no predefined-size whitespace). The ratio is the first slide's
   real width/height (--mondo-slide-ratio, emitted by mon_slider.php); the 3.5
   fallback ≈ a 400px-tall banner at full content width. Scoped to .slideshow-row
   so .slider_row is untouched.

   DESKTOP ONLY (>=1025px), where .slide_text is an absolute overlay that adds no
   height. On mobile the caption stacks in-flow below the banner; reserving only
   the image height would let the row collapse when RoyalSlider absolutely-positions
   the slide at init (the caption stops reserving space), shifting content below by
   the caption height (~0.2 CLS). Mobile: see the in-flow rules further down. */
@media (min-width: 1025px) {
	.slideshow-row .slideshow { aspect-ratio: var(--mondo-slide-ratio, 3.5); }
	.slideshow-row .royalSlider { height: 100%; }
	.slideshow-row .royalSlider .rsSlideRoot img {
		width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto;
	}
	/* Pre-init (before RoyalSlider builds .rsOverflow): show only the first slide,
	   filling the reserved box, so the placeholder == the initialised slider and
	   the banner paints immediately (LCP) with no jump. */
	.slideshow-row .royalSlider:not(:has(.rsOverflow)) { height: 100%; overflow: hidden; }
	.slideshow-row .royalSlider:not(:has(.rsOverflow)) .rsSlideRoot,
	.slideshow-row .royalSlider:not(:has(.rsOverflow)) .rsSlide { height: 100%; }
	.slideshow-row .royalSlider:not(:has(.rsOverflow)) .rsSlideRoot:not(:first-child) { display: none; }
	.slideshow-row .royalSlider:not(:has(.rsOverflow)) .rsSlideRoot:first-child { visibility: visible; }
}
/* Mobile (<=1024px): the caption (.slide_text) stacks in-flow below the banner,
   so the desktop fixed-ratio box can't be reused (it would clip the caption).
   RoyalSlider absolutely-positions .rsSlide, so the slider chain has no height of
   its own — on desktop .slideshow's aspect-ratio supplied it, but here we instead
   force .rsSlide back into normal flow so the whole chain auto-sizes to the real
   slide content (image + stacked caption). That height is identical before
   RoyalSlider builds .rsOverflow (the slide is already in flow) and after (it's
   forced relative), so the row can't collapse at init — no reserve→collapse→
   expand shift. Multi-slide carousels are kept to one slide's height by the
   grid rules below. */
@media (max-width: 1024px) {
	.slideshow-row .slideshow { aspect-ratio: auto; }
	.slideshow-row .royalSlider,
	.slideshow-row .rsOverflow,
	.slideshow-row .rsContainer,
	.slideshow-row .rsSlide { height: auto !important; }
	/* Rotating banners (Toeta / Donate): RoyalSlider keeps the current slide and its neighbours in .rsContainer,
	   each offset by an inline left (N x width), and slides the container. In plain flow they would stack
	   vertically (the row grows 3x and pushes the donation box away during every change) and, with left
	   forced to auto, the current slide ends up off-screen (blank banner). So all slides share one grid
	   cell: in flow, so the row still takes the real slide height, but overlapping, each at its own left. */
	.slideshow-row .rsContainer { display: grid; }
	.slideshow-row .rsSlide { grid-area: 1 / 1; position: relative !important; top: auto !important; }
	/* before init the slides are the slider's own floated children: same one-cell stacking */
	.slideshow-row .royalSlider:not(:has(.rsOverflow)) { display: grid; }
	.slideshow-row .royalSlider:not(:has(.rsOverflow)) > .rsSlideRoot { grid-area: 1 / 1; float: none; }
	.slideshow-row .rsSlideRoot img {
		width: 100%; height: auto; aspect-ratio: var(--mondo-slide-ratio, 3.5); object-fit: fill;
	}
}
.shop .nomargin_btm{margin-bottom:0;}
.shop .nomargin_top{margin-top:0;padding-top:0 !important;}
.shop .nomargin_top .vc_column-inner {padding-top:0 !important;}
@media(max-width:767px){
	.entry-content .sub-menu{text-align:left;}
	.entry-content .sub-menu li{text-align:left;margin-left:0;margin-right:10px;}
	.entry-content .sub-menu-center { text-align: center; }
	.entry-content .sub-menu-center li { text-align: center; margin-left:0;margin-right:10px;}
}
.shop-items .item a{height:100%;display:block;position:relative;margin:8px;}
.small-6{padding-bottom:0px;}
@media(max-width:540px){
	.small-6{width:100%;height:auto !important;}
}
/* success notice (e.g. "... lisati sinu ostukorvi" + "Vaata ostukorvi"): a grid of icon | text | button, all vertically centred.
   WooCommerce places the check-mark absolutely at left 1.5em and floats the button right, which with the theme's
   padding puts the text under the icon and at the top of the box; here the icon is an ordinary grid item. On phones
   the button moves under the text, right-aligned, and the icon stays centred on the text */
.woocommerce-message{background:#fff;padding:20px 20px 20px 1.5em;margin:30px auto !important;max-width:87.5rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:1rem;row-gap:.75rem;}
.woocommerce-message::before{position:static;}
.woocommerce-message::after{display:none;}
.woocommerce-message .button{float:none;margin:0;justify-self:end;}
@media screen and (max-width: 767px){.woocommerce-message{grid-template-columns:auto 1fr;}.woocommerce-message .button{grid-column:2;}}
.single-product .options{margin:0;}
.product-thumbnail a:hover{border:0;}
.pr_specials{margin:10px 0 5px 0;display:table;width:520px;height:240px;}
.pr_spec_l{width:50%;display:table-cell;vertical-align:top;padding-right:20px;}
.pr_spec_r{width:50%;display:table-cell;vertical-align:top;}
.woocommerce table.shop_table td.product-friend{vertical-align:top;}
.pr_sp{display:none;margin-bottom:5px;}
.pr_sp.sobrale{display:block;}
.pr_sp input,.pr_sp select,.pr_sp textarea{display:inline-block;vertical-align:middle;width:250px;margin:0;}
.pr_sp .pr_sp_label{display:inline-block;vertical-align:top;margin:6px 0 0 0;}
.pr_spec_l .pr_sp .pr_sp_label{width:100px;}
.pr_spec_r .pr_sp .pr_sp_label{width:120px;}
.pr_spec_r .pr_sp.text .pr_sp_label,.pr_spec_r .pr_sp.heading .pr_sp_label{width:100%;}
.pr_spec_r .pr_sp.heading .pr_sp_label{font-weight:800;}
.pr_sp textarea{min-height:111px;resize:none;}
.pr_sp.sobra_aadress .pr_sp_label{vertical-align:top;}
.pr_sp.sobrale_sonum .pr_sp_label,.pr_sp.sobrale_sonum2 .pr_sp_label{width:100%;}
.pr_sp_label p{margin:0;}
input.fail,textarea.fail{border:1px solid #F67E83 !important;}
.pr_fail,.pr_email_fail{display:none;color:#EC5B61;padding:0px;width:100%;max-width:350px;font-weight:800;font-size:12px;}
.pr_select_fail{margin-top:5px;}
.pr_fail.show{display:block;}
.product-price,.product-subtotal,.product-quantity{width:20%;text-align:center;border-left:1px solid #eee;}
.pr_sp input,.pr_sp select,.pr_sp textarea{box-shadow:0px 1px 1px rgba(0, 0, 0, 0.05) inset;padding:7px 0.5em;height:38px;}
.pr_small{font-size:13px;padding:0 0 0 5px;}
.pr_fails_wrap{display:table-row;width:100%;}
td.product-price{font-size:18px;}
td.pr_large{font-size:24px;}
td.pr_large .price_up{margin:0;}
td.pr_large .price_down{font-size:14px;margin:0;}
.product-name{border-right:1px solid #eee;border-left:1px solid #eee;}
.cart .product-name {text-align:center;}
.product-name a:hover{border:0;}
.product-name a:hover span{border-bottom:1px solid #000;}
.woocommerce table.shop_table.actions_table{border:0;}
.woocommerce table tbody tr:nth-child(2n){background:none;}
.woocommerce table tbody tr{border-color:#ccc;}
.remove_wrap{display:table;width:100%;height:267px;}
.woocommerce table.shop_table td.product-remove{padding:0;min-width:40px;}
.woocommerce .remove_wrap a.remove{display:table-cell;vertical-align:middle;border-radius:0;transition: background 0.3s ease-in-out 0.05s,color 0.3s ease-in-out 0.05s;-webkit-transition: background 0.3s ease-in-out 0.05s,color 0.3s ease-in-out 0.05s;-moz-transition: background 0.3s ease-in-out 0.05s,color 0.3s ease-in-out 0.05s;-o-transition: background 0.3s ease-in-out 0.05s,color 0.3s ease-in-out 0.05s;padding:0 !important;}
.woocommerce .remove_wrap a.remove:hover{background:#EAB8BA;}
.woocommerce table.shop_table{margin-bottom:60px;}
.woocommerce table.shop_table:last-of-type{margin-bottom:30px}
.cart_h2{margin-bottom:12px;}
.woocommerce .quantity .qty{display:inline-block;vertical-align:middle;height:45px;width:4em;padding:10px;margin:0;}
.price_spinner{display:none;height:38px;padding-top:9px;}
.cart_regular .product-name img{max-width:100px;margin:0 20px;}
.cart_regular .remove_wrap{height:150px;}
.cart_regular .product-name a{display:block;padding:0;}
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals{float:none;width:100%;text-align:left;padding:0 20px;}
.cart_totals_in{display:inline-block;vertical-align:top;text-align:left;}
.woocommerce .cart-collaterals .cart_totals h2{font-size:30px;line-height:50px;margin:0 0 10px 0;border-bottom:1px solid #eee;display:inline-block;vertical-align:top;width:30%;}
.cart_totals_in td{font-size:24px;}
.woocommerce .cart-collaterals .cart_totals tbody{border:0;}
.cart_totals_in tbody th,.cart_totals_in tbody td{padding:5px 10px;}
.woocommerce .cart_totals_in table tbody tr{border-bottom:1px solid #eee;}
.cart_totals_in th,.cart_totals_in strong{font-weight:400;}
.woocommerce form.login{max-width:600px;}
.wc_edit_account input,.wc_edit_account textarea{max-width:250px;}
.wc_edit_account {max-width:550px;}
.product-name span{font-weight:800;}
.product-name div{margin-top:10px;}
.woocommerce .cart-collaterals{margin-bottom:20px;}
form.woocommerce-checkout h3{margin:20px 0 5px 0;}
.woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td{background:none;}
#customer_details .col-1,#customer_details .col-2{display:inline-block;float:none;width:50%;vertical-align:top;padding:0 10px 10px 0;}
#customer_details .col-2{float:right;}
#customer_details p{float:none;width:100%;}
#customer_details input,#customer_details textarea,#customer_details label{width:66%;display:inline-block;vertical-align:middle;}
#customer_details .mc4wp-checkbox input{width:auto;margin:-4px 5px 0 0}
#customer_details label{width:33%;}
#customer_details .col-2 label{display:block;line-height:1;padding-bottom:10px;width:100%;}
#customer_details .col-2 textarea{min-height:117px;width:100%;}
#customer_details .col-2{padding-right:0;}
#customer_details .form-row{padding:3px 0;}
.woocommerce form .form-row .required{text-decoration:none;cursor:default !important;}
.woocommerce-checkout{max-width:1000px;}
#order_review .product-name{text-align:left;width:420px;}
#order_review{margin-top:20px;}
#order_review select{margin:5px 0;}
.woocommerce table.shop_table{border-radius:0;}
.woocommerce-checkout #payment{background:transparent;}
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order{float:none;}
.woocommerce-checkout #payment div.form-row .terms .checkbox{float:right;}
/*.payment_methods{display:none;}*/
#customer_details #createaccount,#customer_details #bill_business{width:auto;}
#customer_details .create-account label{float:left;margin:0;}
.shop-items .item .hover-buttons{transition:none;}
.cart .woocommerce-message{display:none;}
/*#billing_country_field{display:none !important;}*/
.col2-set.addresses{display:none !important;}
#account_password,#reg_password{margin-bottom:10px;}
.account_head{margin-bottom:20px;}
.myaccount_user_name{font-size:30px;}
.account_head a{line-height:30px;}
#customer_login .inline{display:inline-block;vertical-align:middle;margin-top:-7px;margin-left:5px;}
#customer_login .inline input{margin-right:0;}
.wc_edit_account fieldset{margin:30px 0 20px 0;}
.wc_edit_account legend{font-weight:600;}
.thankyou_extra address:last-of-type,.thankyou_extra .title:last-of-type{display:none;}
.about_paypal{display:none !important;}
.bill_business_fields.hidden{display:none;}
.woocommerce .thankyou_extra table.shop_table{margin:20px 0;}
@media(min-width:1060px){
	.product-friend{padding-left:60px !important;}
}
@media(max-width:960px){
	.remove_wrap{height:30px !important;}
	.shop_table thead{display:none;}
	.shop_table td,.shop_table tr{display:block; width:100%;}
	.shop_table td{border:0 !important;padding:12px;}
	.shop_table tr{padding-bottom:30px;border:1px solid #ccc;margin-bottom:30px;}
	.woocommerce table.shop_table td.product-remove{width:100%;border:0;text-align:center;}
	.product-name{border-left:0;border-right:0;}
	.pr_specials{margin:10px auto;}
	.woocommerce .remove_wrap a.remove{background:#EAB8BA;color:#fff !important;height:2em;}
	.woocommerce .remove_wrap a.remove:hover{background:#D57175}
	.pr_specials{height:auto;width:100%;max-width:520px;}
	.woocommerce table.shop_table td{padding:12px;}
	.woocommerce table.shop_table{border:0;}
	.cart_regular .product-name img{margin:0;}
	.woocommerce .cart-collaterals .cart_totals,.woocommerce .cart-collaterals .cart_totals h2{text-align:center;width:100%;}
}
@media(max-width:768px){
}
@media(max-width:680px){
	.pr_sp input, .pr_sp select, .pr_sp textarea{width:100%;}
}
@media(max-width:550px){
	.pr_spec_l,.pr_spec_r,.pr_specials{display:block;width:100%;padding:0;}
}

/* Single product page */
.stock.out-of-stock{font-weight:700;font-style:italic;}
.stock.in-stock{display:none !important;}
.add_cart_qty{display:inline-block;vertical-align:middle;}
.add_cart_qty.special{display: none;}
.add_cart_qty input{margin:0;padding:0.5rem;width:100px;display:inline;}
.add_cart_table{display:table;width:100%;}
.add_cart_cell{display:table-cell;vertical-align:middle;}
.add_cart_cell:nth-child(2){text-align:center;width:100%;}
.add_cart_cell:last-child{text-align:right;}
.add_cart_price{margin:0;white-space:nowrap;}
.add_cart_price.noblock{display:inline-block;vertical-align:middle;}
.single_add_to_cart_button{margin:0 0 0 10px !important;float:none;white-space:nowrap;}
.add_cart_qty>div{display:inline-block;vertical-align:middle;margin:0 5px;}
.single_variation_wrap .single_variation,.single_variation_wrap .variations_button,.add_cart_right,.add_cart_price{display:inline-block;vertical-align:middle;display:inline-block;vertical-align:middle;}
.single-product .add_cart_price{margin-left:-6px;}
.single_variation_wrap .variations_button,.add_cart_right{float:right;margin-top:7px;}
.add_cart_avail p{margin:0;}
.variations label{font-weight:700;}
.variations td{vertical-align:middle;display:table-cell;}
.variations select{margin:0;padding-right:30px;}
.variations option{padding:0 15px;}
.vari{display:inline-block;vertical-align:middle;text-align:center;padding:0;transition: opacity 0.3s ease-in-out 0.05s;-webkit-transition: opacity 0.3s ease-in-out 0.05s;-moz-transition: opacity 0.3s ease-in-out 0.05s;-o-transition: opacity 0.3s ease-in-out 0.05s;}
.vari img{width:70px;height:auto;max-width:none;margin:0 10px;}
.varis_wrap{text-align:center;padding:0 20px;}
.vari:hover{border:0;opacity:0.8;}
.vari p{font-size:12px;font-weight:700;color:#333;margin-top:5px;}
.varis_wrap{margin-bottom:40px;}
.wpb_gallery img{width:150px;height:auto;max-width:none;margin-right:5px;margin-bottom:5px;}

/* Chart.js */
#chartjs-tooltip.above:before,#chartjs-tooltip.below:before{bottom:1em;content:"";display:block;left:50%;position:absolute;z-index:99}
#canvas-holder{width:100%;margin-top:50px;text-align:center}
#chartjs-tooltip{opacity:0;position:absolute;background:rgba(0,0,0,.7);color:#fff;padding:3px;border-radius:3px;-webkit-transition:all .1s ease;transition:all .1s ease;pointer-events:none;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);font-weight:800}
#chartjs-tooltip.below{-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}
#chartjs-tooltip.below:before{border:solid;border-color:#111 transparent;border-color:rgba(0,0,0,.8) transparent;border-width:0 8px 8px;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}#chartjs-tooltip.above{-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}
#chartjs-tooltip.above:before{border:solid;border-color:#111 transparent;border-color:rgba(0,0,0,.8) transparent;border-width:8px 8px 0;top:100%;-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}

/* COLORBOX */
#colorbox iframe{width:100%;height:100%}
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:hidden; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;pointer-events:none}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
#cboxOverlay{background:#222;}
#colorbox.white,#colorbox.white #cboxContent,#colorbox.white #cboxLoadedContent,#colorbox.white .cboxIframe{background:#fff;}
#colorbox{outline:0;}
    #cboxContent{margin-top:20px;background:#222;}
        .cboxIframe{background:#222;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{ background:#222;position:relative;}
        #cboxTitle{position:absolute; top:-23px; left:0;font-size:15px; color:#fff;width:100%;bottom:0px;font-weight:700;font-size:14px;}
        .booking #cboxTitle{font-size:12px;display:none !important;}
        .booking  #cboxClose{display:none !important;}
         #cboxTitle>p{position:absolute;bottom:10px;background:#30342E;opacity:0.95;padding:10px 20px;left:10px;color:#926F34;}
        #cboxCurrent{position:absolute; top:-22px; right:-4px; color:#ccc;letter-spacing:4px;font-weight:700;font-size:14px;}
        #cboxLoadingGraphic{}
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
        #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
        #cboxPrevious{position:absolute; top:50%; left:10px; margin-top:-32px; background:url("lib/controls.png") no-repeat bottom left; width:28px; height:65px; text-indent:-9999px;}
        #cboxPrevious:hover{opacity:0.8;}
        #cboxNext{position:absolute; top:50%; right:10px; margin-top:-32px; background:url("lib/controls.png") no-repeat bottom right; width:28px; height:65px; text-indent:-9999px;}
        #cboxNext:hover{opacity:0.8;}
        #cboxClose{position:absolute; top:10px; right:0px; display:block; background:url("lib/controls.png") no-repeat bottom center; width:38px; height:19px; text-indent:-9999px;}
        #cboxClose:hover{opacity:0.8;}
.jh_copy_cbox{background:#fff;padding:30px;}
#cboxTitleLong{position:absolute;bottom:0;left:0;color:#fff;padding:10px 50px;background:rgba(229, 189, 119, 0.9);font-size:19px;}
.yeshover:hover {
	border-bottom: 1px solid;
}
.nohover:hover {
	border-bottom: 0;
}
.grayscale {
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
	filter: grayscale(100%);
}


.w25 {
	width: 25%;
}

.w70 {
	width: 70%;
}

.vc-hoverbox-front {
	background-size: contain !important;
	background-repeat: no-repeat;
	background-color: #ebebeb;
	background-position-y: top !important;

	vertical-align: bottom;
}

.hoverbox_as_cover .vc-hoverbox-front {
	background-size: cover !important;
	background-position-y: center !important;
}
.hoverbox_as_cover .vc-hoverbox-block-inner {
	padding: 0;
}

.vc-hoverbox-front-inner {
	position: absolute;
	bottom: 0;
	background-color:rgba(235, 235, 235, 1);
	width: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transform-style: preserve-3d;
}

.vc-hoverbox-front-inner h2 {
	font-size: 30px;
}


.mk_haridustootajad_icon img.vc_single_image-img {
	height: 150px !important;
	width: 255px !important;
}

@media (max-width: 1000px) {
	.wide-on-mobile {
		width: 100%;
	}
}

.mbrevert p {
	margin-bottom: revert;
}

.main.menu .menu-item-has-children:not(.lms_language) > a::after {
	font-family: FontAwesome;
	content: " \f107";
}

/* mk_store's view styles are in the plugin's shop.css. The mc4wp message
   styling is here because the newsletter bar (.mk_newsletter_bar) appears
   site-wide, where shop.css is not loaded. */
.mc4wp-success {
	background-color: white;
	border: 1px solid #049548;
	color: #049548;
	font-weight: bold;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-bottom: 30px;
	text-align: center;
}

.mc4wp-error {
	background-color: white;
	border: 2px solid rgb(235, 28, 36);
	color: rgb(235, 28, 36);
	font-weight: bold;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-bottom: 30px;
	text-align: center;
}


.mk_newsletter_bar {
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
}

.mk_newsletter_bar h2 {
	position: relative;
	text-align: center;
}

.mk_newsletter_bar h2:after {
	content: ' \f107';
	font-family: FontAwesome;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
}

.mk_newsletter_bar.open h2:after {
	content: ' \f106';
}

/* Vertically centre the heading. The column padding is asymmetric: 20px/15px
   from the page-builder on desktop, and worse on mobile where the theme forces
   padding-top:35px !important (the first-child column rule above) on first-child full-width columns.
   The <h2>'s own top/bottom margins are already symmetric, so equal padding
   centres the text. Selector is specific enough to beat that mobile override. */
.mk_newsletter_bar .wpb_column.vc_col-sm-12 > .vc_column-inner {
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}

.mk_scrollwrapper {
	overflow-x: auto;
	width: 100%;
}

.kae_nrs table {
	width: 100%;
}

.kae_nrs td {
	padding: 0;
	text-align: center;
}

.kae_nrs td a {
	border: 0;
	color: white;
	display: inline-block;
	padding-top: 0.5rem;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
	padding-bottom: 0.625rem;
}

.kae_nrs td a:hover {
	border-bottom: none;
}

.kae_nrs td:nth-of-type(1) {
	background-color: #E5243B;
}
.kae_nrs td:nth-of-type(2) {
	background-color: #DDA63A;
}
.kae_nrs td:nth-of-type(3) {
	background-color: #4C9F38;
}
.kae_nrs td:nth-of-type(4) {
	background-color: #C5192D;
}
.kae_nrs td:nth-of-type(5) {
	background-color: #FF3A21;
}
.kae_nrs td:nth-of-type(6) {
	background-color: #26BDE2;
}
.kae_nrs td:nth-of-type(7) {
	background-color: #FCC30B;
}
.kae_nrs td:nth-of-type(8) {
	background-color: #A21942;
}
.kae_nrs td:nth-of-type(9) {
	background-color: #FD6925;
}
.kae_nrs td:nth-of-type(10) {
	background-color: #DD1367;
}
.kae_nrs td:nth-of-type(11) {
	background-color: #FD9D24;
}
.kae_nrs td:nth-of-type(12) {
	background-color: #BF8B2E;
}
.kae_nrs td:nth-of-type(13) {
	background-color: #3F7E44;
}
.kae_nrs td:nth-of-type(14) {
	background-color: #0A97D9;
}
.kae_nrs td:nth-of-type(15) {
	background-color: #56C02B;
}
.kae_nrs td:nth-of-type(16) {
	background-color: #00689D;
}
.kae_nrs td:nth-of-type(17) {
	background-color: #19486A;
}
.portrait img {
	object-fit: cover;
	object-position: center center;
	height: 400px !important;
	width: 400px;
}

.moove-gdpr-infobar-allow-all {
	background-color: rgba(0, 0, 0, 0) !important;
	border: 1px solid rgb(32, 32, 32) !important;
	color: rgb(32, 32, 32) !important;
}

.moove-gdpr-infobar-allow-all:hover {
	background-color: rgb(32, 32, 32) !important;
	color: rgb(255, 255, 255) !important;
}

/* a11y: the green "reject"/allow-necessary button had white text on #049548
   (~3.9:1, below WCAG AA). Darken the green a touch to #048040 (white text
   ~5:1) and bold the label. Plain-class !important overrides the plugin, same
   as the allow-all button above. */
.moove-gdpr-infobar-reject-btn {
	background-color: #048040 !important;
	font-weight: 700 !important;
}
.moove-gdpr-infobar-reject-btn:hover {
	background-color: #036c34 !important;
}

/* =========================================================================
   CLS fix — Bebas Neue headings (site-wide, no per-page class needed)
   The title font (Bebas Neue Pro) is ultra-condensed: average capital width is
   ~39% of the em vs ~67% for any system fallback. Under font-display:swap the
   fallback lays titles out ~1.7x wider, so long ones ("UNREFINED SHEA BUTTER",
   "DIGIVÕIMEKUS", "SHEAVÕI KAALUGA"…) wrap to extra lines and then collapse
   when Bebas loads — changing the 1/3-column height and shifting every row
   below it (the title + sub-menu row, slideshow, product grid). Two parts:
     1. The Bebas @font-face uses font-display:optional (css/app.css) — the
        webfont/fallback choice is committed before first paint, never swaps.
     2. The fallback face below maps local Arial onto Bebas's condensed box
        (size-adjust 56.6% + ascent/descent overrides, computed from the actual
        font metrics), so the rare optional-fallback render wraps identically.
   ========================================================================= */
@font-face {
	font-family: 'Bebas Neue Fallback';
	src: local('Arial');
	size-adjust: 56.6%;
	ascent-override: 160.8%;
	descent-override: 40%;
	line-gap-override: 0%;
}
h1, h2,
.fact-slider .fact h1, .three-facts-slider .fact h1,
.search .search-box,
#lang_switch ul li a, #cur_lang {
	font-family: 'Bebas Neue Regular', 'Bebas Neue Fallback', 'Arial Narrow', sans-serif;
}

/* =========================================================================
   CLS fix — WPBakery column grid in the critical (render-blocking) CSS
   The CSS optimiser loads js_composer.min.css deferred (media="print"
   onload="this.media='all'", blocking copy only in <noscript>). That file
   owns the .vc_col-sm-* widths + float, so on desktop the 1/3 + 2/3 rows
   (title + sub-menu, etc.) would first paint full-width and STACKED, then snap
   side-by-side when the deferred file arrives — a layout shift independent of
   the font swap above. These rules are copied verbatim from js_composer.min.css
   so the grid is correct at first paint; when the deferred file loads the
   declarations are byte-identical, so nothing reflows. Mobile (<768px) keeps
   the stacked layout, matching the final state (no shift there).
   ========================================================================= */
.vc_row:before, .vc_row:after { content: " "; display: table; }
.vc_row:after { clear: both; }
.vc_row { margin-left: -15px; margin-right: -15px; }
.vc_col-sm-1, .vc_col-sm-2, .vc_col-sm-3, .vc_col-sm-4, .vc_col-sm-5, .vc_col-sm-6,
.vc_col-sm-7, .vc_col-sm-8, .vc_col-sm-9, .vc_col-sm-10, .vc_col-sm-11, .vc_col-sm-12 {
	box-sizing: border-box; min-height: 1px;
	padding-left: 15px; padding-right: 15px; position: relative;
}
@media (min-width: 768px) {
	.vc_col-sm-1, .vc_col-sm-2, .vc_col-sm-3, .vc_col-sm-4, .vc_col-sm-5, .vc_col-sm-6,
	.vc_col-sm-7, .vc_col-sm-8, .vc_col-sm-9, .vc_col-sm-10, .vc_col-sm-11, .vc_col-sm-12 { float: left; }
	.vc_col-sm-12 { width: 100%; }
	.vc_col-sm-11 { width: 91.66666667%; }
	.vc_col-sm-10 { width: 83.33333333%; }
	.vc_col-sm-9  { width: 75%; }
	.vc_col-sm-8  { width: 66.66666667%; }
	.vc_col-sm-7  { width: 58.33333333%; }
	.vc_col-sm-6  { width: 50%; }
	.vc_col-sm-5  { width: 41.66666667%; }
	.vc_col-sm-4  { width: 33.33333333%; }
	.vc_col-sm-3  { width: 25%; }
	.vc_col-sm-2  { width: 16.66666667%; }
	.vc_col-sm-1  { width: 8.33333333%; }
}

/* EOF */
