/*
	Theme Name: Iggo 19
	Description: HTML5, CSS Grid, CSS Variables and Flex. Mobile first CSS. No outside framework.
	Author: Kimmo Kovalainen
	Author URL: http://www.kipex.tv
	Version: 1.1.11
	Tags: html5, css grid, css variables, flex, responsive, rule of 4, mobile first
*/



/**
 * @license
 * MyFonts Webfont Build ID 3828857, 2019-10-28T02:49:00-0400
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: Protest-Regular by Society of Fonts
 * URL: https://www.myfonts.com/fonts/society-of-fonts/protest/regular/
 * Copyright: Brandon Buerkle 2018
 * Licensed pageviews: 10,000
 *
 *
 * License: https://www.myfonts.com/viewlicense?type=web&buildid=3828857
 *
 * © 2019 MyFonts Inc
*/

/* Local hosted Google Fonts
---------------------------------------------------------------------------------------------------------------------- */

/* lexend-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Lexend';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/lexend-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lexend-500 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Lexend';
	font-style: normal;
	font-weight: 500;
	src: url('fonts/lexend-v26-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lexend-700 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Lexend';
	font-style: normal;
	font-weight: 700;
	src: url('fonts/lexend-v26-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lexend-800 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Lexend';
	font-style: normal;
	font-weight: 800;
	src: url('fonts/lexend-v26-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lexend-900 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Lexend';
	font-style: normal;
	font-weight: 900;
	src: url('fonts/lexend-v26-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-600 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 600;
	src: url('fonts/source-serif-4-v14-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-600italic - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Source Serif 4';
	font-style: italic;
	font-weight: 600;
	src: url('fonts/source-serif-4-v14-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-700 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 700;
	src: url('fonts/source-serif-4-v14-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-700italic - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Source Serif 4';
	font-style: italic;
	font-weight: 700;
	src: url('fonts/source-serif-4-v14-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-800 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 800;
	src: url('fonts/source-serif-4-v14-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* source-serif-4-800italic - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Source Serif 4';
	font-style: italic;
	font-weight: 800;
	src: url('fonts/source-serif-4-v14-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}




/* CSS Variables
---------------------------------------------------------------------------------------------------------------------- */
	body {
		/* Primary Color (Light -100 or -200, Dark +100 or +200) */
		--primary-light: #027bc1;
		--primary: #00629B;
		--primary-dark: #00446c;

		--primary-text-color: var(--white-primary);
		--primary-title-color: var(--white-primary);
		--primary-link-color: var(--white-secondary);

		/* Secondary Color (Light -100 or -200, Dark +100 or +200) */
		--secondary-light: #FFFFD4;
		--secondary: #FFC722;
		--secondary-dark: #E25D03;

		--secondary-wcag: #AE5900; /* Darkened color variant for WCAG compliance against white and lightgrey bg */

		--secondary-text-color: var(--black-primary);
		--secondary-title-color: var(--black-primary);
		--secondary-link-color: var(--black-primary);

		/* Tertiary Color */
		--tertiary-light: #60a2ac;
		--tertiary: #4F868E;
		--tertiary-dark: #406c73;

		--tertiary-text-color: var(--white-primary);
		--tertiary-title-color: var(--white-primary);
		--tertiary-link-color: var(--white-secondary);

		--linkcolor: var(--primary-light);
		--linkcolordark: #FFC722;
		--errorcolor: #E25D03;

		/* Black - Primary 87%, Secondary 54%, Disabled 38% */
		--black: rgba(0,0,0,1);
		--black-primary: rgba(0,0,0,0.87);
		--black-secondary: rgba(0,0,0,0.55);
		--black-tertiary: rgba(0,0,0,0.46);
		--black-disabled: rgba(0,0,0,0.38);

		/* White - Primary 100%, Secondary 70%, Disabled 50% */
		--white-primary: rgba(255,255,255,1);
		--white-secondary: rgba(255,255,255,0.7);
		--white-disabled: rgba(255,255,255,0.5);

		/* Header */
		--headerbg: #FFF;

		/* Fonts */
		--font-title: "Source Serif 4";
		--font-nav: "Lexend";
		--font-para: "Lexend";

		/* Fontsizes */
		--text-large: 17px;
		--text-normal: 15px;
		--text-small: 13px;
		--text-tiny: 11px;

		--h1: 40px;
		--h2: 32px;
		--h3: 20px;
		--h4: 18px;

		/* Element heights */
		--header-height: 60px;

		/* Gap between elements */
		--gridgap: 32px; /* DO I NEED TO UPDATE THIS TO 48PX TO MATCH SECTIONGAP AND HIGHER GRIDGAP ???? */
		--cardgap: 32px;
		--gallerygap: 4px;
		--sidebargap: 10px 0;
		--sectiongap: 48px;
		--ifb-block-gap: 32px 16px;
		--ifb-block-gap-full: 32px 0;

		/* Transitions */
		--transition-fast: 0.16s cubic-bezier(0.4, 0.0, 0.2, 1);
		--transition-med: 0.25s cubic-bezier(0.4, 0.0, 0.2, 1);
		--transition-slow: 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);

		/* Borders */
		--border-blacktrans: 1px solid rgba(0,0,0,0.12);
		--border-whitetrans: 1px solid rgba(255,255,255,0.12);
		--border-radius: 2px;
		--border-radius-round: 30px;

		--form-bordercolor: rgba(0,0,0,0.42); /* 2025-03: Contrast 3.04 vs #FFF */

		/* Shadows */
		--elevation-2dp: 0 1px 4px rgba(0,0,0,0.14), 0 3px 3px rgba(0,0,0,0.12);
		--elevation-4dp: 0 2px 4px rgba(0,0,0,0.14), 0 4px 5px rgba(0,0,0,0.12);

		/* Buttons */
		--button-large-padding: 16px 30px;
		--button-large-lineheight: 1.3;

		--button-normal-padding: 5px 22px;
		--button-normal-lineheight: 1.6;

		--button-small-padding: 4px 16px;
		--button-small-lineheight: 1.6;

		/* Focus Outline */
		--outline-style: solid 3px;
		--outline-clr: var(--linkcolor);		
	}

		@media (min-width: 768px) {
			body {
				/* Gap between elements */
				--gridgap: 64px;
				--sectiongap: 64px;
				--ifb-block-gap: 48px 0;

				/* Fontsizes */
				--text-large: 18px;
				--text-normal: 16px;
				--text-small: 14px;
				--text-tiny: 12px;

				--h1: 48px;
				--h2: 36px;
				--h3: 24px;
				--h4: 20px;
			}
		}

		@media (min-width: 992px) {
			body {
				/* Element heights */
				--header-height: auto;
			}
		}





/* Kipex CSS Reset (2024 OK)
------------------------------------------------------------------------------------------------ */

	/* Use a more intuitive box-sizing model and remove default margin/padding */
	*, *::before, *::after { box-sizing: border-box; }
	* { margin: 0; padding: 0; }

	/* Prevent adjustments of font size after orientation changes in mobile */
	html { -moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none; }

	/* MacOS computers only: Improve text rendering */
	body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-smoothing: antialiased; }

	/* Form elements rely on OS fonts unless overriden */
	textarea, input, button, select { font: inherit; }

	/* Sensible media defaults */
	img, picture, video, canvas, svg { display: block; max-width: 100%; }

	/* Prevent "sub" and "sup" elements from affecting the line height in all browsers. */
	sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
	sub { bottom: -0.25em; }
	sup { top: -0.5em; }





/* Global
---------------------------------------------------------------------------------------------------------------------- */
	html { box-sizing: border-box; line-height: 1.6; touch-action: manipulation; height: 100%; scroll-behavior: smooth; scroll-padding-top: 60px; }
	body { margin: 0; font-family: var(--font-para), Helvetica, Arial, sans-serif; font-size: var(--text-normal); display: flex; flex-direction: column; min-height: 100vh; height: 100%; word-wrap: break-word; }

	*,
	*::before,
	*::after { box-sizing: inherit; }

	header,
	section,
	footer { width: 100%; }

	img { max-width: 100%; display: block; }
	div, ul, li { margin: 0; padding: 0; }
	select { -webkit-appearance: none; }

	input, textarea, select { font-family: inherit; } /* Form elements rely on OS fonts unless overriden specifically */

	/* No iPad input shadows */
	input[type="text"], input[type="url"], input[type="email"], input[type="tel"], input[type="search"], input[type="password"], select, textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 0; }

	/* Default focus states for accessibility */
	*:focus-visible { outline: var(--outline-clr) var(--outline-style); outline-offset: 3px; }

	/* Accessibility related visually hidden text */
	:is(.visually-hidden, .frm_screen_reader, .sr-only) { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; overflow-wrap: normal !important; background: #FFF; color: #000; }

	/* Ripple effect for buttons */
	.ripple { position: relative; overflow: hidden; transform: translate3d(0,0,0); }
	.ripple:after { content: ""; display: block; position: absolute; width: 100%; height: 100%; top: 0; left: 0; pointer-events: none; background-image: radial-gradient(circle,#000 10%,transparent 10.01%); background-repeat: no-repeat; background-position: 50%; transform: scale(10,10); opacity: 0; transition: transform .5s, opacity 1s; }
	.ripple:active:after { transform: scale(0,0); opacity: .2; transition: 0s; }

	.container { margin: 0 auto; padding: 0 20px; width: 100%; }

	.wrapper { height: 100%; overflow: auto; display: flex; flex-direction: column; min-height: 100vh; -webkit-overflow-scrolling: touch; position: relative; padding-top: var(--header-height); } /* Stop mobile background scrolling (height,overflow) */

			@media (min-width: 768px) {
				.container { max-width: 1200px; }
			}

			@media (min-width: 992px) {
				html { scroll-padding-top: 120px; }
				.container { padding: 0 32px; }
				.wrapper { overflow: inherit; padding-top: 0; }
			}





/* Typography
---------------------------------------------------------------------------------------------------------------------- */
	h1 { font-size: var(--h1);			color: var(--black-primary);	font-family: var(--font-title);	font-weight: 800; 	margin: 0 0 20px 0;		line-height: 1.0; }
	h2 { font-size: var(--h2);			color: var(--black-primary);	font-family: var(--font-title);	font-weight: 700; 	margin: 0 0 16px 0;		line-height: 1.0; }
	h3 { font-size: var(--h3); 			color: var(--black-primary);	font-family: var(--font-title);	font-weight: 600;	margin: 0 0 8px 0;		line-height: 1.1; }
	h4 { font-size: var(--h4);			color: var(--black-primary);	font-family: var(--font-title);	font-weight: 600;	margin: 0 0 8px 0;		line-height: 1.1; }

	.content-fullwidth .block-style-dark h3,
	.content-fullwidth .block-style-dark h4 { color: var(--white-primary); }
	.content-fullwidth .block-style-black h3,
	.content-fullwidth .block-style-black h4 { color: var(--white-secondary); }

	a { color: var(--linkcolor); text-decoration: none; }
	a:hover,
	a:focus { color: var(--linkcolor); }

	p { margin: 0 0 16px; }
	hr { border: var(--border-blacktrans); margin: var(--gridgap) 0; }

	blockquote { font-style: italic; margin: 0 0 16px; padding: 16px 24px; background: #F0F0F0; }

	/* Requested override for more spacing before midtext headings */
	.ifb-block :is(p, ul, ol) + h2 { margin-top: 40px; }
	.ifb-block :is(p, ul, ol) + h3 { margin-top: 28px; }
	.iggocm-contact-card + :is(h2, h3, h4) { margin-top: 32px; }


/* Header
---------------------------------------------------------------------------------------------------------------------- */
	header { height: var(--header-height); z-index: 110; background: var(--headerbg); position: fixed; top: 0; left: 0; transition: var(--transition-slow); box-shadow: 0 1px 2px rgba(0,0,0,0.15); }
	header .logo { width: 63px; height: 52px; margin: 4px 0; z-index: 135; position: absolute; top: 0; left: 20px; }

	header .desktop-logo { display: none; }
	header .mobile-logo { display: block; }

	header .customlinks { text-align: center; margin-top: 15px; }
	header .customlinks > a { font-size: var(--text-normal); color: var(--primary); }
	header .social a { font-size: 24px; margin: 0 4px; transition: var(--transition-fast); color: var(--primary); }
	header :is(.social, .customlinks) a:hover { color: var(--primary-light); }

	header .social a.fbspecial { font-size: 21px; position: relative; top: -2px; }

	/* Search (added 08/2020) */
	nav#main .search-area { display: block; }

	/* Mobile search (added 08/2020) */
	.header-overlay { background: #FFF; height: var(--header-height); width: 100%; position: absolute; top: 0; left: 0; z-index: 0; }

	header .iconmenu-link { display: inline-block; position: absolute; width: 60px; height: var(--header-height); text-align: center; z-index: 10; cursor: pointer; right: 61px; top: 0; background: none; border: none; }
	header .iconmenu-link i { font-size: 18px; color: var(--primary); margin-top: 11px; }
	header .iconmenu-link svg { font-size: 16px; color: var(--primary); position: absolute; top: 16px; left: 22px; width: 100%; }
	header .iconmenu-link .title { position: absolute; bottom: 4px; left: 0; width: 100%; color: var(--primary); line-height: 1; font-family: var(--font-nav); font-size: var(--text-small); }

	header .search-wrap { position: absolute; top: 0; left: 0; height: 50px; width: 100%; background: var(--primary-dark); opacity: 0; visibility: hidden; transition: var(--transition-med); transform: translate3d(0, 0, 0); display: block; z-index: -1; }
	header .search-wrap.active { opacity: 1; visibility: visible; transform: translate3d(0, 60px, 0); }

	header form#mobile-searchform { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) 60px; }
	header form#mobile-searchform input { background: none; color: #FFF; border: none; height: 50px; padding: 0 20px; font-size: var(--text-normal); }
	header form#mobile-searchform input:focus-visible { outline: none; }
	header form#mobile-searchform button { text-align: center; height: 50px; background: none; color: #FFF; border: none; padding: 0; cursor: pointer; border-left: 1px solid var(--primary-light); }


			@media (min-width: 992px) {
				header { padding: 0; top: 0; bottom: auto; }

				/* 2025-03: Force smaller logo for everything but frontpage */
				header .desktop-logo { display: block; }
				header .mobile-logo { display: none; }
				
				header .logo { height: 70px; width: auto; position: relative; left: auto; margin: 0 15px 0 0; }
				header .logo img { height: 70px; }

				/* Misc header */
				header .customlinks { width: auto; margin-left: 10px; margin-top: 0; position: relative; right: 0; }
				header .customlinks > a { margin: 0 0 8px; display: block; }
				header .social a { font-size: 20px; margin: 0 2px; }
				header .social a.fbspecial { font-size: 16px; }

				/* Search (added 08/2020) */
				header .container > .search-wrap { display: none; }
				header .container > .search-toggle { display: none; }

				.header-overlay { display: none; }

				nav#main .search-area { position: relative; z-index: 10; flex-grow: 1; display: flex; flex-direction: row; align-items: flex-end; justify-content: flex-end;}

				nav#main .search-toggle { display: none; line-height: 34px; height: 34px; width: 40px; text-align: center; border-radius: 0; margin-top: 20px; background: var(--primary); transition: var(--transition-med); }
				nav#main .search-toggle svg { color: #FFF; font-size: 18px; width: 100%; position: relative; top: 1px; }

				nav#main .search-toggle:hover { background: #d0dbda; }

				nav#main .search-wrap { position: static; top: 0; right: 0; opacity: 1; height: auto; visibility: visible; z-index: 10; transition: all 0.2s ease-in-out 0s; width: 160px; background: none; }
				nav#main .search-wrap.active { opacity: 1; visibility: visible; }

				nav#main form#searchform { width: 100%; }
				nav#main form#searchform input[type="text"] { background: var(--headerbg); border: 1px solid var(--form-bordercolor); border-radius: 100px; height: 34px; width: 100%; padding: 3px 48px 3px 16px; font-size: var(--text-normal); color: var(--black-primary); outline: none; }
				nav#main form#searchform input[type="text"]:focus { border: 1px solid var(--primary-light); }
				nav#main form#searchform button { position: absolute; top: 0; right: 0; height: 34px; line-height: 34px; width: 50px; text-align: center; color: var(--black-primary); text-shadow: none; border: none; border-radius: 0; cursor: pointer; background: none; }
				nav#main form#searchform i { display: block; font-size: 20px; }
			}



			@media (min-width: 1150px) {
				nav#main .search-wrap { width: 210px; }
				
				header .logo { height: 80px; margin: 0 20px 0 0; }
				header .logo img { height: 80px; }

				header .social a { font-size: 22px;; }
				header .social a.fbspecial { font-size: 18px; }
			}

/* Nav
---------------------------------------------------------------------------------------------------------------------- */
	nav#main { display: none; }

	.nav-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); opacity: 1; transition: all 0.2s ease-in-out 0s; z-index: 100; visibility: visible; }
	.nav-overlay.inactive { opacity: 0; visibility: hidden; background: rgba(0,0,0,0.0); }


		/* Larger than mobile */
			@media (min-width: 992px) {
				nav#main .center-wrap { width: 100%; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; position: relative; }

				nav#main { width: 100%; display: block; height: var(--header-height); z-index: 130; margin: 0; font-family: var(--font-nav); }
				nav#main .menu-zwrap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; transition: var(--transition-slow); background: var(--headerbg); }
				nav#main .menu { display: flex; flex-direction: row; align-items: flex-start; justify-content: flex-start; gap: 10px; }
				nav#main li { list-style: none; }

				/* 1st Level */
				nav#main .menu > li { float: left; transition: var(--transition-fast); }
				nav#main .menu > li > a { display: block; color: var(--primary); transition: var(--transition-fast); font-size: 14px; line-height: 100px; margin: 0; text-align: center; position: relative; }
				nav#main .menu > li.selected > a,
				nav#main .menu > li.selected > a:hover,
				nav#main .menu > li.selected > a:focus { color: var(--primary-light); }
				nav#main .menu > li:last-child > a { margin-right: 0; }

				nav#main .menu > li > a::before { width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 10px solid var(--primary); content: ""; position: absolute; bottom: 0; left: calc(50% - 5px); opacity: 0; transition: var(--transition-fast); transform: translate3d(0, 10px, 0); }
				nav#main .menu > li.selected > a::before { opacity: 1; transform: translate3d(0, 0, 0); }

				nav#main .menu > li > a:hover { color: var(--primary-light); }

				nav#main .menu > li.current_page_item > a,
				nav#main .menu > li.current-menu-ancestor > a,
				nav#main .menu > li.current-menu-item > a { color: var(--secondary-wcag); }

				nav#main .menu > :is(li.current_page_item.selected, li.current-menu-ancestor.selected, li.current-menu-item.selected) > a { color: var(--secondary-wcag); }

				/* 2nd Level */
				.menu-quicklinks { visibility: hidden; opacity: 0; transition: var(--transition-fast); position: absolute; top: var(--header-height); right: 0; transform: translate3d(0, -12px, 0); padding: 0 0 0 48px; margin: 32px 0; border-left: 4px solid #FFF; width: 300px; }
				.menu-quicklinks h3 { color: #FFF; }
				.menu-quicklinks li { line-height: 1; margin: 0 0 10px; }
				.menu-quicklinks li a { color: #FFF; font-size: var(--text-normal); }
				.menu-quicklinks li a:hover,
				.menu-quicklinks li a:focus { text-decoration: underline; }

				/* 2025-04: Add icon for quicklinks that open in a new window (primarily external links) - This would be better done using Font Awesome, but the site is using FA5 instead of FA6 and the implementation of other elements is using FA5 */
				.menu-quicklinks a[target="_blank"] { position: relative; padding-right: 20px; display: inline-block; }
				.menu-quicklinks a[target="_blank"]::after { content: ""; background: url("images/icon-external-link-white.svg") no-repeat; position: absolute; top: 2px; right: 0; display: flex; height: 13px; align-items: center; width: 13px; justify-content: center; color: #FFF; }				

				nav#main .menu > li.selected > .menu-quicklinks { visibility: visible; opacity: 1; transform: translate3d(0, 0, 0); }

				nav#main .menu > li > .sub-menu::before { height: 100%; width: 4000px; background: var(--primary); position: absolute; top: 0; right: 0; content: ""; z-index: -5; }
				nav#main .menu > li > .sub-menu::after { height: 100%; width: 4000px; background: var(--primary); position: absolute; top: 0; left: 0; content: ""; z-index: -5; }

				nav#main .menu > li > .sub-menu { visibility: hidden; opacity: 0; position: absolute; top: 100%; right: 0; width: 100%; padding: 48px 0; transition: var(--transition-fast); z-index: -2; transform: translate3d(0, -12px, 0); text-align: left; min-height: 283px; }
				nav#main .menu > li:last-child > .sub-menu { left: auto; right: 0; }
				nav#main .menu > li.selected > .sub-menu { visibility: visible; opacity: 1; transform: translate3d(0, 0, 0); top: var(--header-height); }

				nav#main .menu > li > ul > li { margin: 0; position: relative; line-height: 1; margin: 0 0 10px; }
				nav#main .menu > li > ul > li:first-child { margin: 0 0 10px; }
				nav#main .menu > li > ul > li:last-child { margin: 0; }
				nav#main .menu > li > ul > li > a { color: var(--white-primary); font-size: var(--text-large); }
				nav#main .menu > li > ul > li > a:hover { text-decoration: underline; }

				/* 3rd Level */
				nav#main .sub-menu > li > .sub-menu { display: none; margin: 0.375rem 0 0 1rem; }
				nav#main .sub-menu > li > .sub-menu > li { line-height: 1.1; margin: 5px 0; }
				nav#main .sub-menu > li > .sub-menu > li > a { }

				/* 4th Level */
				nav#main .sub-menu > li > .sub-menu > li > .sub-menu { display: none; }
			}

			@media (min-width: 1200px) {
				nav#main .menu > li > a { font-size: 18px; }
			}





/* IGGO Mobile Offcanvas Burger Menu
---------------------------------------------------------------------------------------------------------------------- */
	@media (max-width: 991px) {

		/* Nav Toggler */
			#nav-toggler { width: 60px; height: 60px; position: fixed; right: 0; top: 0; transform: rotate(0deg); transition: .5s ease-in-out; cursor: pointer; border: none; padding: 10px; background: rgba(0,0,0,0.1); }
			#nav-toggler span { display: block; position: absolute; height: 2px; width: 22px; background: var(--primary); opacity: 1; left: 19px; transform: rotate(0deg); transition: .25s ease-in-out; }

			#nav-toggler span:nth-child(1) { top: 17px; }
			#nav-toggler span:nth-child(2),
			#nav-toggler span:nth-child(3) { top: 23px; }
			#nav-toggler span:nth-child(4) { top: 29px; }

			#nav-toggler.open span:nth-child(1) { top: 23px; width: 0%; left: 50%; }
			#nav-toggler.open span:nth-child(2) { transform: rotate(45deg); }
			#nav-toggler.open span:nth-child(3) { transform: rotate(-45deg); }
			#nav-toggler.open span:nth-child(4) { top: 23px; width: 0%; left: 50%; }

			#nav-toggler .menutitle { font-family: var(--font-nav); bottom: 4px; left: 0; width: 60px; height: auto; line-height: 1; background: none; color: var(--primary); font-size: var(--text-small); }

		/* Navbar */
			#mobile-menu {
				font-size: var(--text-large);
				position: fixed;
				overflow-y: auto;
				display: block !important;
				bottom: 0;
				width: 100%;
				padding: 16px 20px var(--header-height) 20px;
				height: calc(100% - var(--header-height));
				background: #FFF;
				border-top: none;
				margin: 0 !important;
				transform: translate3d(0, 0, 0);
				transition: var(--transition-fast);
				z-index: 105;
				font-family: var(--font-nav);
				right: 0;
				}

			#mobile-menu.inactive { transform: translate3d(100%, 0, 0); }

		/* All levels */
			nav { font-size: 14px; }
			nav .svg-inline--fa { float: left; width: 0.75rem; text-align: left; color: #005076; }
			nav .nav .text { float: right; width: calc(100% - 0.75rem); color: #FFF; }

			.mobile-quicklinks { display: inline-block; margin-top: 16px; padding-top: 28px; border-top: 1px solid var(--primary); width: 100%; }
			.mobile-quicklinks h3 { text-transform: uppercase; }

			#mobile-menu ul > li { clear: both; float: left; width: 100%; list-style: none; position: relative;}
			#mobile-menu ul > li > a { float: left; width: 100%; transition: all 0.05s linear 0s; text-align: left; }
			#mobile-menu ul > li.menu-item-has-children > a { width: calc(100% - 50px); }
			#mobile-menu ul > li > a:hover,
			#mobile-menu ul > li > a:focus { text-decoration: none; }
			#mobile-menu ul > li > a:active { background: rgba(0,0,0,0.1); color: #FFF; }

		/* Toggle Mobile Expand */
			#mobile-menu li > .toggle-expand { position: absolute; top: 3px; right: 0; cursor: pointer; width: 50px; height: 50px; }
			#mobile-menu li > .toggle-expand svg.fa-minus-circle { display: none; }
			#mobile-menu li.selected > .toggle-expand svg.fa-minus-circle { display: block; }
			#mobile-menu li.selected > .toggle-expand svg.fa-plus-circle { display: none; }

			#mobile-menu .toggle-expand svg { float: right; margin-top: 16px; }

			#mobile-menu ul.nav > li > ul li .toggle-expand { top: 1px; }

		/* Level 1 */
			ul.nav > li { clear: both; float: left; width: 100%; list-style: none; }
			ul.nav > li > a { float: left; width: 100%; padding: 12px 0; color: var(--primary); text-transform: uppercase; font-size: var(--h3); }

			ul.nav > li.selected > a { color: var(--secondary-dark); }

			ul.nav > li > a:hover,
			ul.nav > li > a:focus,
			ul.nav > li:hover > a,
			ul.nav > li:focus > a { background: none; cursor: pointer; text-decoration: none; }

			ul.nav > li > .fa-plus-circle { transition: var(--transform-fast); transform: rotate(0deg); }
			ul.nav > li.selected > .fa-plus-circle { transform: rotate(45deg); }

		/* Level 2 */
			ul.nav > li > ul { position: relative; top: auto; left: auto; margin: 0 0 0 16px; clear: both; float: left; width: calc(100% - 16px); display: none; background: none !important; transition: all 0.25s ease-in-out 0s; padding: 0; }
			ul.nav > li.selected > ul { display: block !important; visibility: visible; opacity: 1; }
			ul.nav > li > ul > li { clear: both; float: left; width: 100%; padding: 0; border-top: 1px solid rgba(0,0,0,0.25); }
			ul.nav > li > ul > li:last-child { border-bottom: 1px solid rgba(0,0,0,0.25); }
			ul.nav > li > ul > li > a { float: left; width: 100%; text-align: left; padding: 12px 0; margin: 0; transition: all 0.05s linear 0s; color: var(--primary); }

			ul.nav > li > ul > li > a:hover,
			ul.nav > li > ul > li > a:focus { text-decoration: none; }

			ul.nav > li > ul > li.selected > a { color: var(--secondary-dark); }

		/* Level 3 */
			ul.nav > li > .sub-menu > li > .sub-menu { display: none; margin: 0 0 0 16px; }
			ul.nav > li > .sub-menu > li.selected > .sub-menu { display: block !important; }
			ul.nav > li > ul > li > ul > li { clear: both; float: left; width: 100%; margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,0.25); }
			ul.nav > li > ul > li > ul > li > a { float: left; width: 100%; padding: 12px 0; margin: 0; transition: all 0.05s linear 0s; color: var(--primary); }

			ul.nav > li > ul > li > ul > li.selected > a { color: var(--secondary-dark); }

			ul.nav > li > ul > li > ul > li > a:hover,
			ul.nav > li > ul > li > ul > li > a:focus,
			ul.nav > li > ul > li > ul > li > a:hover .title,
			ul.nav > li > ul > li > ul > li > a:focus .title { text-decoration: none; }

		/* Level 4 */
			ul.nav > li > .sub-menu > li > .sub-menu > li > ul.sub-menu { display: none; margin: 0 0 0 16px; }
			ul.nav > li > .sub-menu > li > .sub-menu > li.selected > .sub-menu { display: block !important; }

			ul.nav > li > ul > li > ul > li > ul > li { clear: both; float: left; width: 100%; margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,0.25); }
			ul.nav > li > ul > li > ul > li > ul > li > a { float: left; width: 100%; padding: 12px 0; margin: 0; transition: all 0.05s linear 0s; color: var(--primary); }

			ul.nav > li > ul > li > ul > li > ul > li.selected > a { color: var(--secondary-dark); }

		/* Level 5 */
			ul.nav > li > .sub-menu > li > .sub-menu > li > .sub-menu > li > ul.sub-menu { display: none; margin: 0 0 0 16px; }
			ul.nav > li > .sub-menu > li > .sub-menu > li > .sub-menu > li.selected > .sub-menu { display: block !important; }

			ul.nav > li > ul > li > ul > li > ul > li > ul > li { clear: both; float: left; width: 100%; margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,0.25); }
			ul.nav > li > ul > li > ul > li > ul > li > ul > li > a { float: left; width: 100%; padding: 12px 0; margin: 0; transition: all 0.05s linear 0s; color: var(--primary); }

			ul.nav > li > ul > li > ul > li > ul > li > ul > li.selected > a { color: var(--secondary-dark); }

		/* Level 5 */
			ul.nav > li > .sub-menu > li > .sub-menu > li > .sub-menu > li > .sub-menu > li > ul.sub-menu { display: none; margin: 0 0 0 16px; }
			ul.nav > li > .sub-menu > li > .sub-menu > li > .sub-menu > li > .sub-menu > li.selected > .sub-menu { display: block !important; }

			ul.nav > li > ul > li > ul > li > ul > li > ul > li > ul > li { clear: both; float: left; width: 100%; margin: 0; padding: 0; border-top: 1px solid rgba(0,0,0,0.25); }
			ul.nav > li > ul > li > ul > li > ul > li > ul > li > ul > li > a { float: left; width: 100%; padding: 12px 0; margin: 0; transition: all 0.05s linear 0s; color: var(--primary); }

			ul.nav > li > ul > li > ul > li > ul > li > ul > li > ul > li.selected > a { color: var(--secondary-dark); }
	}


	@media (min-width: 992px) {
		nav#mobile-menu,
		#nav-toggler { display: none; }
	}





/* IGGO Slider
---------------------------------------------------------------------------------------------------------------------- */
	section#iggo-slider { background: #777; height: auto; position: relative; }

	#iggo-slider .darker-top { display: none; position: absolute; top: 0; width: 100%; height: 180px; background: linear-gradient(to bottom, rgba(0,0,0,0.4) 0%,rgba(0,0,0,0) 100%); z-index: 1; }
	#iggo-slider.full { position: relative; flex: 1 0 auto; height: calc(100% - var(--header-height)); }

	/* LOW - max and min heights */
	#iggo-slider.low,
	#iggo-slider.low .single-slide img { max-height: 250px; min-height: 150px; }
	.slider-lite.low img { min-height: 150px; }

	/* Slider max and min heights */
	#iggo-slider.medium,
	#iggo-slider.medium .single-slide img { max-height: 500px; min-height: 340px; }
	.slider-lite.medium img { max-height: 500px; min-height: 270px; }

	#iggo-slider, 
	#slider-slides, 
	#iggo-slider .single-slide { height: 100%; }

	.stampwrap { display: none; }

	/* Arrow down */
	#slider-arrow { z-index: 10; position: absolute; bottom: 60px; width: 40px; left: calc(50% - 20px); display: inline-block; font-size: 46px; color: rgba(255,255,255,0.3); text-align: center; }
	#slider-arrow:hover { color: rgba(255,255,255,0.65); }
	#slider-arrow:focus,
	#slider-arrow:active { color: rgba(255,255,255,0.3); }

	@keyframes bounce-down {
		0% { opacity: 0; transform: translateY(-20px); color: rgba(255,255,255,0.3); }
		40% { opacity: 1; transform: translateY(0); color: rgba(255,255,255,0.75); }
		60% { opacity: 1; transform: translateY(0); color: rgba(255,255,255,0.75); }
		100% { opacity: 0; transform: translateY(10px); color: rgba(255,255,255,0.3); }
	}

	#slider-arrow svg { animation: bounce-down 1.8s infinite; }

	/* Prevent slide stacking issues on pageload */
	#slider-slides { overflow: hidden; }
	.single-slide:first-child { display: block;	}

	/* Other */
	.single-slide { outline: none; position: relative; }
	.single-slide img { z-index: 0; width: 100%; object-fit: cover; height: 100%; }

	.single-slide .color-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; background: rgba(0,0,0,0.54); }

	.single-slide .container { z-index: 10; height: 100%; position: relative; display: flex; align-items: center; }
	.single-slide .container.left { justify-content: flex-start; text-align: left; }
	.single-slide .container.center { justify-content: center; text-align: center; }
	.single-slide .container.right { justify-content: flex-end; text-align: right; }

	.slideinfo { width: 100%; text-align: center; display: grid; grid-gap: 16px; padding: 0 16px; }
	.slideinfo h2 { color: var(--white-primary); margin: 0; }
	.slideinfo p { display: none; margin: 0; color: var(--white-primary); }

	.home #iggo-slider .color-overlay { display: none; }

	#iggo-slider.full .slideinfo p { display: block; }

	.slideinfo a.readmore { color: var(--white-primary); transition: var(--transition-med); text-transform: uppercase; margin: 0 auto 4px; }


		/* Larger than mobile */
			@media (min-width: 768px) {
				.slideinfo { text-align: inherit; padding: 0; }
				.slideinfo a.readmore { padding: var(--button-normal-padding); line-height: 44px; }

				#iggo-slider.low,
				#iggo-slider.low .single-slide img { min-height: auto; }

				.container.left .slideinfo a.readmore { margin: 0 auto 4px 0; }
				.container.center .slideinfo a.readmore { margin: 0 auto 4px auto; }
				.container.right .slideinfo a.readmore { margin: 0 0 4px auto; }

				/* Stamp Vaala */
				.stampwrap { display: block; position: absolute; top: 16px; right: 0; z-index: 2; text-align: right; /* width: 100%; */ }
				.stamplink { float: right; }
				.stampimage { width: 120px; transition: var(--transition-med); opacity: 0.9; }

				.stamplink:hover .stampimage { transform: scale(1.05) rotate(10deg); opacity: 1; }
			}

			@media (min-width: 992px) {
				.slideinfo p { display: block; }
				.container.left .slideinfo p ~ a.readmore,
				.container.center .slideinfo p ~ a.readmore,
				.container.right .slideinfo p ~ a.readmore { margin-top: 16px; }

				#iggo-slider.medium,
				#iggo-slider.low { margin-top: var(--header-height); }

				#iggo-slider.medium,
				#iggo-slider.medium .single-slide img { max-height: 750px; min-height: 530px; }				

				#iggo-slider.full { height: 100%; }

				.stampwrap { top: 30px; }
				.stampimage { width: 150px; }

				.slideinfo { max-width: 50%; }
				.slideinfo h2 { font-size: var(--h1); }
				.slideinfo p { font-size: var(--text-large); }
				.stampimage { width: 200px; }
			}

			@media (min-height: 800px) {
				#iggo-slider.medium,
				#iggo-slider.medium .single-slide img { max-height: 625px; }
				#iggo-slider.low,
				#iggo-slider.low .single-slide img { max-height: 312px; }
			}

			@media (min-height: 992px) {
				#iggo-slider.medium,
				#iggo-slider.medium .single-slide img { max-height: 750px; }
				#iggo-slider.low,
				#iggo-slider.low .single-slide img { max-height: 375px; }
			}





/* Breadcrumbs
---------------------------------------------------------------------------------------------------------------------- */
	#breadcrumbs { display: none; }

		@media (min-width: 992px) {
			#breadcrumbs { display: block; padding: 16px 0; border-bottom: var(--border-blacktrans); background: #F5F5F5; }
			.breadcrumbs { font-size: var(--text-small); }
			.breadcrumbs > span { margin: 0; }
			.breadcrumbs .separator { margin: 0 10px; color: var(--black-secondary); }

			header + #breadcrumbs { margin-top: var(--header-height); }
		}





/* Content
---------------------------------------------------------------------------------------------------------------------- */
	section.expand { flex: 1 0 auto; }

		@media (min-width: 768px) {
			section.expand { display: flex; }
		}

	/* Elements */
	section p,
	section li { font-size: var(--text-normal); }

	section ul,
	section ol { margin: 0 0 16px; padding: 0; }

	section ul li,
	section ol li { margin-left: 15px; margin-bottom: 8px; }

	/* Tables */
	table { overflow-x: auto; white-space: nowrap; max-width: 100%; display: block; border-collapse: collapse; border-spacing: 0; vertical-align: top; margin: 0 0 16px; }
	table th,
	table td { padding: 6px 12px; border: 1px solid #DDD; }

	/* Wysiwyg images */
	section .alignleft { display: inline; float: left; margin: 4px 24px 20px 0; max-width: 50%; height: auto; }
	section .alignright { display: inline; float: right; margin: 4px 0 20px 24px; max-width: 50%; height: auto; }
	section .aligncenter { clear: both; display: block; margin: 4px auto 12px; }

	.wp-caption { background: #f1f1f1; text-align: center; margin-bottom: 0; padding: 0; }
	.wp-caption img { padding: 8px 8px 4px 8px; }
	.wp-caption-text { margin: 1px 10px 8px; color: var(--black-secondary); font-size: var(--text-small); font-style: italic; }

	/* Single article meta */
	.single .single-metadata { text-align: center; padding-top: var(--sectiongap); padding-bottom: var(--sectiongap); }
	.single .single-metadata img { margin: 0 auto 24px; }
	.single .single-metadata .excerpt { font-size: var(--h3); color: var(--black-primary); margin: 0 auto 20px; }
	.single .single-metadata .meta { margin: 0 auto; color: var(--black-secondary); }
	.single .single-metadata .meta > span { display: inline-block; margin: 2px 8px; }
	.single .single-metadata .author { }
	.single .single-metadata .date { text-transform: capitalize; }
	.single .single-metadata .categories { }

	.single .single-metadata ul { display: inline-block; list-style: none; margin: 0; }
	.single .single-metadata li { display: inline-block; margin: 0 6px 0 0; }
	.single .single-metadata li:last-child { margin: 0; }
	.single .single-metadata li { }
	.single .single-metadata li a { color: var(--black-secondary); }

		@media (min-width: 992px) {
			.single .single-metadata .excerpt,
			.single .single-metadata .meta { max-width: 66%; }
		}





/* Sidemenu
---------------------------------------------------------------------------------------------------------------------- */
	ul.sidemenu { margin: 0; list-style: none; font-family: var(--font-nav); }
	.sidemenu li { font-size: 16px; }

	/* Lvl 1 */
	.sidemenu > li { margin: 0; border-bottom: var(--border-blacktrans); }
	.sidemenu > li:last-child { border-bottom: none; }
	.sidemenu > li > a { display: block; padding: var(--sidebargap); line-height: 1.1; }
	.sidemenu > li > a:hover,
	.sidemenu > li > a:focus { text-decoration: none; }

	.sidemenu > li.current_page_item > a,
	.sidemenu > li.current-cat > a { color: var(--secondary-wcag); }
	.sidemenu > li.current_page_ancestor > a { color: var(--linkcolor); }

	/* Lvl2 */
	.sidemenu > li > ul.children { display: none; margin: 0 0 8px; overflow: hidden; }
	.sidemenu > li.current_page_ancestor > ul.children,
	.sidemenu > li.current_page_item > ul.children,
	.sidemenu > li.current-cat > ul.children,
	.sidemenu > li.current-cat-ancestor > ul.children { display: block; }

	.sidemenu > li > ul.children > li { margin: 0; }
	.sidemenu > li > ul.children > li:first-child { border-top: none; }

	.sidemenu > li > ul.children > li > a { display: block; padding: 3px 10px 3px 17px; position: relative; color: var(--linkcolor); line-height: 1.1; }
	.sidemenu > li > ul.children > li > a:before { content: "»"; position: absolute; top: 3px; left: 5px; }
	.sidemenu > li > ul.children > li > a:hover,
	.sidemenu > li > ul.children > li > a:focus { text-decoration: none; }

	.sidemenu > li > ul.children > li.current_page_item > a { color: var(--secondary-wcag); }

	.sidemenu > li:last-child > ul.children { overflow: hidden; }

	/* Lvl3 */
	.sidemenu > li > ul.children > li > ul.children { display: none; margin: 0 0 15px; overflow: hidden; }
	.sidemenu > li > ul.children > li.current_page_ancestor > ul.children,
	.sidemenu > li > ul.children > li.current_page_item > ul.children { display: block; }

	.sidemenu > li > ul.children > li > ul.children > li { margin: 0; }
	.sidemenu > li > ul.children > li > ul.children > li:first-child { border-top: none; }
	.sidemenu > li > ul.children > li > ul.children > li > a { display: block; padding: 3px 10px 3px 28px; color: var(--linkcolor); position: relative; line-height: 1.1; }
	.sidemenu > li > ul.children > li > ul.children > li > a:before { content: "»"; position: absolute; top: 3px; left: 16px; }

	.sidemenu > li > ul.children > li > ul.children > li > a:hover,
	.sidemenu > li > ul.children > li > ul.children > li > a:focus { text-decoration: none; background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(243,243,243,1) 100%); }

	.sidemenu > li > ul.children > li > ul.children > li.current_page_item > a { color: var(--secondary-wcag); }

	.sidemenu > li > ul.children > li:last-child > ul.children { overflow: hidden; }

	/* Lvl4 */
	.sidemenu > li > ul.children > li > ul.children > li > ul.children { display: none; margin: 0 0 16px; overflow: hidden; }

	.sidemenu > li > ul.children > li > ul.children > li.current_page_ancestor > ul.children,
	.sidemenu > li > ul.children > li > ul.children > li.current_page_item > ul.children { display: block; }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li { margin: 0; }
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li:first-child { border-top: none; }
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > a { display: block; padding: 3px 10px 3px 38px; color: var(--linkcolor); position: relative; line-height: 1.1; }
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > a:before { content: "»"; position: absolute; top: 3px; left: 26px; }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > a:hover,
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > a:focus { text-decoration: none; background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(243,243,243,1) 100%); }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li.current_page_item > a { color: var(--secondary-wcag); }

	.sidemenu > li > ul.children > li:last-child > ul.children { overflow: hidden; }

	/* Lvl5 */
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children { display: none; margin: 0 0 16px; overflow: hidden; }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li.current_page_ancestor > ul.children,
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li.current_page_item > ul.children { display: block; }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li { margin: 0; }
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li:first-child { border-top: none; }
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > a { display: block; padding: 3px 10px 3px 48px; color: var(--linkcolor); position: relative; line-height: 1.1; }
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > a:before { content: "»"; position: absolute; top: 3px; left: 36px; }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > a:hover,
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > a:focus { text-decoration: none; background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(243,243,243,1) 100%); }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li.current_page_item > a { color: var(--secondary-wcag); }

	/* Lvl6 */
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > ul.children { display: none; margin: 0 0 16px; overflow: hidden; }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li.current_page_ancestor > ul.children,
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li.current_page_item > ul.children { display: block; }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li { margin: 0; }
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li:first-child { border-top: none; }
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > a { display: block; padding: 3px 10px 3px 58px; color: var(--linkcolor); position: relative; line-height: 1.1; }
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > a:before { content: "»"; position: absolute; top: 3px; left: 46px; }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > a:hover,
	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > a:focus { text-decoration: none; background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(243,243,243,1) 100%); }

	.sidemenu > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li > ul.children > li.current_page_item > a { color: var(--secondary-wcag); }



/* IGGO File Type Links
---------------------------------------------------------------------------------------------------------------------- */
	a[href$=".zip"] svg,
	a[href$=".rar"] svg,
	a[href$=".doc"] svg,
	a[href$=".docx"] svg,
	a[href$=".xls"] svg,
	a[href$=".xlsx"] svg,
	a[href$=".ppt"] svg,
	a[href$=".jpg"] svg,
	a[href$=".png"] svg,
	a[href$=".gif"] svg,
	a[href$=".eps"] svg,
	a[href$=".mov"] svg,
	a[href$=".mp4"] svg,
	a[href$=".avi"] svg,
	a[href$=".mkv"] svg,
	a[href$=".pdf"] svg,
	a[href$=".apk"] svg,
	a[href$=".ics"] svg,
	a[href$=".mp3"] svg,
	a[href$=".flac"] svg { margin-right: 6px; }





/* Colorbox
---------------------------------------------------------------------------------------------------------------------- */
	#colorbox, #cboxOverlay, #cboxWrapper { position: absolute; top: 0; left: 0; z-index: 9999; }
	#cboxMiddleLeft, #cboxBottomLeft { clear: left; }
	#cboxLoadingOverlay, #cboxLoadingGraphic { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
	.cboxPhoto { float: left; margin: auto; border: 0; display: block; max-width: none; }
	#colorbox, #cboxContent, #cboxLoadedContent { box-sizing: content-box; }

    .cboxIframe { width: 100%; height: 100%; display: block; border: 0; padding: 0; margin: 0; background: #FFF; }
    #cboxError { padding: 50px; border: 1px solid #ccc; }

	#colorbox { outline: 0; overflow: visible; }
	#cboxWrapper { max-width: none; overflow: visible; --outline-clr: #FFF; }
	#cboxLoadedContent { overflow: auto; -webkit-overflow-scrolling: touch; border: none; background: none; }
	#cboxOverlay { position: fixed; width: 100%; height: 100%; background: var(--black-primary); overflow: hidden; }
	#cboxContent { position: relative; background: none; margin-top: 0; margin-bottom: 40px; }

	#cboxLoadingGraphic { background: url("images/ajax-loader.png") no-repeat center center; }

	#cboxCurrent { color: #777; bottom: calc(100% + 17px); position: absolute; top: auto; font-size: 14px; line-height: 1.3; width: 60px; right: 54px; text-align: right; }
	#cboxTitle { color: var(--white-primary); position: absolute; top: calc(100% + 9px); bottom: auto; left: 0; font-size: 14px; line-height: 1.3; font-style: italic; width: calc(100% - 16px); text-align: center; padding: 0 8px; }

	#cboxPrevious,
	#cboxNext,
	#cboxClose,
	#cboxSlideshow { position: absolute; width: 52px; height: 52px; background: none; opacity: 0.5; transition: var(--transition-fast); -webkit-tap-highlight-color: rgba(255, 255, 255, 0); border: 0; padding: 0; cursor: pointer; }

	#cboxPrevious { top: calc(50% - 26px); left: -48px; }
	#cboxNext { top: calc(50% - 26px); right: -48px; }
	#cboxClose { top: -52px; right: 0px; }
	#cboxSlideshow { top: -52px; left: 0px; }

	.cbox-icon-close,
	.cbox-icon-prev,
	.cbox-icon-next,
	.cbox-icon-play,
	.cbox-icon-stop { position: absolute; top: 6px; left: 6px; width: 40px; height: 40px; fill: var(--white-primary); transition: var(--transition-fast); }

    /* Avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
    #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active { outline: 0; }


			@media (min-width: 768px) {
				#cboxClose:hover,
				#cboxPrevious:hover,
				#cboxNext:hover,
				#cboxSlideshow:hover { opacity: 0.75; }

				#cboxPrevious:hover .cbox-icon-prev { transform: translate3d(-8px, 0, 0); }
				#cboxNext:hover .cbox-icon-next { transform: translate3d(8px, 0, 0); }
			}





/* Article listings and category view
---------------------------------------------------------------------------------------------------------------------- */
.post-catlist { display: block; width: 100%; margin: -6px 0 0.25rem; }
.post-catlist li { list-style: none; }
.post-catlist li a { font-size: 0.938rem; color: #999; }

/* Article list */
.category .post-categories { margin: 0.875rem -0.188rem 0; width: 100%; text-align: center; }
.category .post-categories > li { margin: 0px 1px; list-style: none; display: inline-block; }
.category .post-categories > li > a { float: left; background: #EEE; border: 1px solid #DDD; padding: 3px 7px 3px; color: var(--black); border-radius: 4px; font-size: 0.75rem; }

.category .post-categories > li > a:hover,
.category .post-categories > li > a:focus { text-decoration: none; background: #E5E5E5; }

	/* Pagination */
	.pagination-nav { padding: 48px 16px 16px; }
	.pagination-nav ul { text-align: center; margin: 0; }
	.pagination-nav li { list-style: none; display: inline-block; margin: 1px; }
	.pagination-nav li.active a { background: var(--primary); color: #FFF; }
	.pagination-nav a { display: block; width: 42px; padding: 8px; border: 1px solid var(--primary); }
	.pagination-nav a:hover { background: rgba(0,0,0,0.1); }
	.pagination-nav .prevpage a,
	.pagination-nav .nextpage a { width: auto; padding: 8px 16px; }





/* Formidable
---------------------------------------------------------------------------------------------------------------------- */
	.frm_forms { line-height: 1.15; margin: 0 0 32px; --border-radius: 4px; }
	.frm_hidden,
	.frm_pos_none { display: none !important; }


	/* Form Grid */
	.frm_forms .frm_fields_container { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 16px; padding: 0; margin: 0; border: none; }
	.form-field { grid-column: 1/3; }

	.frm_screen_reader {
		border: 0;
		clip: rect(1px, 1px, 1px, 1px);
		-webkit-clip-path: inset(50%);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
		word-wrap: normal !important; /* many screen reader and browser combinations announce broken words as they would appear visually */
	}

			@media (min-width: 768px) {
				.frm_first.frm_half { grid-column: 1/2; }
				.frm_half { grid-column: 2/3; }
			}

	/* Containers */
	.form-field { position: relative; }

	textarea { padding: 19px 12px 6px 12px; }

	/* Error Notification */
	.frm_error_style { border-radius: var(--border-radius); background: var(--errorcolor); padding: 8px 16px; color: #FFF; line-height: var(--button-normal-lineheight); margin: 0 0 32px; }
	.frm_error_style p { color: var(--white-primary); }
	.field-filled .frm_error { display: none; }

	/* Label */
	.form-field-text > label,
	.form-field-textarea > label,
	.form-field-url > label,
	.form-field-email > label,
	.form-field-phone > label { position: absolute; left: 12px; top: 14px; transform-origin: bottom left; transition: var(--transition-slow); font-size: var(--text-normal); }

	.form-field.field-empty > label { color: var(--black-secondary); }
	.form-field.field-filled > label { color: var(--black-disabled); }

	.field-focus > label { color: var(--primary); }
	.field-focus > label,
	.field-filled > label { transform: scale(.8) translateY(-18px) translateX(1px); }

	/* Inputs */
	.frm_forms input[type="text"],
	.frm_forms input[type="url"],
	.frm_forms input[type="email"],
	.frm_forms input[type="tel"],
	.frm_forms textarea,
	.frm_forms select { font-size: var(--text-normal); width: 100%; background: none; border-radius: var(--border-radius); border: 1px solid var(--form-bordercolor); transition: var(--transition-fast); outline: none; }

	.frm_forms input[type="text"],
	.frm_forms input[type="url"],
	.frm_forms input[type="email"],
	.frm_forms input[type="tel"] { padding: 19px 12px 6px 12px; }

	.frm_radio input[type="radio"] { position: relative; top: 1px; }

	/* Form Specific */
	#frm_form_6_container .frm_radio { float: left; margin-right: 16px; }
	#frm_form_6_container .frm_radio:last-child { margin-right: 0; }
	#frm_form_6_container #frm_field_72_container > label { display: none; }

	/* Invalid */
	.frm_forms :invalid { box-shadow: none; }

	.frm_forms .field-filled input[type="text"]:invalid,
	.frm_forms .field-filled input[type="url"]:invalid,
	.frm_forms .field-filled input[type="email"]:invalid,
	.frm_forms .field-filled input[type="tel"]:invalid,
	.frm_forms .field-filled textarea:invalid,
	.frm_forms .field-filled select:invalid { border: 1px solid var(--errorcolor); box-shadow: none; }

	.frm_error { color: var(--errorcolor); font-size: var(--text-small); }

	/* On Focus */
	.frm_forms input[type="text"]:focus,
	.frm_forms input[type="url"]:focus,
	.frm_forms input[type="email"]:focus,
	.frm_forms input[type="tel"]:focus,
	.frm_forms textarea:focus,
	.frm_forms select:focus { border: 1px solid var(--primary-light); }

	/* File Upload */
	.form-field-file .frm_compact_text { display: none; }
	.form-field-file .frm_small_text { font-size: var(--text-small); color: var(--black-secondary); }
	.form-field-file label { display: block; margin-bottom: 4px; }

	/* Captcha */
	.form-field-captcha { display: none; }

	.dz-success-mark,
	.dz-error-mark { display: none; }
	.dz-preview { float: left; width: 100%; padding: 16px; background: #F5F5F5; margin: 4px 0 0; }
	.dz-image { width: 68px; height: 68px; float: left; background: #CCC; }
	.dz-details { width: calc(100% - 80px); float: right; margin-bottom: 4px; }
	.dz-progress { clear: right; float: right; width: calc(100% - 80px); }
	.dz-progress .dz-upload { background: #f57c00; height: 8px; display: inline-block; transition: var(--transition-slow); }
	.dz-complete .dz-upload { background: #689f38; }
	.dz-remove { font-size: var(--text-small); padding-left: 12px; }
	.dz-max-files-reached > .needsclick { display: none; }

	.frm_upload_text { display: inline-block; cursor: pointer; margin-bottom: 6px; border-radius: var(--border-radius); padding: var(--button-normal-padding); line-height: var(--button-normal-lineheight); transition: var(--transition-fast); }

	.content-centered .frm_upload_text { background: var(--primary); color: var(--primary-text-color); }
	.content-centered .frm_upload_text:hover { background: var(--primary-dark); }

	/* Radio & Check */
	.form-field-checkbox > label,
	.form-field-radio > label { color: var(--black-secondary); margin-bottom: 3px; display: block; }

	/* Select */
	.form-field-select > label { color: var(--black-secondary); margin-bottom: 3px; display: block; }

	/* Submit */
	.frm_submit button { border-radius: var(--border-radius-round); font-family: var(--font-nav); border: none; cursor: pointer; background: var(--primary); color: var(--primary-text-color); padding: var(--button-normal-padding); line-height: var(--button-normal-lineheight); transition: var(--transition-fast); font-size: var(--text-normal); }
	.frm_submit button:hover { background: var(--primary-dark); }

	/* Misc */
	.frm_forms .frm_checkbox input[type="checkbox"] { vertical-align: middle !important; margin-bottom: 2px !important; }

	.frm_forms .frm_ajax_loading { position: absolute; top: 62px; left: calc(50% - 8px); }

	.frm_style_formidable-style.with_frm_style .frm_error { margin-top: 4px; }

	.frm_none_container > label.frm_primary_label { display: none; } /* Hide label for Invisible reCAPTCHA */

	.frm_message { color: #FF0000; }



/* Events
---------------------------------------------------------------------------------------------------------------------- */

	/* Events and Sidebar Calendar CSS redone after plugin update re-did all of the html 2023-10-13 */
	#sidebar .calendar { background: rgba(0,0,0,0.08); padding: 0; overflow: hidden; margin: 0 0 16px; }
	#sidebar .calendar .month form > .nice-select { display: none; }
	.em.em-modal .em-modal-popup header { height: auto; position: relative; }

	#sidebar .calendar .em-calendar { background: #DDD !important; }
	#sidebar .calendar :is(.em-cal-head, .em-cal-body) { padding: 0 8px; background: #F5F5F5; }
	#sidebar .calendar .em-cal-nav { padding: 0 12px 0 16px; margin: 0; height: 38px; }
	#sidebar .calendar .em-cal-head { border-radius: 0; }
	#sidebar .calendar .em-cal-body { padding-bottom: 8px; }
	#sidebar .calendar .em-cal-events-content { display: none; }
	#sidebar .calendar .em.em-calendar.size-small .em-cal-nav .month input { font-size: 18px !important; }
	#sidebar .calendar .em.em-calendar.size-small .em-cal-nav .em-calnav { height: 32px; padding: 8px 2px; }

	#content .content-centered .em-item-header { display: none; }

	#sidebar .em.em-calendar.size-small .em-cal-nav .month input { font-size: 16px !important; }
	#sidebar .em.em-calendar.size-small .em-cal-body .em-cal-day .em-cal-day-date.em-cal-day-date a, 
	#sidebar .em.em-calendar.size-small .em-cal-body .em-cal-day .em-cal-day-date.em-cal-day-date span { width: 28px; height: 28px; padding: 3px 4px; }

	#sidebar .calendar .em-cal-day-date a { border: none !important; color: #333 !important; }
	#sidebar .calendar .em-cal-day-date .limited-icon { color: #666 !important; top: -3px; right: -3px; }
	#sidebar .calendar .eventful-today .em-cal-day-date a { background: var(--primary-light) !important; color: #FFF !important; }

	#sidebar .calendar .month-nav { display: none; }

	/* Eventlist SMALL */
	.eventlist-small { margin: 32px 0 0; }
	.eventlist-small .single-event { display: flex; -webkit-display: flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; flex: 0 0 100%; -webkit-flex: 0 0 100%; max-width: 100%; flex-basis: 100%; padding: 0.5rem 0; border-top: 1px solid #DDD; }
	.eventlist-small .single-event:last-child { border-bottom: 1px solid #DDD; }
	.eventlist-small .event-inner { float: left; width: 100%; background: none; text-align: center; padding: 0; }

	.eventlist-small .ev-info { width: 100%; }
	.eventlist-small .ev-title { margin: 0 0 4px; }
	.eventlist-small svg { color: var(--black-secondary); width: 16px !important; height: 16px !important; margin-right: 6px; top: 1px; position: relative; }
	.eventlist-small .ev-textline { color: var(--black-secondary); font-size: var(--text-small); line-height: 18px; margin: 2px 0; }
	.eventlist-small .span { float: right; width: 100%; max-width: calc(100% - 22px); }

	/* Event CONTENT */
	.event-content .ev-info { width: 100%; border-bottom: var(--border-blacktrans); padding-bottom: 32px; margin-bottom: 32px; }
	.event-content .ev-title { margin: 0 0 4px; }
	.event-content .ev-info svg { color: var(--black-secondary); width: 16px !important; height: 16px !important; margin-right: 6px; top: 1px; position: relative; }
	.event-content .ev-textline { color: var(--black-secondary); margin: 2px 0; }

	/* IFB Tapahtumakalenteri block */
	.ifb-section-eventlist .ifb-block { text-align: center; }

	.eventlist-wide { clear: both; display: flex; display: -webkit-flex; align-items: stretch; -webkit-align-items: stretch; flex-wrap: wrap; -webkit-flex-wrap: wrap; margin: -0.375rem; width: calc(100% + 0.75rem); float: left; margin: 0 0 16px; }
	.eventlist-wide .single-event { text-align: left; display: flex; -webkit-display: flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; flex: 0 0 calc(100% / 2); -webkit-flex: 0 0 calc(100% / 2); max-width: calc(100% / 2); flex-basis: calc(100% / 2); padding: 0.375rem; position: relative; --outline-clr: var(--linkcolor); }

	.eventlist-wide .event-inner { float: left; width: 100%; background: none; text-align: center; padding: 0; }

	.eventlist-wide .ev-info { width: 100%; border: none; background: #FFF; color: var(--black-primary); padding: 0.75rem 1rem; }
	.archive .eventlist-wide .ev-info { background: #F5F5F5; }

	.eventlist-wide .ev-title { margin: 0 0 8px; font-family: var(--font-title); font-size: var(--h3); line-height: 1.1; }
	.eventlist-wide .ev-title > a { color: var(--primary) !important; }
	.eventlist-wide svg { color: var(--black-secondary); font-size: var(--text-small); width: 16px !important; text-align: center; margin-right: 6px; }
	.eventlist-wide .ev-textline { color: var(--black-secondary); font-size: var(--text-small); line-height: 1.4; margin: 1px 0; }
	.eventlist-wide .span { float: right; width: 100%; max-width: calc(100% - 22px); }

		@media (min-width: 992px) {
			.ifb-section-eventlist .ifb-block { text-align: left; }
			.eventlist-wide .single-event { flex: 0 0 calc(100% / 4); -webkit-flex: 0 0 calc(100% / 4); max-width: calc(100% / 4); flex-basis: calc(100% / 4); }
		}

	/* 2025-04: Tapahtumat page (didn't exist before??) */
	.content-fullwidth #em-wrapper { margin: 0 auto; padding: 0 20px; max-width: 840px; }

		@media (min-width: 992px) {
			.content-fullwidth #em-wrapper { padding: 0 calc(var(--sectiongap) / 2); max-width: 1200px; }
		}




/* jQuery Nice Select
---------------------------------------------------------------------------------------------------------------------- */
	.nice-select { height: var(--fieldheight); line-height: var(--fieldheight); padding: 0 26px 0 12px; border: 1px solid var(--form-bordercolor); border-radius: 4px; background: #FFF; font-size: var(--text-small); cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; position: relative; text-align: left;
		color: var(--black-primary);
		-webkit-tap-highlight-color: transparent;
		clear: both;
		display: block;
		float: left;
		outline: none;

		-webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;

		white-space: nowrap;
		width: 100%; }

	.nice-select:focus-visible { outline: none; border: 1px solid var(--primary-light); }
	.nice-select:active,
	.nice-select.open { border: 1px solid var(--primary-light); }

	.nice-select .current { display: block; overflow: hidden; text-overflow: ellipsis; }

  .nice-select:after { height: 7px; width: 7px;
    border-bottom: 2px solid #999;
    border-right: 2px solid #999;
    content: '';
    display: block;
    margin-top: -4px;
    pointer-events: none;
    position: absolute;
    right: 12px;
    top: 50%;
    -webkit-transform-origin: 66% 66%;
        -ms-transform-origin: 66% 66%;
            transform-origin: 66% 66%;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out; }
	.nice-select.open:after {
    -webkit-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
            transform: rotate(-135deg); }
	.nice-select.open .list {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: scale(1) translateY(0);
        -ms-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0); }

	.nice-select.disabled {	border-color: #ededed; color: #999;	pointer-events: none; }
	.nice-select.disabled:after { border-color: #CCC; }
	.nice-select.wide { width: 100%; }

    .nice-select.wide .list { left: 0 !important; right: 0 !important; }
	.nice-select.right { float: right; }
	.nice-select.right .list { left: auto; right: 0; }

	.nice-select.small { font-size: 12px; height: 36px; line-height: 34px; }
    .nice-select.small:after { height: 4px; width: 4px; }
    .nice-select.small .option { line-height: 34px; min-height: 34px; }

	.nice-select .list { min-width: 100%;
	    background-color: #fff;
	    border-radius: 5px;
	    box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
	    box-sizing: border-box;
	    opacity: 0;
	    overflow: hidden;
	    padding: 0;
	    pointer-events: none;
	    position: absolute;
	    top: calc(100% + 1px);
	    left: 0;
	    -webkit-transform-origin: 50% 0;
	        -ms-transform-origin: 50% 0;
	            transform-origin: 50% 0;
	    -webkit-transform: scale(0.75) translateY(-21px);
	        -ms-transform: scale(0.75) translateY(-21px);
	            transform: scale(0.75) translateY(-21px);
	    -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
	    transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
	    z-index: 9; }
    .nice-select .list:hover .option:not(:hover) { background-color: transparent !important; }

	.nice-select .option { margin: 0; font-size: var(--text-small);
		cursor: pointer;
		line-height: 40px;
		list-style: none;
		min-height: 40px;
		outline: none;
		padding-left: 12px;
		padding-right: 12px;
		text-align: left;
		-webkit-transition: all 0.2s;
		transition: all 0.2s; }

	.nice-select .option:hover,
	.nice-select .option.focus,
	.nice-select .option.selected.focus { background-color: #f6f6f6; }

	.nice-select .option.selected { font-weight: bold; }
	.nice-select .option.disabled { background-color: transparent; color: #999; cursor: default; }

	.no-csspointerevents .nice-select .list { display: none; }
	.no-csspointerevents .nice-select.open .list { display: block; }





/* Footer
---------------------------------------------------------------------------------------------------------------------- */
	footer { color: var(--white-primary); font-family: var(--font-nav); font-size: var(--text-large); line-height: 1.3; --outline-clr: #FFF; }

	footer .top { display: none; }
	footer .middle { background: var(--primary); padding: var(--gridgap) 0; }
	footer .bottom { background: var(--primary); padding: 16px 0 40px 0; text-align: center; }

	.footlines { width: 100%; }
	.footline-top { width: 100%; height: 3px; background: #FFF; position: absolute; top: 100px; left: 0; }
	.footline-bot { width: 100%; height: 7px; background: #FFF; position: absolute; top: 115px; left: 0; }

	footer .top .container { position: relative; }
	footer .top .vaala-linelogo { position: absolute; top: -35px; right: 32px; width: 250px; }

	.foottop-grid { display: grid; grid-template-columns: 100%; grid-gap: calc(var(--gridgap) / 2) 0; text-align: center; }
	.footmid-grid { display: grid; grid-template-columns: 100%; grid-gap: calc(var(--gridgap) * 0.75) 0; text-align: center; }

	footer .logowhite { width: 140px; margin: 0 auto 32px; }

	footer .footvaakuna { width: 40px; display: inline-block; margin: 0 auto; }
	footer .copyright { width: 100%; text-align: center; }
	footer .copyright a { display: inline-block; padding-block: 4px; font-size: var(--text-small); }
	footer .copyright .separator { display: none; }
	footer .copyr-vaala { margin-top: 4px; display: inline-block; font-size: var(--text-small); }

	footer a { color: var(--white-primary); }
	footer a:hover,
	footer a:focus { color: var(--white-secondary); }
	footer ul { margin: 0 0 20px; }
	footer li { list-style: none; margin-bottom: 2px; }
	footer li a { padding: 0; }

	footer p:last-child { margin: 0; }

	footer h3 { font-size: var(--h3); }

	footer .menu > li > a { left: 0; font-size: var(--text-large); font-weight: 600;}
	footer .menu > li > a:hover { left: 0; }

	footer .menu > li > ul { margin: 4px 0 20px 0; }
	footer .menu > li > ul > li { line-height: 1.1; margin: 0 0 9px; }

	footer .menu > li > ul > li > ul { display: none; }

	.foottop-grid h2,
	.foottop-grid h3,
	.foottop-grid h4 { color: var(--white-primary); }

	.footmid-grid h2,
	.footmid-grid h3,
	.footmid-grid h4 { color: var(--white-primary); }


		@media (min-width: 768px) {
			footer .middle { padding: var(--gridgap) 0; }
			footer .copyright a { padding-block: 0; }
			footer .copyright :is(a, .separator) { display: inline-block; }
			footer .copyr-vaala { margin-top: 0px; }

			footer .top { display: block; background: var(--primary); color: var(--primary-text-color); padding: var(--gridgap) 0; position: relative; }

			footer li a { position: relative; transition: var(--transition-fast); left: 0px; }
			footer li a:hover { left: 4px; }

			footer .logowhite { margin: 0 0 32px; }

			.foottop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-gap: var(--gridgap); }
			.footmid-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); text-align: left; grid-gap: var(--gridgap); }

			.footmid-grid > div:nth-child(3) { padding-top: 40px; }

			.foottop-grid div { grid-column: 1/3; align-self: center; }
			.foottop-grid div > :last-child { margin: 0; }
		}

		@media (min-width: 992px) {
			footer { padding-bottom: 0; }
		}





/* IGGO Flexible Blocks
---------------------------------------------------------------------------------------------------------------------- */
	.grid { display: grid; grid-template-columns: 100%; grid-gap: var(--gridgap); height: 100%; }

	aside { display: none; }
	.content-centered { max-width: 800px; width: 100%; margin: 48px auto 52px auto; color: var(--black-primary); }
	.content-fullwidth { max-width: none; width: 100%; }
	.single .content-fullwidth { background: #F7F3EB; }

	.archive #content { padding: var(--gridgap) 0; }

	#ifb-wrapper { display: grid; grid-template-columns: 100%; grid-gap: var(--gridgap); }
	.page-template-page-fullwidth #ifb-wrapper { position: relative; }
	.page-template-page-fullwidth #ifb-wrapper,
	.single #ifb-wrapper { grid-gap: 0; }

	.ifb-block :last-child { margin-bottom: 0; }

	.content-fullwidth .ifb-block { padding: 0 20px; margin: 0 auto; max-width: 840px; }
	.content-fullwidth > h1 { margin: 48px 0 20px; padding: 0 20px; text-align: center; }

	.archive .content-fullwidth > h1 { margin: 0 0 20px !important; }

	.content-fullwidth .ifb-section { padding: var(--sectiongap) 0 calc(var(--sectiongap) + 24px) 0; position: relative; }
	.content-fullwidth .block-style-white + .block-style-white,
	.content-fullwidth .block-style-light + .block-style-light,
	.content-fullwidth .block-style-dark + .block-style-dark,
	.content-fullwidth .block-style-black + .block-style-black,
	.content-fullwidth .block-style-primary + .block-style-primary,
	.content-fullwidth .block-style-secondary + .block-style-secondary,
	.content-fullwidth .block-style-tertiary + .block-style-tertiary { padding-top: 0; }

	.content-fullwidth h1 + #ifb-wrapper > .block-style-white:first-child { padding-top: 0; }

	/* Search results (added 08/2020) */
	.ifb-section-searchresults .search-item { border-top: 1px solid #DDD; padding: 16px 0 8px; }
	.ifb-section-searchresults .search-item p { margin: 0 0 8px; }
	.ifb-section-searchresults .search-item p:empty { display: none; }

		@media (min-width: 992px) {
			.search-results .content-fullwidth .ifb-section-searchresults { padding-top: calc(2 * var(--sectiongap)); }
		}


	/* Vaala lines */
	.content-fullwidth .ifb-section + .block-style-primary::before { content: ""; position: absolute; top: -24px; width: 100%; height: 12px; background: var(--primary); }
	.content-fullwidth .ifb-section + .block-style-secondary::before { content: ""; position: absolute; top: -24px; width: 100%; height: 12px; background: var(--secondary); }
	.content-fullwidth .ifb-section + .block-style-tertiary::before { content: ""; position: absolute; top: -24px; width: 100%; height: 12px; background: var(--tertiary); }
	.content-fullwidth .ifb-section + .block-style-dark::before { content: ""; position: absolute; top: -24px; width: 100%; height: 12px; background: var(--black-primary); }
	.content-fullwidth .ifb-section + .block-style-light::before { content: ""; position: absolute; top: -24px; width: 100%; height: 12px; background: #F7F3EB; }
	.content-fullwidth .ifb-section + .block-style-white::before { content: ""; position: absolute; top: -24px; width: 100%; height: 12px; background: #FFF; }

	.content-fullwidth .ifb-section-slider-lite::before { display: none; }

	.content-fullwidth .ifb-section-slidericons + .ifb-section::before { display: none; }


		@media (min-width: 992px) {
			header + #content .content-centered,
			header + #content aside { padding-top: calc(var(--header-height) + 48px); }
			header + #content .content-fullwidth { padding-top: var(--header-height); } /* Adding padding for non-slider pages */

			.single-post header + #content .single-metadata { padding-top: calc(var(--sectiongap) + 48px); }

			.grid { grid-template-columns: 200px minmax(0, 1fr); }
			aside { display: block; position: relative; margin: 64px 0 68px; }
			#sidebar { position: sticky; position: -webkit-sticky; top: calc(var(--header-height) + 16px); }
			#sidebar::after { content: ""; background: var(--secondary); height: 100%; width: 1px; position: absolute; top: 0; left: calc((var(--gridgap) / 2) + 100%); }
			.content-centered { margin: 64px 0 68px auto; }
			.content-fullwidth .ifb-block { padding: 0 calc(var(--sectiongap) / 2); max-width: 1200px; }

			.content-fullwidth > h1 { margin: 64px 0 20px; }
		}

		@media (min-width: 1050px) {
			.grid { grid-template-columns: 260px minmax(0, 1fr); }
		}


	/* IFB: Columns
	------------------------------------------------------------------------------------------------------------------ */
		.colcount-1 {  }
		.colcount-2 { display: grid; grid-template-columns: 100%; grid-gap: var(--gridgap); }

		.colcount-2 > .top { align-self: flex-start; }
		.colcount-2 > .middle { align-self: center; }
		.colcount-2 > .bottom { align-self: flex-end; }

		.content-fullwidth .block-style-white			{ color: var(--black-primary); }
		.content-fullwidth .block-style-dark			{ color: var(--white-primary); }
		.content-fullwidth .block-style-black			{ color: var(--white-secondary); }
		.content-fullwidth .block-style-primary 		{ color: var(--primary-text-color); --outline-clr: #FFF; }
		.content-fullwidth .block-style-secondary 		{ color: var(--secondary-text-color); --outline-clr: #000; }
		.content-fullwidth .block-style-tertiary 		{ color: var(--tertiary-text-color); --outline-clr: #FFF; }

		.content-fullwidth .block-style-primary h2,
		.content-fullwidth .block-style-primary h3		{ color: var(--primary-title-color); }

		.content-fullwidth .block-style-secondary h2,
		.content-fullwidth .block-style-secondary h3	{ color: var(--secondary-title-color); }

		.content-fullwidth .block-style-tertiary h2,
		.content-fullwidth .block-style-tertiary h3		{ color: var(--tertiary-title-color); }

			@media (max-width: 767px) {
				.colcount-2.text-image .col-text { grid-row: 2; }
			}

			@media (min-width: 768px) {
				.colcount-1 { grid-template-columns: minmax(0, 1fr); }
				.colcount-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
			}

			@media (min-width: 992px) {
				.content-fullwidth .colcount-1.text-only { width: 750px; }
				.content-fullwidth .colcount-1.image-only { width: 750px; }
			}


	/* IFB: Text
	------------------------------------------------------------------------------------------------------------------ */
		.col-text img { margin-bottom: 16px; height: auto; }
		.col-text a { text-decoration: underline; }
		.col-text iframe { width: 100%; }


	/* 2024 IFB: Col Video
	------------------------------------------------------------------------------------------------ */
		.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; height: auto; }
	    .embed-container :is(iframe, object, embed) { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
	    .col-video lite-youtube { max-width: 100%; }


	/* IFB: Image
	------------------------------------------------------------------------------------------------------------------ */
		.col-image img { width: 100%; margin: 0 auto; }


	/* IFB: Banner
	------------------------------------------------------------------------------------------------------------------ */
		.col-banner > a { display: block; position: relative; overflow: hidden; }
		.col-banner img { width: calc(100% + 60px); max-width: none; object-fit: cover; transition: var(--transition-slow); transform: translate3d(-50px,0,0); }
		.col-banner > a:hover img { transform: translate3d(-5px,0,0); filter: blur(3px); }

		.banner-textwrap ~ img { filter: blur(0px); }
		.banner-textwrap { background: rgba(0,50,96,0.6); text-align: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: grid; align-items: center; justify-items: center; z-index: 1; transition: var(--transition-slow); }

		.col-banner > a:hover .banner-textwrap { background: rgba(0,50,96,0.75); }

		.banner-inner { padding: 8px 24px; position: relative; width: 100%; }
		.banner-inner > .title { color: var(--white-primary); font-size: var(--h2); font-weight: 700; }
		.banner-inner > .desc { color: var(--white-primary); font-size: var(--text-small); transition: var(--transition-slow); line-height: 1.5; }

		.banner-textwrap .fa-long-arrow-right { position: absolute; bottom: 16px; left: calc(50% - 14px); opacity: 0; transition: var(--transition-slow); transform: translate3d(-50px,0,0); font-size: 32px; }
		.col-banner > a:hover .fa-long-arrow-right { opacity: 1; transform: translate3d(-5px,0,0); }





	/* IFB: Staff
	------------------------------------------------------------------------------------------------------------------ */
		.staff-grid { display: grid; grid-gap: var(--gridgap); }

		.staff-group .group-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-gap: var(--gridgap); }
		.single-person { text-align: center; }
		.single-person p { font-size: var(--text-small); }
		.single-person > img { width: 75%; margin: 0 auto 12px; border-radius: 100%; }

		.single-person .job-title { display: block; line-height: 1.2; font-size: var(--text-small); color: var(--black-secondary); font-style: italic; }
		.single-person .person-name { font-weight: bold; }

		.content-fullwidth .block-style-dark .single-person .job-title { color: var(--white-disabled); }
		.content-fullwidth .block-style-dark .single-person .person-name {  }
		.content-fullwidth .block-style-dark .single-person p { color: var(--white-disabled); }
		.content-fullwidth .block-style-dark .single-person > img { box-shadow: 0px 6px 4px -3px rgba(0,0,0,0.5); }

			@media (min-width: 768px) {
				.staff-group .group-list { grid-gap: calc(var(--gridgap) / 2); }
				.content-centered .staff-group .group-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
				.content-fullwidth .staff-group .group-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
			}

			@media (min-width: 992px) {
				.content-fullwidth .staff-group .group-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
			}


	/* IFB: Logo Block (carousel option removed 2025-03 for a11y reasons)
	------------------------------------------------------------------------------------------------------------------ */
		.logo-grid .logo-wrap { display: flex; flex-flow: row wrap; margin: -8px -12px; }
		.content-fullwidth .logo-grid .logo-wrap { justify-content: center; }

		.logo-grid a { flex: 0 0 calc(100% / 4); display: flex; border: 1px solid rgba(255,255,255,0); transition: var(--transition-fast); padding: 8px 12px; min-height: 80px; position: relative; overflow: hidden; }
		.logo-grid img { opacity: 1; transition: var(--transition-fast); height: auto !important; filter: grayscale(1); max-height: 45px; margin: 0 auto; justify-self: center; align-self: center; }
		.logo-grid a:hover img { filter: grayscale(0); }

		.logo-grid .corner-arrow { transition: var(--transition-fast); position: absolute; bottom: -16px; right: -16px; width: 16px; height: 16px; z-index: 3; transform: translate3d(0,0,0); }
		.logo-grid .corner-arrow::before { border-color: transparent transparent var(--primary); border-style: solid; border-width: 0 0 16px 16px; height: 0; width: 0; content:""; display: block; }
		.logo-grid a:hover .corner-arrow { transform: translate3d(-16px,-16px,0); }

			@media (min-width: 768px) {
				.logo-grid .logo-wrap { margin: -16px -20px; }
				.logo-grid a { flex: 0 0 calc(100% / 6); padding: 16px 20px; min-height: 105px; }
				.logo-grid img { max-height: 60px; }

				/* Fullwidth version */
				.content-fullwidth .logo-grid { margin: 0 auto; }
			}

			@media (min-width: 992px) {
				.content-fullwidth .logo-grid .logo-wrap { margin: -16px -28px; }
				.content-fullwidth .logo-grid a { flex: 0 0 calc(100% / 6); padding: 16px 28px; min-height: 105px; }
				.content-fullwidth .logo-grid img { max-height: 65px; }
			}

			@media (min-width: 1200px) {
				.content-fullwidth .logo-grid .logo-wrap { margin: -16px -32px; }
				.content-fullwidth .logo-grid a { flex: 0 0 calc(100% / 6); padding: 16px 36px; min-height: 105px; }
			}

			@media (min-width: 1208px) {
				.content-fullwidth .logo-grid .logo-wrap { margin: -16px -36px; } /* Fixes a render error in Firefox */
			}





	/* IFB: Gallery
	------------------------------------------------------------------------------------------------------------------ */
		.gallery-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
		.gallery-grid img { width: 100%; margin-bottom: 2px; }
		.gallery-grid .caption { font-size: var(--text-tiny); color: var(--black-secondary); font-style: italic; display: block; line-height: 1.3; }

			@media (min-width: 360px) {
				.content-centered .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
				.content-fullwidth .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
			}

			@media (min-width: 768px) {
				.gallery-grid .caption { font-size: var(--text-small); }
				.content-centered .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
				.content-fullwidth .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
			}

			@media (min-width: 992px) {
				.content-centered .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
				.content-fullwidth .gallery-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
			}





	/* IFB: Google Map
	------------------------------------------------------------------------------------------------------------------ */
		.content-fullwidth .ifb-section-gmap { padding: 0; }
		.block-gmap { height: 252px; overflow: hidden; }
		.block-gmap .acf-map { background: #E5E3DF; height: 100%; box-shadow: 0px 7px 2px -4px rgba(0,0,0,0.1); }

		.content-fullwidth .block-gmap { padding: 0; }

			@media (min-width: 768px) {
				.block-gmap { height: 300px; }
			}

			@media (min-width: 1000px) {
				.block-gmap { height: 352px; }
			}

	/* IFB: Slider Lite
	------------------------------------------------------------------------------------------------------------------ */
		.content-fullwidth .ifb-section-slider-lite { padding: 0; }
		.content-fullwidth .block-slider-lite { padding: 0; --outline-clr: #FFF; }


	/* IFB: Pricelist
	------------------------------------------------------------------------------------------------------------------ */
		.block-pricelist { display: grid; grid-gap: var(--gridgap); }

		.price-group > .group-desc { margin: 0 0 8px; }

		.single-price { display: grid; grid-template-columns: minmax(0, 1fr) 100px; padding: 0.375rem 0; border-bottom: 1px solid #DDD; }
		.single-price:first-child { border-top: 1px solid #DDD; }
		.price-info > .desc { font-size: var(--text-small); color: var(--black-secondary); padding-left: 8px; line-height: 1.3; font-style: italic; }
		.price { text-align: right; font-weight: bold; color: var(--primary); }


	/* IFB: Accordion
	------------------------------------------------------------------------------------------------------------------ */

		/* 2025 General */
		.ifb-accordion details { border-bottom: 1px solid var(--black-disabled); }
		.ifb-accordion details:first-child { border-top: 1px solid var(--black-disabled); }
		
		.ifb-accordion summary { list-style: none; padding: 12px 0; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) 24px; gap: 16px; }
		.ifb-accordion summary .acc-title-text { font-size: var(--text-large); transition: var(--transition-fast); font-weight: bold; }
		.ifb-accordion summary .acc-title-icon { position: relative; transition: var(--transition-fast); }
		.ifb-accordion summary svg { position: absolute; height: 100%; right: 0; transition: var(--transition-fast); display: flex; align-items: center; }

		.ifb-accordion .details-content { display: grid; grid-template-columns: minmax(0, 1fr); padding-bottom: 16px; }
		.ifb-accordion .acc-image img { width: 100%; }

		/* Fix summary list style showing on Chrome in iPhone */
		details summary::-webkit-details-marker {
        	display: none;
      	}

		/* 2025 Animation */
		.ifb-accordion details .fa-chevron-up { opacity: 0; transform: translate3d(0, 8px, 0); }
		.ifb-accordion details .fa-chevron-down { opacity: 1; transform: translate3d(0, 0, 0); }
		.ifb-accordion details[open] .fa-chevron-up { opacity: 1; transform: translate3d(0, 0, 0); }
		.ifb-accordion details[open] .fa-chevron-down { opacity: 0; transform: translate3d(0, 8px, 0); }

			@media (max-width: 575px) {
				.ifb-accordion .acc-image { padding-top: 16px; }
			}

			@media (min-width: 576px) {
				.ifb-accordion .details-content { display: grid; grid-template-columns: minmax(0, 1fr) 110px; grid-gap: 24px; }
				.ifb-accordion .acc-content { grid-column: 1/2; grid-row: 1; }
				.ifb-accordion .acc-content:last-child { grid-column: 1/3; grid-row: 1; }
				.ifb-accordion .acc-image { grid-column: 2/3; grid-row: 1; }
			}

			@media (min-width: 768px) {
				.ifb-accordion .details-content { grid-template-columns: minmax(0, 1fr) 150px; }
			}

			@media (min-width: 992px) {
				.content-fullwidth .block-accordion { max-width: 750px; margin: 0 auto; }
			}

			@media (min-width: 1156px) {
				.ifb-accordion .details-content { grid-template-columns: minmax(0, 1fr) 200px; }
			}


	/* IFB: Article List
	------------------------------------------------------------------------------------------------------------------ */
		.article-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-gap: calc(var(--cardgap) / 2); }
		.article-grid .meta { color: var(--black-disabled); font-size: var(--text-small); text-transform: capitalize; letter-spacing: 0.5px; }
		.article-grid .excerpt { margin: 0; line-height: 1.5; }

		.article-list { display: grid; grid-template-columns: 100%; }
		.article-list article { display: grid; grid-template-columns: minmax(0, 1fr) 90px; border-bottom: var(--border-blacktrans); padding: 8px 0; align-items: center; }
		.article-list article:first-child { border-top: var(--border-blacktrans); }
		.article-list h3 { font-size: calc(var(--text-large) + 1px); margin: 0; position: relative; top: 1px; }
		.article-list h3 a:hover { text-decoration: underline; }
		.article-list .meta { text-align: right; color: var(--black-secondary); font-size: var(--text-small); }

		/* Card */
		.card { background: var(--white-primary); overflow: hidden; }
		.card-content { padding: 16px 20px; border: 1px solid #DDD; border-top: none; }
		.card img { width: 100%; }

			@media (min-width: 768px) {
				.article-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
			}

			@media (min-width: 1024px) {
				.content-fullwidth .article-grid,
				.archive .article-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
			}


	/* IFB: Features
	------------------------------------------------------------------------------------------------------------------ */
		.feature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-gap: var(--cardgap); }
		.single-feature { text-align: left; }
		.single-feature img { margin: 0 auto 16px !important; border-radius: 100%; width: 75%; }
		.single-feature svg { width: auto !important; height: 40px; margin: 0 auto 16px; }
		.single-feature .readmore { display: none; }
		.single-feature h3 a { text-decoration: underline; }

		/* .single-feature:not(:has(svg)) h3 a { text-decoration: underline; } */

			@media (min-width: 768px) {
				.content-centered .feature-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
				.content-fullwidth .feature-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
			}


	/* IFB: Slider iconit ja linkit
	------------------------------------------------------------------------------------------------------------------ */
		.ifb-section-slidericons { background: rgba(0,80,118,0.73); position: absolute !important; height: 194px; top: -194px; left: 0; width: 100%; padding: 16px 0 !important; --outline-clr: #FFF; }

		.ifb-section-slidericons .feature-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }

		.slidericons .single-feature { text-align: center; }
		.slidericons .single-feature > a { display: block; height: 100%; }
		.slidericons .single-feature > a:is(:hover, :focus-visible) img { filter: drop-shadow(0px 0px 4px rgba(255,255,255,0.6)); opacity: .5; }
		.slidericons .single-feature img { width: 36px; margin: 0 auto 8px !important; border-radius: 0 !important; transition: var(--transition-med); }
		.slidericons .single-feature h3 { color: #FFF; font-size: var(--text-small); line-height: 1; }

		/* Added koronainfo saman blockin sisälle */
		.ifb-section-koronainfo { display: block; padding: 0 !important; position: absolute !important; height: 65px; line-height: 40px; text-align: center; width: 100%; top: -65px; background: rgba(205,22,89,0.75); border-bottom: 1px solid rgba(0,0,0,0.3); }
		.ifb-section-koronainfo a { color: #FFF; font-style: italic; font-weight: bold; font-size: var(--text-large); display: inline-block; padding-top: 24px; }
		.ifb-section-koronainfo a:hover { text-decoration: underline; }

		.ifb-section-koronainfo .covid-icon-mini { display: block; width: 70px; height: 70px; position: absolute; top: -35px; left: calc(50% - 35px); }
		.koronalinkki { width: 100%; }

			@media (min-width: 640px) {
				.ifb-section-slidericons { height: 109px; top: -109px; }
				.ifb-section-slidericons .feature-list { grid-template-columns: repeat(6, minmax(0, 1fr)); }
			}

			@media (min-width: 992px) {
				.slidericons .single-feature h3 { font-size: var(--h4); }
				.ifb-section-slidericons .feature-list { gap: 32px; }
				.slidericons .single-feature img { width: 50px; }
				.ifb-section-slidericons { height: 176px; top: -176px; padding: 32px 0 !important; }
			}


	/* IFB: Vaala Some News
	------------------------------------------------------------------------------------------------------------------ */
		.somenews-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-gap: var(--cardgap); }
		.somenews-grid .cff-expand a { display: none; }

		.somenews-grid .left .allnews { display: block; margin: 0 0 32px; font-size: var(--h4); font-family: var(--font-title); font-weight: 700; }
		.somenews-grid .left .readmore { display: flex; padding: var(--button-large-padding); font-size: var(--h4); align-items: center; float: left; }
		.somenews-grid .left .readmore img { margin: 9px 12px 9px 0; width: 40px; float: left; }

		.somenews-grid .article-custom { margin: 0 0 8px; }
		.rssfeed-wrap .article-custom { margin: 0 0 16px; }
		.somenews-grid a { color: var(--primary); }
		.somenews-grid .article-custom article { border-bottom: 1px solid #DDD; padding: 8px 0 12px; }
		.somenews-grid .article-custom article:first-child { border-top: 1px solid #DDD; }
		.somenews-grid .article-custom article h3 { font-size: calc(var(--text-normal)); font-family: var(--font-para); margin: 0; font-weight: 700; }
		.somenews-grid .article-custom article a:hover { text-decoration: underline; }
		.somenews-grid .article-custom .meta { color: var(--black-secondary); font-size: var(--text-small); display: block; margin-bottom: 4px; }
		.somenews-grid .article-custom .excerpt { line-height: 1.4; }

		.fbfeed-wrap { margin: 0 0 16px; }

		/* Override some accessibility issues with the FB feed */
		#cff .cff-author .cff-date,
		#cff-lightbox-wrapper .cff-author .cff-date { color: var(--black-secondary) !important; }

		.cff-view-comments-wrap { display: none; }

			@media (min-width: 768px) {
				.somenews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
			}





	/* IFB: Fullwidth Block Colors
	------------------------------------------------------------------------------------------------------------------ */

		/* Section Colors */
		.content-fullwidth .block-style-white		{ background: var(--white-primary); }
		.content-fullwidth .block-style-light		{ background: #F7F3EB; }
		.content-fullwidth .block-style-dark		{ background: var(--black-primary); }
		.content-fullwidth .block-style-black		{ background: #000; }
		.content-fullwidth .block-style-primary		{ background: var(--primary); }
		.content-fullwidth .block-style-secondary 	{ background: var(--secondary); }
		.content-fullwidth .block-style-tertiary 	{ background: var(--tertiary); }

		/* Generic Colors: Links */
		.content-fullwidth .block-style-dark a,
		.content-fullwidth .block-style-black a		{ color: var(--linkcolordark); }

		.content-fullwidth .block-style-primary a 	{ color: var(--primary-link-color); }
		.content-fullwidth .block-style-secondary a { color: var(--secondary-link-color); }
		.content-fullwidth .block-style-tertiary a { color: var(--tertiary-link-color); }

		/* Form Colors */
		.content-fullwidth .block-style-white .frm_upload_text,
		.content-fullwidth .block-style-light .frm_upload_text { background: var(--primary); color: var(--primary-text-color); }
		.content-fullwidth .block-style-white .frm_upload_text:hover,
		.content-fullwidth .block-style-light .frm_upload_text:hover { background: var(--primary-dark); }

		.content-fullwidth .block-style-primary .frm_upload_text { background: var(--secondary); color: var(--secondary-text-color); }
		.content-fullwidth .block-style-primary .frm_upload_text:hover { background: var(--secondary-dark); }

		/* Good */
		.content-fullwidth .block-style-dark .form-field > label,
		.content-fullwidth .block-style-black .form-field > label { color: var(--white-secondary); }

		/* New questionable css */
		.content-fullwidth .block-style-dark .frm_forms input[type="text"],
		.content-fullwidth .block-style-dark .frm_forms input[type="url"],
		.content-fullwidth .block-style-dark .frm_forms input[type="email"],
		.content-fullwidth .block-style-dark .frm_forms textarea,
		.content-fullwidth .block-style-dark .frm_forms select,
		.content-fullwidth .block-style-black .frm_forms input[type="text"],
		.content-fullwidth .block-style-black .frm_forms input[type="url"],
		.content-fullwidth .block-style-black .frm_forms input[type="email"],
		.content-fullwidth .block-style-black .frm_forms textarea,
		.content-fullwidth .block-style-black .frm_forms select { border-bottom: 1px solid var(--white-disabled); }

		.content-fullwidth .block-style-dark .form-field-file .frm_small_text,
		.content-fullwidth .block-style-black .form-field-file .frm_small_text { color: var(--white-disabled); }


	/* IFB: TinyMCE Custom Styles
	------------------------------------------------------------------------------------------------------------------ */

		/* TinyMCE Custom Styles: Read more button - NOTE TEXT-SHADOW REQUIRED FOR CONTRAST */
		.readmore { font-family: var(--font-nav); font-size: var(--text-normal); padding: var(--button-normal-padding); line-height: var(--button-normal-lineheight); background: var(--secondary-dark); color: var(--primary-text-color); display: inline-block; transition: var(--transition-fast); border-radius: var(--border-radius-round); border: none !important; margin-bottom: 10px; font-weight: bold; text-decoration: none !important; }
		.readmore:hover,
		.readmore:focus { background: var(--secondary); color: var(--primary-text-color); }

		.content-fullwidth .block-style-dark .readmore,
		.content-fullwidth .block-style-black .readmore { background: var(--primary); color: var(--primary-text-color); }
		.content-fullwidth .block-style-dark .readmore:hover,
		.content-fullwidth .block-style-black .readmore:hover { background: var(--primary-light); }

		.content-fullwidth .block-style-white .readmore,
		.content-fullwidth .block-style-light .readmore { background: var(--primary); color: var(--primary-text-color); }
		.content-fullwidth .block-style-white .readmore:hover,
		.content-fullwidth .block-style-white .readmore:focus { background: var(--primary-light); }

		.content-fullwidth .block-style-primary .readmore { background: var(--secondary); color: var(--secondary-text-color); }
		.content-fullwidth .block-style-primary .readmore:hover { background: var(--secondary-light); }

		.content-fullwidth .block-style-secondary .readmore { background: var(--black-secondary); color: var(--primary-text-color); }
		.content-fullwidth .block-style-secondary .readmore:hover { background: var(--black-primary); }

		.content-fullwidth .block-style-tertiary .readmore { background: var(--secondary); color: var(--secondary-text-color); }
		.content-fullwidth .block-style-tertiary .readmore:hover { background: var(--secondary-light); }

		.content-fullwidth .ifb-section-slider-lite .readmore { background: var(--secondary-dark); color: #FFF; }
		.content-fullwidth .ifb-section-slider-lite .readmore:hover { background: var(--secondary); }


		footer .readmore { padding: var(--button-large-padding); background: var(--secondary-dark); width: 100%; text-align: center; line-height: var(--button-large-lineheight); color: #FFF; }
		footer .readmore:hover,
		footer .readmore:focus {  }

		/* TinyMCE Custom Styles: Ghost button */
		.ghostbutton { font-family: var(--font-nav); font-size: calc(var(--text-large) + 2px); padding: var(--button-normal-padding); line-height: calc(var(--button-normal-lineheight) - 2px); border: 1px solid var(--primary) !important; color: var(--primary); display: inline-block; transition: var(--transition-fast); border-radius: var(--border-radius-round); text-align: center; }
		.ghostbutton:hover,
		.ghostbutton:focus { background: var(--primary); color: var(--primary-text-color); }

		.content-fullwidth .block-style-tertiary .ghostbutton { border: 1px solid var(--white-primary) !important; color: var(--white-primary) !important; }
		.content-fullwidth .block-style-tertiary .ghostbutton:hover,
		.content-fullwidth .block-style-tertiary .ghostbutton:focus { background: var(--white-primary); color: var(--tertiary) !important; }

		footer .ghostbutton { padding: 0; border: 2px solid var(--white-primary) !important; color: var(--white-primary); width: 100%; text-align: center; line-height: calc(var(--button-large-lineheight) - 4px); margin-top: 16px; }
		footer .ghostbutton:hover,
		footer .ghostbutton:focus { background: var(--white-primary); color: var(--primary); }

		/* TinyMCE Custom Styles: Ingress paragraph */
		.ingress { font-size: var(--text-large); font-weight: 400; }
		.content-centered .ingress { color: var(--black-secondary); }
		.content-fullwidth .block-style-white .ingress,
		.content-fullwidth .block-style-light .ingress { color: var(--black-secondary); }
		.content-fullwidth .block-style-dark .ingress,
		.content-fullwidth .block-style-black .ingress { color: var(--white-disabled); }
		.content-fullwidth .block-style-primary .ingress { color: var(--primary-text-color); }
		.content-fullwidth .block-style-secondary .ingress { color: var(--secondary-text-color); }
		.content-fullwidth .block-style-tertiary .ingress { color: var(--tertiary-text-color); }





/* Added 2023-10: Cookie Consent Bar
------------------------------------------------------------------------------------------------ */
	#moove_gdpr_cookie_info_bar { margin: 0; padding: 24px 0; }
	#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p { margin: 0 0 16px !important; font-size: 16px !important; }
	#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p:last-child { margin: 0 !important; }
	#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p .change-settings-button:hover { color: #FFF !important; opacity: 0.8; }





/* Added 2024-05: Voice Intuitive v3 (kuuntele + translate)
------------------------------------------------------------------------------------------------ */
	#voice-intuitive-root { margin: -8px 0 24px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; align-items: center; border-block: 1px solid #DDD; padding-block: 8px; min-height: 62px; } /* Set height to avoid layout shift */
	#voice-intuitive-translator-dropdown { top: -6px; }

	.single #voice-intuitive-root { justify-content: center; border-block: 1px solid #CCC; }

		@media (min-width: 360px) {
			#voice-intuitive-root { grid-template-columns: 160px 150px; gap: 0; }
			#voice-intuitive-translator-dropdown { left: 160px; }
		}

		@media (min-width: 380px) {
			#voice-intuitive-root { grid-template-columns: 180px 150px; }
			#voice-intuitive-translator-dropdown { left: 180px; }
		}





/* Added 2025-03: Iggo Contact Manager Tweaks
------------------------------------------------------------------------------------------------ */
	.iggocm-contact-image { position: relative; }

	.shortcode-contacts-list + :is(h2, h3, h4) { margin-top: 32px; }


/* Added 2025-04: Iggo OIMS
------------------------------------------------------------------------------------------------ */
	#iggooims-product-list { --fieldheight: 53px; }
	#iggooims-product-list > .container { padding: 0; }
	#iggooims-product-list .search_wrapper_cont + .iggooims-results { margin-top: 32px; }

	.iggooims-filter-button { height: 38px; background: var(--primary); color: #FFF; border: none; transition: var(--transition-med); border-radius: 4px; cursor: pointer; }
	.iggooims-filter-button:hover { background: var(--primary-light); }

	.search_wrapper_boxask { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 60px; grid-gap: 4px; }

	.search_wrapper_boxask label { display: block; font-weight: bold; }
	.search_wrapper_boxask :is(input, select) { display: block; width: 100%; height: var(--fieldheight); padding: 0 15px; border-radius: var(--border-radius); font-size: var(--text-normal); background: none; border: 1px solid var(--form-bordercolor); transition: var(--transition-fast); border-radius: 4px; }
	.search_wrapper_boxask .iggooims-keyword input:focus { border: 1px solid var(--primary-light); }

	.search_wrapper_boxask button { align-self: end; height: var(--fieldheight); position: relative; border-radius: 4px; cursor: pointer; font-size: calc(var(--text-large) + 2px); font-family: var(--font-nav); background: var(--primary); }
	.search_wrapper_boxask button:hover { background: var(--primary-light); }

		@media (min-width: 640px) {
			.search_wrapper_boxask { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 116px; grid-gap: 8px; }
		}


/* Added 2025-04: Accessibility Tweaks
------------------------------------------------------------------------------------------------ */

	/* Skip Link (accessibility skip to content) */
	.skip-link:focus { overflow: visible; width: auto; height: auto; clip: auto; clip-path: none; z-index: 9999; padding: 4px 6px; top: 16px; left: 16px; }

	/* Instagram feed focus states */
	#sb_instagram #sbi_images .sbi_item { outline: rgba(255,255,255,0) var(--outline-style); outline-offset: 3px; }
	#sb_instagram #sbi_images .sbi_item:has(:focus-visible) { outline-color: var(--outline-clr); overflow: visible; }

	/* Iggo CM + OIMS */
	:is(.search_wrapper_boxask, .iggocm-keyword) input:focus-visible { outline: none; }
	:is(.search_wrapper_boxask, .iggocm-keyword) input:focus { }

/* Added 2026-03: Zuni / Vaala Menokalenteri script widget style
------------------------------------------------------------------------------------------------ */

	/* Frontpage menokalenteri h2 title positioning */
	h2.menotitle { text-align: center; }
