/*
	Theme Name: KWS Elements for Wordpress
	Theme URI: https://komowebstudio.com/products/kws-elements
	Author: Komo Web Studio (KWS)
	Author URI: https://komowebstudio.com/
	Requires at least: 5.0.0
	Requires PHP: 8.0.0
	Description: Total website creation and management system for Wordpress. Create stunning personalised websites for your business or private use. Maximised for quick loading, with in-built SEO and SMO.
	Version: 8.2.004
	License: Licensed only when purchased with license from Komo Web Studio with a valid product key.
	License URI: 
	Text Domain: kws-elements-for-wordpress
*/

/* KWS 8.1.833 canonical front-end typography.
 * This is the single source of truth for content sizing.
 * Mobile base: 16px. Desktop base: 18px.
 * Standard body copy and form labels are 1em. */
html { font-size: 100%; }
body { font-size: 16px; }
main { font-size: 1em; }

/* Element Block content must remain on the canonical front-end scale.
 * These wrappers do not reduce or independently scale inherited text. */
.primary-text-wrapper,
.primary-text-wrapper-inner,
.primary-text,
.element-block-content,
.kws-content-block-inner { font-size: 1em; }

p,
form label { font-size: 1em; }

h1, h2, h3, h4, h5, h6 {
    line-height: 1.18;
    font-weight: 400;
}
h1 { font-size: 2.2em; }
h2 { font-size: 1.7em; }
h3 { font-size: 1.25em; }
h4 { font-size: 1.1em; }
h5 { font-size: 1em; }
h6 { font-size: 1em; }

@media all and (min-width: 769px) {
    body { font-size: 18px; }
}

@media all and (min-width: 0) {
	html,
	body,
	main {
		width: 100%;
		max-width: 100%;
		max-width: 100vw;
		overflow-x: hidden;
		margin: 0 auto;
		padding: 0;
		letter-spacing: 1px;
		word-break: break-word;
	}
	html *,
	legend {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	body {
		position: relative;
		overflow-y:auto;
		-ms-overflow-style: none;
		overflow: -moz-scrollbars-none;
		scrollbar-width: none;
	}
	main {
		min-height: 800px;
		min-height: 80%;
		min-height: 80vh;
		-ms-overflow-style: none;
		overflow: -moz-scrollbars-none;
		scrollbar-width: none;
		/* Firefox */
		max-width: 1920px;
		overflow-y:auto;
	}
	main>* {
		text-align: center;
	}
	main li {
		line-height: inherit;
		padding: 2px 0;
	}
	main i,
	main a,
	main span,
	main * {
		color: inherit;
		font-family: inherit;
		
		-webkit-transition: all ease .3s;
		-moz-transition: all ease .3s;
		transition: all ease .3s;
	}
	main embed,
	main img,
	main object,
	main video {
		padding: 0;
		margin: 0 auto;
		text-align: center;
		vertical-align: middle
	}
	body img,
	body * img,
	main img,
	main * img,
	.primary-text img,
	.primary-text * img {
		max-width: 100%;
		height: auto;
	}
	.primary-text {
		color: inherit;
	}
	.primary-text hr {
		color: inherit;
		border-color: inherit;
	}
	.footer,
	body,
	html,
	main {
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.body-color-overlay {
		position: absolute;
		z-index: -4;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
	.center-all {
		position: absolute;
		top: 50%;
		left: 50%;
		-ms-transform: translateX(-50%) translateY(-50%);
		-o-transform: translateX(-50%) translateY(-50%);
		-moz-transform: translateX(-50%) translateY(-50%);
		-webkit-transform: translateX(-50%) translateY(-50%);
		transform: translateX(-50%) translateY(-50%);
	}
	.center-vertical-wrapper {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-content: center;
		align-content: center;
		-webkit-align-items: center;
		align-items: center;
		min-width:40px;
		padding:0 5px;
	}
	.kws-flex-wrapper {
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		-ms-flex-pack: distribute;
		justify-content: space-between;
		-webkit-align-content: center;
		-ms-flex-line-pack: center;
		align-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.ekweb0b-flex-wrapper {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-content: stretch;
		align-content: stretch;
		-webkit-align-items: stretch;
		align-items: stretch;
		width: 100%;
		margin: 0 auto;
		flex-grow: 1;
	}
	.ekweb0b-flex-inner h2,
	.ekweb0b-flex-inner h3,
	.ekweb0b-flex-inner h3,
	.ekweb0b-flex-inner h4,
	.ekweb0b-flex-inner i {
		margin: 0 auto;
		margin-top: 15px;
		margin-bottom: 15px;
	}
	.ekweb0b-flex-wrapper i {
		
	}
	.ekweb0b-flex-inner-2,
	.ekweb0b-flex-inner-3,
	.ekweb0b-flex-inner-4,
	.ekweb0b-flex-inner-5 {
		width: 100%;
		margin: 20px 10px;
		padding: 25px 15px;
		box-sizing: content-box;
		-webkit-flex: 0 1 auto;
		flex: 0 1 auto;
		-webkit-align-self: auto;
		align-self: auto;
	}
	.ekweb0b-circle-head {
		width: 50px;
		height: 50px;
		border-radius: 50%;
		background-color: #0065AB;
		color: #FFF;
		margin: 0 auto;
		padding: 14px;
		padding-top: 8px;
		text-align: center;
	}
	.footer {
		padding: 1em 0;
	}
	.footer a {
		color: inherit;
	}
	.footer a:hover {
		text-decoration: underline;
	}
	svg:not(:root) {
		overflow: hidden;
	}
	main a,
	main button,
	main form,
	main input,
	main texarea {
		margin: 0 auto;
		text-align: center;
	}
	input[type="text"],
	input[type="date"],
	input[type="time"],
	input[type="number"],
	input[type="tel"],
	input[type="email"],
	select,
	textarea {
		
		padding: 0.5em 1em;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	select {
		padding: 0;
	}
	/* Styles for h1 */
	h1 {
		
		line-height: 1.125;
	}
	/* Styles for h2 */
	h2,
	.he2 {
		
		line-height: 1.12;
		margin: 0.2em 0;
	}
	/* Styles for h3 */
	h3 {
		
		line-height: 1.18;
	}
	/* Styles for h4 */
	h4,
	.he4 {
		
		line-height: 1.18;
		margin: 0.2em 0;
	}
	/* Styles for h5 */
	h5 {
		
		line-height: 1.2;
	}
	/* Styles for h6 */
	h6 {
		
		line-height: 1.22;
	}
/* Styles for p */
	p {
		padding-top: 0.25em;
		padding-bottom: 0.5em;
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		
		line-height: inherit;	
	}
	/* Styles for a and a.button */
	a,
	a.button,
	span.button {
		font-weight: inherit;
		-webkit-transition: all ease .8s;
		-moz-transition: all ease .8s;
		transition: all ease .8s;
		line-height: inherit;
		
	}
	/* Styles for a.button */
	span.button,
	a.button {
		padding: 0.5em 1em;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		text-align: center;
		letter-spacing: inherit;
		text-transform: uppercase;
		font-weight: 600;
		text-decoration: none;
		cursor: pointer;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
		margin: 0.5em 0 0 0 !important;
		display: inline-block;
		position: relative;
	}
	/* Styles for a.button:hover */
	a.button:hover {
		text-decoration: none;
	}
	/* Styles for a.hollow */
	a.hollow {}
	/* Styles for .hollow, .filled, .button, .hollow:hover, .filled:hover, .button:hover */
	.hollow,
	.filled,
	.button,
	.hollow:hover,
	.filled:hover,
	.button:hover {
		text-decoration: none!important;
		cursor: pointer;
	}
	.menu-button {
				
	}
	.menu-link-arrow:after {
		content: "\f061";
		font-family: "Font Awesome 5 Free";
		
		font-weight: 900;
		margin-left: 5px;
	}	
	.archive-corporate-link:after,
	.filled:after,
	.menu-button:after {
		content: "\f0a9";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		margin-left: 5px;
	}	
	.kws-btn-light {
		width: 100%;
		box-sizing: border-box;
		padding: 10px;
		border: none;
		margin-bottom:10px;
		text-align:center;
		border-radius: 10px;
		background-color:#EEE;
		color:#222;
	}
	.kws-btn-light:active,
	.kws-btn-light:hover,
	.kws-btn-light:focus {
		border: none;
		outline: none;
	}
	.kws-btn-light i {
		}
	.kws-btn-light a,
	.kws-btn-light a:hover {
		
		color:inherit;
		text-decoration:none;
		text-align:center;
	}
	.kws-btn-light span.kws-contact-btn-txt {
		
		padding-left:12px;
		font-weight:900;
	}
	/* Styles for .main-wrapper */
	.main-wrapper {
		width: 100%;
		padding: 0;
		text-align: center;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.main-content {
		width: 100%;
		padding: 0;
		margin: 0 auto;
		box-sizing: border-box;
		-webkit-align-self: stretch;
		-ms-flex-item-align: stretch;
		align-self: stretch;
		flex-grow: 1;
		color: inherit;
	}
	.featurebox {
		width: 100%;
		margin: 0 auto;
		text-align: center;
		padding: 1em 0.5em;
		box-sizing: border-box;
	}
	.footer,
	.archive-items-wrapper,
	.footer-info-wrapper {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-content: stretch;
		align-items: stretch;
	}
	.kws-archive-tax-thumb {
		position: absolute;
		top: 0;
		left: 0;
		padding: 6px;
		background: #000;
		color: #FFF;
	}
	.kws-archive-tax-thumb a {
		text-decoration: none;
	}
	a.filled {
		font-weight: 600;
	}
	a.filled:hover {
		font-weight: 800;
	}
	a.hollow {
		color: inherit;
		font-weight: 400;
		background: transparent;
		border: 3px solid currentColor;
	}
	a.hollow i,
	a.filled i {
		color: inherit;
	}
	a.hollow:hover i {
		color: inherit;
	}
	a.hollow:hover {
		background: inherit;
		color: inherit;
	}
	.footer-info .social,
	.footer span {
		
	}
	.footer-bottom span {
		display: block;
	}
	.footer-info-wrapper {
		padding: 1em 0;
		flex-wrap: wrap;
		justify-content: space-around;
		align-content: stretch;
		align-items: stretch;
	}
	.footer {
		flex-wrap: wrap;
		justify-content: center;
		align-content: center;
		align-items: center;
		padding: 0.825em 0;
	}
	.footer>* {
		align-self: center;
		
		font-weight: 400;
	}
	.footer-navigation-wrap>* {
		
	}
	.footer-navigation-wrap ul {
		width: 100%;
		padding: 0.15em 0;
		list-style: none;
		list-style-type: none;
		list-style-position: outside;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-content: stretch;
		align-items: stretch;
	}
	.footer-navigation-wrap ul a {
		
		margin-bottom: 0.35em;
		padding: 12px;
		text-decoration: none;
	}
	blockquote,
	blockquote cite {
		text-align: inherit;
	}
	.footer-bottom {
		padding: 0.7em 0;
		
	}
	.footer-info-item .foot-logo {
		width: 97.25%;
		margin: 0 auto;
		text-align: center;
	}
	.footer-info-item .foot-logo img {
		width: auto;
		height: auto;
		max-width: 250px;
		max-height: 110px;
		margin: 0 auto;
		text-align: center;
	}
	.footer-info-item a {
		padding: 6px;
	}
	.footer-info-item {
		margin: 0 auto;
		text-align: center;
		
		line-height: 1.25em;
	}
	.page-title {
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		margin: 0 auto;
		text-align: center;
		padding: 1.5em 0.65em!important;
		position:relative;
	}
	.page-title>* {
		/* display: inline-block; */
		vertical-align: center;
		padding: 0;
	}
	.page-title a.button {
		
	}
	.article-header {
		width: 100%;
		position: relative;
	}
	.article-header .article-thumb {
		width: 100%;
		position: relative;
	}
	.article-header .article-thumb img {
		width: 100%;
		height: auto;
	}
	
	.article-header .article-thumb.show-desktop-only {
		height: 350px;
		width: 100%;
		overflow: hidden;
		background-attachment: fixed;
		background-position: center;
		background-size: cover;
		position: relative;
	}
	.article-title-wrapper {
		width: 100%;
		margin: 0 auto;
		padding: 1em 0.5em;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		position: relative;
	}
	.article-excerpt-wrapper {
		width: 90%;
		margin: 0 auto;
		max-width: 950px;
	}
	.author-meta {
		width: 100%;
		text-align: center;
		padding: 0.215em 0;
	}
	.author-meta .author-img,
	.author-meta .author-info {
		display: inline-block;
		margin: 0 auto;
		padding: 0.425em;
		text-align: center;
		vertical-align: middle;
	}
	.author-meta .author-img {
		width: 33%;
		min-width: 40px;
		max-width: 60px;
	}
	.author-meta .author-img img {
		width: 100%;
		height: auto;
		margin: 0 auto;
		text-align: center;
		vertical-align: middle;
		-webkit-border-radius: 100%;
		-moz-border-radius: 100%;
		border-radius: 100%;
		background: #FFF;
	}
	.primary-text-wrapper {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.primary-text {
		width: 90%;
		max-width: 1000px;
		margin: 0 auto;
		padding: 1em;
		box-sizing: content-box;
	}
	.primary-text p {}
	.primary-text img {
		border-style: none;
		max-width: 100%;
	}
	.primary-text ul {
		width: 98%;
		margin: 0 auto;
		margin-bottom: 1.5em;
		
		text-align: left;
	}
	.primary-text li {
		text-align: inherit;
		list-style: inherit;
		list-style-position: inherit;
		
	}
	.primary-text a {
		color: inherit;
	}
	.related-title {
		
	}
	.related-excerpt {
		padding: 6px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.related-item-image {
		margin-bottom: 10px;
	}
	.related-item-image img {
		width: 100%;
		height: auto;
	}
	.about {
		text-align: center;
	}
	.kwstags *,
	.kwstags h4,
	ul.taxonomy-terms {
		width: 100%;
		max-width: 900px;
		
		word-break: break-all;
		margin: 0 auto;
		padding: 10px 1em;
		text-align: center;
		list-style: none;
	}
	ul.taxonomy-terms li {
		padding: 0.5em 0;
		
		display: inline-block;
		color: inherit;
		align-self: center;
	}
	ul.taxonomy-terms li a {
		color: inherit;
		text-decoration: none;
	}
	ul.taxonomy-terms li a:hover {
		text-decoration: underline;
		font-weight: 600;
	}
	.footer-info-wrapper {
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.footer-info-item {
		position: relative;
		width: 98%;
		padding: 0.5em 1%;
	}
	.about-tile {
		padding: 2em 0;
	}
	.about-tile * {
		color: inherit;
	}
	.about-content {
		margin: 0 auto;
		width: 95%;
		max-width: 1050px;
		text-align: center;
		padding: 0 1em;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.about-content .fp-about-wrapper {
		padding: 0.5em 0;
		text-align: center;
	}
	.kws-btn-wrapper {
		width: 95%;
		max-width: 600px;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-align-content: center;
		-ms-flex-line-pack: center;
		align-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
	/* Sidebar */
	.elements-sidebar {
		-webkit-align-self: stretch;
		-ms-flex-item-align: stretch;
		align-self: stretch;
	}
	.elements-sidebar>a {
		color: inherit;
	}
	.sidebar-wrapper {
		padding: 2em 0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.elements-sidebar-inner {
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		margin: 0 auto;
		text-align: center;
		padding: 0 5px;
	}
	.elements-sidebar-inner>* {
		width: 100%;
		padding: 0 0.5em;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	/* Search */
	.search-form-wrapper {
		width: 100%;
		max-width: 500px;
		text-align: center;
		margin: 0 auto;
		padding: 20px 0;
	}
	.search-form-wrapper #searchform_submit {
		margin-top: 10px;
		padding: 5px 20px;
	}
	.search-form-wrapper .search-input {
		padding: 10px 5px;
		
		width: 95%;
		background:#FFF;
		color:#222;
	}
	/* Related Items */
	.related-wrapper {
		width: 100%;
		padding: 0;
		margin: 0 auto;
	}
	.related-item-info p {
		margin-top:10px!important;
	}
	.related-wrapper a,
	.related-wrapper a:hover {
		color: inherit;
		text-decoration: none;
	}
	.related-item {
		width: 98%;
		margin: 0.5em 0.25em;
		text-align: center;
		max-width: 98%;
		flex-basis: 98%;
	}
	.related-item-image {
		width: 100%;
	}
	.related-item-image img {
		width: 100%;
		height: auto;
		margin: 0 auto;
		text-align: center;
	}
	.related-item-info {
		width: 100%;
		margin: 0 auto;
		text-align: center;
		padding: 0.5em 0.5em 1em 0.5em;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.related-item {position:relative; padding-bottom:3em;}
	.related-link {position:absolute; padding:0.5em 0; bottom:10px; left:0; right:0;}
	.related-link > a {width:auto;}
	/* Keyword Icons */
	.kws-fp_icons-wrapper {
		width: 100%;
		padding: 1.2em 0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.kws-fp_icons-item {
		
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-align-content: center;
		-ms-flex-line-pack: center;
		align-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.kws-fp_icons-wrapper-inner {
		width: 95%;
		max-width: 1100px;
		margin: 0 auto;
		text-align: center;
	}
	.kws-fp_icons-item i {
		
		padding: 0.5em;
	}
	.kws-fp_icons-text {
		
	}
	.kws-fp_icons-item {
		text-align: center;
	}
	.google-map-responsive-wrapper {
		overflow: hidden;
		padding-bottom: 56.25%;
		position: relative;
		height: 0;
		width: 98%;
		max-width: 98%;
		margin: 0 auto;
	}
	.google-map-responsive-wrapper iframe {
		left: 0;
		top: 0;
		height: 100%;
		width: 100%;
		position: absolute;
	}
	.video-container {
		position: relative;
		padding-bottom: 56.25%;
		/* 16:9 */
		height: 0;
	}
	.video-container iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.kws-item-display-desktop {
		display: none;
	}
	.kws-item-display-mob {
		display: inherit;
	}
	.show-mobile-only {
		display: block;
	}
	.show-desktop-only {
		display: none;
	}
	.kws-contact-form-tile-wrapper,
	.kws-contact-form-tile-wrapper * {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.kws-contact-form-tile-wrapper,
	.kws-contact-form-tile-inner {
		width: 100%;
		padding: 1em 0;
		margin: 0 auto;
	}
	.kws-contact-form-tile-info {
		width: 100%;
		padding: 1em 3em;
		text-align: left;
		
	}
	.kws-contact-form-tile-info a {
		display: block;
		width: 100%;
		text-align: left;
	}
	.kws-contact-form-tile-form {
		width: 100%;
		text-align: center;
		padding: 1em 2em;
	}
	.contact-tile-text {
		
	}
}
@media all and (min-width: 577px) {
	.kws-btn-wrapper {
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: space-around;
		-ms-flex-pack: distribute;
		justify-content: space-around;
		-webkit-align-content: stretch;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		text-align: center;
		margin: 0 auto;
		padding: 1em;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
}
@media all and (min-width: 769px) {
	.kwstags *,
	.kwstags h4,
	ul.taxonomy-terms {
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: space-around;
		-ms-flex-pack: distribute;
		justify-content: space-around;
		-webkit-align-content: stretch;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.footer-bottom span {
		display: inline;
	}
	.kws-item-display-desktop {
		display: inherit;
	}
	.kws-item-display-mob {
		display: none;
	}
	.show-mobile-only {
		display: none;
	}
	.show-desktop-only {
		display: block;
	}
	.article-header .article-thumb {
		overflow: hidden;
	}
	.footer-info-wrapper {
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		line-height: 1.4em;
	}
	.footer-info-wrapper *,
	footer * {
		
	}
	.footer_info a:link,
	ul.footer_info a:visited,
	ul.footer_info a:active {
		
	}
	.footer-info-item {
		padding: 0.5em 1em;
		width: 49%;
	}
	.kws-fp_icons-wrapper-inner,
	.kws-fp_icons-item {
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-align-content: space-between;
		-ms-flex-line-pack: justify;
		align-content: space-between;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.kws-fp_icons-item {
		
	}
	.kws_fe_admin_widget {
		bottom: 0;
		right: 0;
		width: 40%;
		min-width: 220px;
		max-width: 260px;
	}
	.kws-contact-form-tile-wrapper,
	.kws-contact-form-tile-wrapper * {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	.kws-contact-form-tile-wrapper,
	.kws-contact-form-tile-inner {
		width: 100%;
		padding: 1em 0;
		margin: 0 auto;
	}
	.kws-contact-form-tile-info {
		width: 45%;
		/* Updated */
		padding: 1em 3em;
		text-align: left;
		
	}
	.kws-contact-form-tile-info a {
		display: inline;
		/* Updated */
		width: 100%;
	}
	.kws-contact-form-tile-form {
		width: 50%;
		/* Updated */
		padding: 0.5em;
		text-align: left !important;
	}
	.kws-contact-form-tile-inner {
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-align-content: stretch;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
		-webkit-align-items: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	.ekweb0b-flex-inner-2,
	.ekweb0b-flex-inner-3,
	.ekweb0b-flex-inner-4,
	.ekweb0b-flex-inner-5 {
		width: 45%;
		padding: 10px;
	}
}
@media all and (min-width: 993px) {
	.main-wrapper {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-content: stretch;
		align-content: stretch;
		margin: 0 auto;
		text-align: center;
	}
	.footer-info-item {
		padding: 0.5em 1em;
		width: 30%;
		overflow: hidden;
	}
	.fp-about-wrapper {
		display: block;
		width: 95%;
		margin: 0 auto;
		text-align: center;
	}
	.about-buttons {
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
		text-align: center;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-around;
		-ms-flex-pack: distribute;
		justify-content: space-around;
		-webkit-align-content: center;
		-ms-flex-line-pack: center;
		align-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.ekweb0b-flex-inner-2 {
		width: 45%;
		padding: 10px;
	}
	.ekweb0b-flex-inner-3 {
		width: 30%;
		padding: 10px;
	}
	.ekweb0b-flex-inner-4 {
		width: 22%;
		padding: 10px;
	}
	.ekweb0b-flex-inner-5 {
		width: 16%;
		padding: 10px;
	}
}
.ekwe0b-footer-banner {
	width:100%;
}
.ekwe0b-footer-banner img {
	width:100%;
	height: auto;
}
/* front end styles for wp editor */
@media all and (min-width:0px) {
	.ekweb0b-flex {
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
		padding: 10px;			
		margin: 0 0 10px 0;
	}
	.mce-content-body .ekweb0b-flex {
		border: 1px dashed #AAA;
	}
	.ekweb0b-flex-25,
	.ekweb0b-flex-33,
	.ekweb0b-flex-50,
	.ekweb0b-flex-75,
	.ekweb0b-flex-100 {
		width: 100%;
	}
	.ekweb0b-shaded-border {
		max-width: 450px;
		box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
		/* Subtle box shadow */
	}
	.ekweb0b-content-standard {
		background:#FFF;
		color:#222;
	}
}
@media all and (min-width:720px) {
	.ekweb0b-flex {
		margin-top:10px;
		margin-bottom:10px;
	}
	.ekweb0b-flex-25,
	.ekweb0b-flex-33,
	.ekweb0b-flex-50,
	.ekweb0b-flex-75 {
		margin-left:1%;
		margin-right:1%;
		box-sizing:border-box;
	}
	.ekweb0b-flex-25 { width:23%; }
	.ekweb0b-flex-33 { width:31.333333%; }
	.ekweb0b-flex-50 { width:48%; }
	.ekweb0b-flex-75 { width:73%; }
}
a.kws-link {
	display:block;
	padding:0;
	margin:0 auto;
	
}
.ekweb0b_post_header_magazine {
	position:absolute;
	width:85%;
	top:50%;
	left:50%;
	-ms-transform:translateX(-50%) translateY(-50%); -o-transform:translateX(-50%) translateY(-50%); -moz-transform:translateX(-50%) translateY(-50%); -webkit-transform:translateX(-50%) translateY(-50%); transform:translateX(-50%) translateY(-50%);
}
.ekweb0b_post_title_magazine {
	text-shadow: 2px 3px 4px rgba(0,0,0,.95);
    width: 100%;
    height: auto;
	padding-top:40px;
}
/* front end admin styles */
.kws_fe_admin_widget {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 100%;
	margin: 0 auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.45);
	color: #FFF;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	height: 2.5em;
	
}
.kws_fe_admin_widget:hover {
	height: auto;
	background: rgba(0, 0, 0, 0.95);
}
.kws_fe_admin_widget,
.kws_fe_admin_widget>* {
	font-family: 'Open Sans', 'sans serif';
}
.kws_fe_admin_widget ul {
	width: 90%;
	margin: 0 auto;
	text-align: center;
	color: #FFF;
	padding: 0.5em;
	
}
.kws_fe_admin_widget li {
	padding: 5px 0;
	margin: 5px 0;
	display: block;
}
.kws_fe_admin_widget li a {
	color: inherit;
	text-decoration: none;
}
.kws-fe-optionbox {
	position: absolute;
	top: 2px;
	right: 2px;
	opacity: 0.4;
	transition: opacity 0.5s ease;
	padding: 0.35em;
	z-index:10;
	display: flex;
    flex-direction: column; 
}
.kws-fe-optionbox:hover {
	opacity: 1;
}
.kws-fe-optionbox a {
	display: inline-block;
	text-decoration: none;
	color: #fff!important;
	margin-bottom: 2px;
	
	width: 2.5em;
	height: 2.5em;
	line-height: 2.75em;
	text-align: center;
	border-radius: 0.3em;
	background: linear-gradient(to bottom, #0096d6, #0073aa);
	transition: background 1s ease-in !important;
}
.kws-fe-optionbox a:hover {
	background: linear-gradient(to bottom, #0073aa, #0096d6);
}
.kws-fe-optionbox i {
	
}


/* additional animations KWSE-6 */
	@keyframes pulse {
	  0% {
		transform: scale(1);
	  }
	  50% {
		transform: scale(1.05); /* Slightly larger */
	  }
	  100% {
		transform: scale(1);
	  }
	}

/*
 * TinyMCE front-end output: give inline background-colour formatting a small,
 * font-relative inset so highlights do not sit tightly against their content.
 * Limited to inline elements so structural/layout backgrounds are unaffected.
 */
:is(span, strong, b, em, i, u, small, mark, a)[style*="background-color" i]{
	padding:0.12em 0.30em;
	-webkit-box-decoration-break:clone;
	box-decoration-break:clone;
}


/* Archive/card typography consistency across archives, post lists and related items. */
.archive-items-wrapper:not(.archive-style-blocks):not(.archive-style-darkanim) .kws-card-title,
.related-wrapper .kws-card-title{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:2.5em;
	margin:0;
	
	font-weight:600 !important;
	line-height:1.25 !important;
	text-align:center;
	box-sizing:border-box;
}
.archive-items-wrapper .kws-card-title > a,
.related-wrapper .kws-card-title > a{
	
	font-weight:inherit !important;
	line-height:inherit !important;
}
.archive-items-wrapper .grid-text,
.archive-items-wrapper .blocks-archive-excerpt,
.archive-items-wrapper .corporate-archive-text,
.archive-items-wrapper .horizontal-archive-content h6,
.related-wrapper .related-item-info > p{
	
	line-height:1.5 !important;
	font-weight:400;
}
.kws-archive-description{
	margin-top:.45em;
	margin-bottom:0;
}
.kws-post-list-see-all,
.kws-related-see-all{
	margin:.35em 0 .65em;
	text-align:center;
}

/* Modern filled buttons: modest radius rather than pill-shaped controls. */
a.button.filled,
span.button.filled,
.button.filled{
	border-radius:4px !important;
	padding:.6em 1.05em;
}


/* Post List / Related title wrappers: keep See All centred directly beneath title. */
.page-title .kws-post-list-see-all,
.page-title .kws-related-see-all{
	display:flex;
	width:100%;
	justify-content:center;
	align-items:center;
	margin:.4em 0 .75em;
	text-align:center;
}
.page-title .kws-post-list-see-all .button,
.page-title .kws-related-see-all .button{
	margin-left:auto;
	margin-right:auto;
}
.kws-post-list-description{
	margin-top:.35em;
}

/* Horizontal archive cards need a stronger text scale than the other compact cards. */
.archive-items-wrapper .horizontal-archive-content .kws-card-title{
	
	line-height:1.3 !important;
}
.archive-items-wrapper .horizontal-archive-content h6,
.archive-items-wrapper .horizontal-archive-content .grid-text{
	
	line-height:1.55 !important;
}


/* Blocks/Animated titles: preserve native text line box so glow/text-shadow aligns exactly. */
.blocks-archive-item .kws-card-title,
.darkanim-archive-item .kws-card-title,
.archive-items-wrapper .blocks-archive-title.kws-card-title,
.archive-items-wrapper .darkanim-archive-title.kws-card-title{
	display:block !important;
	min-height:2.5em;
	height:auto;
	padding-top:0 !important;
	padding-bottom:0 !important;
	
	font-weight:600 !important;
	line-height:1.25 !important;
	text-align:center;
}

.page-title .kws-post-list-description + .kws-post-list-see-all{
	margin-top:.65em;
}


/* Archive / related excerpts: consistent typography and vertical rhythm. */
.archive-items-wrapper .grid-text,
.archive-items-wrapper .blocks-archive-excerpt,
.archive-items-wrapper .corporate-archive-text,
.related-wrapper .related-item-info > p{
	display:block;
	min-height:3em;
	margin-top:.55em;
	margin-bottom:.55em;
	
	font-weight:400 !important;
	line-height:1.5 !important;
	letter-spacing:normal !important;
	text-align:center;
}


/* Blocks archive buttons already include their own circle-arrow icon in markup.
   Do not add the global .filled generated arrow a second time. */
.blocks-archive-item .button.filled::after,
.blocks-archive-item a.button.filled::after,
.blocks-archive-content .button.filled::after,
.blocks-archive-content a.button.filled::after{
	content:none !important;
	display:none !important;
}


/* Responsive text refinement: archive/post titles stay prominent without overwhelming mobile. */
.archive-items-wrapper .kws-card-title,
.related-wrapper .kws-card-title{
	
}
.archive-items-wrapper .horizontal-archive-content .kws-card-title{
	
}
@media (max-width:768px){
	.archive-items-wrapper .kws-card-title,
	.related-wrapper .kws-card-title{
		
	}
	.archive-items-wrapper .horizontal-archive-content .kws-card-title{
		
	}
}


/* Keep archive and Post List card titles prominent on mobile. */
@media all and (max-width:768px){
	.archive-items-wrapper .kws-card-title,
	.related-wrapper .kws-card-title{
		
		line-height:1.25 !important;
	}
	.archive-items-wrapper .horizontal-archive-content .kws-card-title{
		
		line-height:1.3 !important;
	}
}

/* --------------------------------------------------------------------------
 * Shared KWS layout/media utilities (consolidated from component styles)
 * -------------------------------------------------------------------------- */
.kws-flex-layout{display:flex;flex-wrap:wrap;gap:20px;width:100%;margin:1.25em 0;}
.kws-flex-column{box-sizing:border-box;min-width:0;flex:1 1 0;}
.kws-flex-layout.kws-cols-2>.kws-flex-column{flex-basis:calc(50% - 10px);}
.kws-flex-layout.kws-cols-3>.kws-flex-column{flex-basis:calc(33.333% - 14px);}
.kws-flex-layout.kws-cols-4>.kws-flex-column{flex-basis:calc(25% - 15px);}
.kws-flex-layout.kws-flex-content-row{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:stretch;
	gap:24px;
	width:100%;
}
.kws-flex-layout.kws-flex-content-row.kws-flex-row-align-left{justify-content:flex-start;}
.kws-flex-layout.kws-flex-content-row.kws-flex-row-align-center{justify-content:center;}
.kws-flex-layout.kws-flex-content-row.kws-flex-row-align-right{justify-content:flex-end;}
/* Reduced-width authored flex boxes are centred as a group. The small gap
 * compensation keeps rows whose authored widths total 100% on one line. */
.kws-flex-content-row>.kws-flex-column{flex-grow:0;flex-shrink:0;}
.kws-flex-content-row>.kws-flex-width-100{flex-basis:100%;max-width:100%;}
.kws-flex-content-row>.kws-flex-width-75{flex-basis:calc(75% - 6px);max-width:calc(75% - 6px);}
.kws-flex-content-row>.kws-flex-width-50{flex-basis:calc(50% - 12px);max-width:calc(50% - 12px);}
.kws-flex-content-row>.kws-flex-width-33{flex-basis:calc(33.333333% - 16px);max-width:calc(33.333333% - 16px);}
.kws-flex-content-row>.kws-flex-width-25{flex-basis:calc(25% - 18px);max-width:calc(25% - 18px);}
.kws-media-background-block{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box;background-size:cover;background-position:center;background-repeat:no-repeat;}
.kws-media-background-block[data-kws-background-image],.kws-media-background-block[data-kws-background-video]{min-height:clamp(560px,82vh,980px)!important;}
.kws-media-background-block>.kws-background-video{display:block!important;position:absolute!important;z-index:0;inset:0!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;transform:none!important;object-fit:cover;pointer-events:none;}
.kws-vertical-center-content{min-height:500px;display:flex!important;flex-direction:column!important;justify-content:center!important;box-sizing:border-box;}
.kws-media-background-block>*:not(.kws-background-video){position:relative;z-index:1;}
@media(max-width:768px){
	.kws-flex-layout>.kws-flex-column{flex-basis:100%!important;}
	.kws-flex-content-row>.kws-flex-column{flex-basis:100%!important;max-width:100%!important;}
}

/* --------------------------------------------------------------------------
 * Archaic/duplicate component declarations intentionally retired.
 * Kept here as documentation rather than active CSS.
 * --------------------------------------------------------------------------
 * Legacy vendor-prefixed flex declarations for .element-block-wrapper and
 * duplicate .animated-content-tile-image max-width rules are superseded by
 * the shared standards-based flex/grid utilities above and modern browsers.
 */

/* KWS Post List Grid archive styling now lives in assets/css/kws-grid-archive.css. */

/* A full-content background spans its outer content container as well. */
.primary-text:has(> .kws-media-background-block[data-kws-background-video]),
.primary-text:has(> .kws-media-background-block[data-kws-background-image]){width:100%;max-width:none;padding:0;box-sizing:border-box;}

/* v37: TinyMCE text-highlight output may be applied to a selected block (p/h*)
 * as well as an inline span. Keep authored inline background colours visible. */
.kws-content-block-inner :is(p,h1,h2,h3,h4,h5,h6,blockquote,pre,li,div,span,strong,b,em,i,u,small,mark,a)[style*="background-color" i]{
    -webkit-box-decoration-break:clone;box-decoration-break:clone;
}


/* v46 TinyMCE-authored controls: preserve editor choices on the front end.
 * Horizontal centring is now handled generically by the flex row above rather
 * than special-casing individual reduced-width combinations. */
a.button.kws-button-edge-square,span.button.kws-button-edge-square{border-radius:0!important;}
a.button.kws-button-edge-soft,span.button.kws-button-edge-soft{border-radius:4px!important;}
a.button.kws-button-edge-rounded,span.button.kws-button-edge-rounded{border-radius:10px!important;}
a.button.kws-button-edge-pill,span.button.kws-button-edge-pill{border-radius:999px!important;}
a.kws-scroll-down-button{
	position:absolute!important;
	left:50%!important;
	bottom:clamp(28px,7vh,84px)!important;
	z-index:20!important;
	min-width:46px!important;
	width:46px!important;
	height:46px!important;
	padding:0!important;
	margin:0!important;
	
	line-height:46px!important;
	text-align:center!important;
	transform:translateX(-50%);
}
/* Override the theme-wide filled-button arrow-right and use a circle chevron down. */
a.kws-scroll-down-button::after{
	content:"\f13a"!important;
	display:inline-block!important;
	font-family:"Font Awesome 6 Free"!important;
	font-weight:900!important;
	
	line-height:46px!important;
	margin:0!important;
}
a.kws-scroll-down-button .kws-scroll-chevron{display:none!important;}
@keyframes kws-scroll-button-bounce{
	0%,20%,50%,80%,100%{transform:translate(-50%,0);}
	40%{transform:translate(-50%,-10px);}
	60%{transform:translate(-50%,-5px);}
}
a.kws-scroll-down-button{animation:kws-scroll-button-bounce 2s infinite!important;}
@media (prefers-reduced-motion:reduce){a.kws-scroll-down-button{animation:none!important;}}

/* Mobile readability: post-list, archive and related-item titles must remain prominent
   regardless of the site's global typography scale. */
@media (max-width: 768px) {
    .archive-items-wrapper .kws-card-title,
    .kws-instance-post-list .kws-card-title,
    .related-wrapper .kws-card-title {
        
        line-height: 1.18 !important;
        min-height: 2.55em !important;
        height: 2.55em !important;
        max-height: 2.55em !important;
    }
    .archive-items-wrapper .kws-card-title > a,
    .kws-instance-post-list .kws-card-title > a,
    .related-wrapper .kws-card-title > a {
        
        line-height: inherit !important;
        max-height: 2.36em !important;
    }
}


/* Footer social links: larger, solid, touch-friendly brand buttons. */
.kws-footer-socials{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin:.5rem 0 1rem}
.kws-footer-social{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:13px;background:#222;color:#fff!important;text-decoration:none;box-shadow:0 7px 18px rgba(0,0,0,.16);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.kws-footer-social i{color:#fff!important}
.kws-footer-social:hover,.kws-footer-social:focus-visible{transform:translateY(-1px) scale(1.015);box-shadow:0 9px 20px rgba(0,0,0,.2);opacity:.94;text-decoration:none!important}
.kws-footer-social:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.kws-footer-social--whatsapp{background:#25d366}.kws-footer-social--facebook{background:#1877f2}.kws-footer-social--instagram{background:#c13584}.kws-footer-social--tiktok{background:#111}.kws-footer-social--x{background:#111}.kws-footer-social--linkedin{background:#0a66c2}.kws-footer-social--youtube{background:#ff0000}.kws-footer-social--soundcloud{background:#ff5500}.kws-footer-social--spotify{background:#1db954}.kws-footer-social--google{background:#4285f4}
.kws-footer-social--text{font-weight:900;}
.kws-footer-directory-link{margin-top:1.2rem;text-align:center}.kws-footer-directory-link img{width:120px;height:auto}


/* KWS 8.1.31 typography/social refinements. */
.kws-footer-socials-label{margin:.75rem 0 .35rem;text-align:center;font-weight:700;line-height:1.25;}
.kws-footer-social,.kws-footer-social:hover,.kws-footer-social:focus,.kws-footer-social:active{text-decoration:none!important;}
.kws-footer-social .kws-x-icon{font-family:Arial,Helvetica,sans-serif;font-weight:700;line-height:1;color:#fff!important;}

/* Keep authored large text visually compact without shrinking it excessively on mobile. */
.primary-text :is(h1,h2,h3,h4,h5,h6),
.kws-content-block-inner :is(h1,h2,h3,h4,h5,h6){line-height:1.15;}
.primary-text :is(p,div,span)[style*="font-size"],
.kws-content-block-inner :is(p,div,span)[style*="font-size"]{line-height:1.28;}


/* KWS 8.1.31 responsive typography normalization.
 * Desktop typography is the baseline. Mobile retains essentially the same
 * readable sizes rather than applying aggressive component-specific shrinkage. */
html,body{}
main,.main-navigation,.footer,.footer-info-wrapper{}

/* Archive/Post List titles retain their desktop scale at all viewports. */
a.shout-archive-link,
.archive-items-wrapper .kws-card-title,
.kws-instance-post-list .kws-card-title,
.related-wrapper .kws-card-title{
    
    line-height:1.25 !important;
}
.archive-items-wrapper .horizontal-archive-content .kws-card-title{
    
    line-height:1.3 !important;
}

/* Do not allow legacy component metadata/excerpt rules to make ordinary
 * readable copy excessively small on phones. Decorative icons remain exempt. */
@media (max-width:768px){
    .primary-text,
    .primary-text-wrapper-inner,
    .kws-content-block-inner,
    .archive-items-wrapper,
    .related-wrapper,
    .element-block-content{
        
    }
    .archive-items-wrapper .grid-text,
    .archive-items-wrapper .blocks-archive-excerpt,
    .archive-items-wrapper .corporate-archive-text,
    .related-wrapper .related-item-info > p,
    .video-archive-meta{
        
        line-height:1.45 !important;
    }
}

/* 8.1.31: one semantic article title block at every viewport size. */

/* Accessible structural SEO fallback used only when rendered output contains no H1. */
.screen-reader-text.kws-seo-fallback-h1 {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}


.kws-content-block-inner { width:90vw; max-width:1200px; margin-left:auto; margin-right:auto; box-sizing:border-box; }
#contact-wrapper .ekweb0b-flex-wrapper { display:flex; flex-direction:column; align-items:stretch; }
#contact-wrapper .kws-contact-phone-pane,
#contact-wrapper .kws-contact-form-pane { width:100%!important; max-width:100%!important; flex:0 0 100%!important; margin-left:auto!important; margin-right:auto!important; }
#contact-wrapper .kws-contact-phone-pane { order:1; }
#contact-wrapper .kws-contact-form-pane { order:2; }
.article-title-wrapper { padding:.6em .5em; }
.ekweb0b_post_title_magazine { height:auto; padding-top:.6em; padding-bottom:.6em; }
.post-title,.page-title,.contact-widget-title,.archive-title,.widget-title,.the_title,
:is(h1,h2,h3,h4,h5,h6)[class*="title"] { font-weight:700!important; }

/* 8.1.31 heading weight baseline */
h1,h2,h3,h4,h5,h6{font-weight:700;}


/* 8.1.31 layout regression fixes */
.kws-contact-widget{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:0;box-sizing:border-box;}
#contact-wrapper > div{width:90vw;max-width:1200px;margin-left:auto;margin-right:auto;box-sizing:border-box;}
.article-header{height:auto!important;min-height:0!important;}
.article-header:after{content:"";display:table;clear:both;}
/* Keep content-block previews inside the preview canvas; front-end remains 90vw/max 1200. */
body.wp-admin .uses-frontend-styles .kws-content-block-inner{width:90%!important;max-width:1200px!important;}

/* 8.1.31 article header regression guard */
.article-header{height:auto!important;min-height:0!important;}

/* KWS 8.1.31: proportional text rhythm. Body copy/excerpts use a readable
   1.35 ratio; headings/titles use a tighter 1.15 ratio. Inline TinyMCE font
   sizes inherit the ratio of their containing text block instead of forcing
   every text type to one blanket line-height. */
html,body{line-height:1.35;}
body :is(p,li,dd,dt,blockquote){line-height:1.35!important;}
body :is(h1,h2,h3,h4,h5,h6,.post-title,.page-title,.contact-widget-title,.archive-title,.widget-title,.the_title){line-height:1.15!important;}
.kws-content-block-inner{line-height:1.35!important;}
.kws-content-block-inner :is(p,li,dd,dt,blockquote){line-height:1.35!important;}
.kws-content-block-inner :is(h1,h2,h3,h4,h5,h6){line-height:1.15!important;}
.kws-content-block-inner :is(span,a:not(.button):not(.btn)){line-height:inherit!important;}

/* 8.1.31 authored button/scroll refinements. */
a.button.kws-button-has-icon-choice::after,
.button.kws-button-has-icon-choice::after{content:none!important;display:none!important;}
a.button .kws-button-icon,.button .kws-button-icon{margin-left:.35em;}
a.kws-scroll-down-button{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:.5em auto!important;}

/* KWS 8.1.37: universal responsive form guard. Keeps theme-generated front-end forms usable on narrow screens. */
form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
form select,
form textarea{max-width:100%;box-sizing:border-box;}
form textarea{width:100%;}

/* KWS 8.1.831 content rhythm: avoid artificial trailing space from the last
 * authored item while giving adjacent flex boxes a clearer desktop gutter. */
.aB3rK6-element-block:last-child,
.element-block-wrapper:last-child,
.primary-text > :last-child,
.kws-content-block-inner > :last-child{margin-bottom:0!important;}
.primary-text > :last-child,
.kws-content-block-inner > :last-child{padding-bottom:0;}
.kws-flex-layout:last-child,.kws-flex-content-row:last-child{margin-bottom:0!important;}
.kws-flex-content-row>.kws-flex-column{padding:clamp(.35em,.8vw,.75em) clamp(.35em,.8vw,.75em) 0;}

/* Slider desktop layout now matches the established mobile nowrap behaviour. */
.review-slider-title{display:block;white-space:normal;}
.review-slider-main{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center;align-items:center;}
.review-slider-main img{display:block;flex:0 0 auto;white-space:normal;}

@media (max-width:782px){
  form{max-width:100%;}
  form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  form select,
  form textarea{max-width:100%;}
  form .row,form .form-row,form .kws-form-row{min-width:0;}
  form [class*="col-"]{min-width:0;max-width:100%;}
  form input[type="submit"],form input[type="button"],form input[type="reset"],form button{white-space:normal;max-width:100%;}
}


/* KWS 8.1.52: mobile title readability and unclipped archive/post-list titles. */
@media (max-width:768px){
  .article-title-wrapper-mobile .post-title,
  #mobile-title .post-title{
    
    line-height:1.12!important;
    min-height:0!important;
  }
}
.archive-items-wrapper .kws-card-title,
.kws-instance-post-list .kws-card-title,
.related-wrapper .kws-card-title{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.archive-items-wrapper .kws-card-title>a,
.kws-instance-post-list .kws-card-title>a,
.related-wrapper .kws-card-title>a{
  display:block!important;
  max-height:none!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  text-overflow:clip!important;
}


/* KWS 8.1.57: primary post/page title scale.
   The former 2.65rem minimum still made phone titles visibly smaller than their
   desktop counterpart. Keep one genuinely fluid scale, but with a much tighter
   mobile-to-desktop range: roughly 52px on narrow phones through ~68px on wide
   desktop viewports (subject to the site's fluid root type size). */
.article-title-wrapper .post-title,
.article-title-wrapper-mobile .post-title,
.article-title-wrapper-desktop .post-title,
.article-title-wrapper-mobile > .post-title[role="heading"],
.single .article-title-wrapper .post-title,
.page .article-title-wrapper .post-title,
#mobile-title .post-title,
#desktop-title .post-title{
  
  line-height:1.08!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

/* Primary article and archive typography now inherit the canonical heading/body scale above. */

/* Classic + Magazine: one authoritative title and excerpt scale. */
.article-title-wrapper .post-title,
.article-title-wrapper-mobile .post-title,
.article-title-wrapper-desktop .post-title,
.article-title-wrapper-mobile > .post-title[role="heading"],
.single .article-title-wrapper .post-title,
.page .article-title-wrapper .post-title,
#mobile-title .post-title,
#desktop-title .post-title,
.ekweb0b_post_title_magazine .post-title{
	
	line-height:1.08!important;
}
.article-title-wrapper .article-excerpt-wrapper h4,
.article-title-wrapper-mobile .article-excerpt-wrapper h4,
.article-title-wrapper-desktop .article-excerpt-wrapper h4,
.ekweb0b_post_title_magazine .article-excerpt-wrapper h4{
	
	line-height:1.24!important;
	font-weight:700!important;
}

/* Clean/Classic and Shout are the archive-card reference scale. Corporate and
 * Horizontal now deliberately use the same title/excerpt rhythm. */
a.shout-archive-link,
.archive-items-wrapper .kws-card-title,
.archive-items-wrapper .corporate-archive-title.kws-card-title,
.archive-items-wrapper .horizontal-archive-content .kws-card-title,
.kws-instance-post-list .kws-card-title,
.related-wrapper .kws-card-title{
	
	line-height:1.25!important;
	font-weight:600!important;
}
.archive-items-wrapper .grid-text,
.archive-items-wrapper .blocks-archive-excerpt,
.archive-items-wrapper .corporate-archive-text,
.archive-items-wrapper .horizontal-archive-content h6,
.archive-items-wrapper .horizontal-archive-content .grid-text,
.kws-instance-post-list .grid-text,
.kws-instance-post-list .blocks-archive-excerpt,
.kws-instance-post-list .corporate-archive-text,
.kws-instance-post-list .horizontal-archive-content h6,
.related-wrapper .related-item-info > p{
	
	line-height:1.5!important;
	font-weight:400!important;
	letter-spacing:normal!important;
}


/* ==========================================================================
   Sliders
   Showcase and Review sliders share this single structural/type base.
   No slider presentation CSS is loaded from /includes.
   ========================================================================== */
:is(.showcase-slider-inner,.review-slider-inner){
    position:relative;
    min-height:75vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    flex-wrap:nowrap;
    justify-content:center;
    align-content:center;
    align-items:center;
    font-weight:400;
}
/* Reviews use a deliberately shorter viewport floor than Showcase, while
 * min-height still allows the slide to grow naturally with its content. */
.review-slider-inner{min-height:55vh;}
 :is(.showcase-slider-inner,.review-slider-inner) *{animation-delay:.7s;}
.showcase-bg{position:absolute;inset:0;width:100%;height:100%;min-height:100%;overflow:hidden;background:no-repeat center center;background-size:cover;z-index:-10;opacity:.65;}
.showcase-bg img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;}
.showcase-logo{width:85%;max-width:370px;padding:1em 0;text-align:center;margin:0 auto;}
.showcase-logo img{height:auto;}
.showcase-slider-excerpt{margin:0 auto;color:#FFFFFF;text-shadow:1px 2px 3px rgba(0,0,0,.94);box-sizing:border-box;text-align:center;width:75%;}
.showcase-slider-excerpt :is(a.button,.button,.btn,button){text-shadow:none!important;}
.kws-showcase-welcome-inner{isolation:isolate;}
.kws-showcase-welcome-inner>.kws-content-background-layer{z-index:0;}
.kws-showcase-welcome-inner>.kws-content-block-inner{position:relative;z-index:1;width:94%;max-width:1400px;padding:1em;text-align:inherit;}
.showcase-slider-excerpt a.filled{}
body .showcase-title{font-weight:400!important;line-height:1.15!important;}
body .showcase-excerpt{font-weight:400!important;line-height:1.3!important;}
.showcase-title,.showcase-excerpt{margin-bottom:25px;display:block;}
.carousel-indicators li{background-color:rgba(255,255,255,.5);}
.kws-showcase-welcome-inner>.kws-content-block-inner,
.kws-showcase-welcome-inner>.kws-content-block-inner :is(h1,h2,h3,h4,h5,h6),
.kws-showcase-welcome-inner>.kws-content-block-inner :is(p,div,span)[style*="font-size"]{line-height:1.3;}
@media(min-width:800px){
    .showcase-slider-inner{min-height:80vh;}
    .review-slider-inner{min-height:40vh;}
    .showcase-slider-excerpt{width:85%;}
    .showcase-logo{max-width:450px;}
}


/* Shared slider typography. */
.showcase-slider-excerpt :is(h1,h2,h3,h4,h5,h6),
.review-slider-inner :is(h1,h2,h3,h4,h5,h6){line-height:1.15!important;}
.showcase-slider-excerpt :is(p,div,span)[style*="font-size"]{line-height:1.28;}
.showcase-slider-excerpt .showcase-title{line-height:1.15!important;}
.showcase-slider-excerpt .showcase-excerpt,
.review-slider-inner,.review-slider-excerpt,.review-author-info{line-height:1.35!important;}
.showcase-title,
.review-slider-title,
.kws-instance-showcase h3.showcase-title,
.kws-instance-review-slider h3.review-slider-title{font-size:1.8em;}
.kws-instance-showcase .showcase-excerpt,
.showcase-slider-excerpt .showcase-excerpt,
.kws-instance-review-slider .review-slider-excerpt,
.review-slider-inner .review-slider-excerpt{font-size:1.5em;}
@media (max-width:782px){
  .kws-instance-showcase .showcase-title,.showcase-slider-excerpt .showcase-title{line-height:1.12!important;}
  .kws-instance-showcase .showcase-excerpt,.showcase-slider-excerpt .showcase-excerpt{line-height:1.35!important;}
  .kws-instance-review-slider .review-slider-excerpt,.review-slider-inner .review-slider-excerpt{line-height:1.35!important;}
  .kws-instance-review-slider .review-author-info,.kws-instance-review-slider .review-author-info h5,.review-slider-inner .review-author-info h5{line-height:1.3!important;}
}

/* Showcase/Review defaults: authored/custom colours may override this, while the
 * shared contrast-shadow helper always computes the opposite shadow colour. */
.showcase-slider-excerpt,
.review-slider-inner,
.review-slider-main,
.review-slider-excerpt,
.review-author-info{color:#FFFFFF;}
.showcase-slider-excerpt :is(h1,h2,h3,h4,h5,h6,p,span,i,em,strong,b,small,a:not(.button):not(.btn)),
.review-slider-inner :is(h1,h2,h3,h4,h5,h6,p,span,i,em,strong,b,small,a:not(.button):not(.btn)){color:inherit;}

/* Review author/source text participates in the same automatic contrast-shadow
 * system as slider titles/excerpts. The runtime helper replaces only the colour
 * according to the computed foreground colour; this declaration simply marks
 * the author information as a text-shadow-bearing element on both the public
 * site and Element Block previews. */
.review-author-info{
    text-shadow:2px 3px 3px rgba(0,0,0,.92);
}

/* Review Slider shares Showcase structure. Only its circular portrait/row
 * arrangement remains review-specific, and lives in the theme stylesheet. */
.review-slider-inner .button.filled{margin:.35em auto .1em;}
.review-slider-main{margin-bottom:.2em;padding:0 2em;box-sizing:border-box;gap:.18em;}
.review-slider-main img{border-radius:100%;vertical-align:middle;width:30vw;min-width:100px;max-width:150px;height:auto;margin:.45em 1em .25em;text-align:center;}
.review-slider-excerpt{padding:.15em .5em;margin:.1em auto;}
.review-author-info{padding:.15em 1em .25em;box-sizing:border-box;text-align:center;}
.review-slider-main > h4,
.review-slider-excerpt{font-weight:400!important;line-height:1.24!important;}
.review-author-info,
.review-author-info h5{font-weight:400!important;line-height:1.25!important;}
@media(min-width:800px){
    .review-slider-main{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center;align-content:center;align-items:center;}
    .review-slider-excerpt{width:80%;}
}

/* KWS 8.1.822 component typography relationships.
 * These selectors intentionally reference the semantic scale above. */

/* Contact-widget buttons: 6% larger than the established 1.2em control scale. */
.kws-contact-widget .kws-btn-light { font-size: 1.272em; }

/* Visible page/post titles use the same visual scale as H1. */
.article-title-wrapper .post-title,
.article-title-wrapper-mobile .post-title,
.article-title-wrapper-desktop .post-title,
.single .article-title-wrapper .post-title,
.page .article-title-wrapper .post-title,
#mobile-title .post-title,
#desktop-title .post-title,
.ekweb0b_post_title_magazine .post-title { font-size: 2.2em; }

/* Archive/Post List/related item titles use standard H3 sizing. */
.archive-items-wrapper .kws-card-title,
.kws-instance-post-list .kws-card-title,
.related-wrapper .kws-card-title { font-size: 1.25em; }

/* Shout archive titles are 6% smaller than standard H3. */
a.shout-archive-link { font-size: 1.175em; }

/* Post-list/archive excerpts remain slightly larger than body copy. */
.archive-items-wrapper :is(.grid-text,.blocks-archive-excerpt,.corporate-archive-text,.horizontal-archive-excerpt),
.kws-instance-post-list :is(.grid-text,.blocks-archive-excerpt,.corporate-archive-text,.horizontal-archive-excerpt) { font-size: 1.1em; }

/* Block-title spacing is symmetrical. */
.block-title { padding: .825em 0; box-sizing: border-box; }
.block-title > :first-child { margin-top: 0; }
.block-title > :last-child { margin-bottom: 0; }
.block-title > h2 { margin-top: 0; margin-bottom: .35em; }
.block-title > h2:last-child { margin-bottom: 0; }

/* Social icon block breathing room. */
.social_block.kws-footer-socials { padding-top: .6em; padding-bottom: .6em; }

/* Front-end management widget follows standard body scale, not Bootstrap H6. */
.kws_fe_admin_widget,
.kws_fe_admin_widget .widget-head h6,
.kws_fe_admin_widget ul,
.kws_fe_admin_widget li,
.kws_fe_admin_widget a { font-size: 1em; line-height: 1.4; }
.kws_fe_admin_widget .widget-head h6 { margin: 0; padding: .35em .5em; }


/* KWS 8.1.833 slider navigation refinements */
.kws-instance-showcase .carousel-indicators,
.kws-instance-review-slider .carousel-indicators,
#showcase-touch-slider .carousel-indicators,
#review-touch-slider .carousel-indicators{display:none!important;}
@media (max-width:767px){
  .kws-instance-showcase .carousel-control,
  .kws-instance-review-slider .carousel-control,
  #showcase-touch-slider .carousel-control,
  #review-touch-slider .carousel-control{display:none!important;}
}

/* Whole-row responsive visibility (saved on the row, never on individual flex boxes). */
@media (max-width:768px){.kws-flex-layout.kws-flex-content-row.kws-flex-hide-mobile{display:none!important;}}
@media (min-width:769px){.kws-flex-layout.kws-flex-content-row.kws-flex-hide-desktop{display:none!important;}}

/* Individual flexbox responsive visibility (not entire flex row). */
@media(max-width:768px){.kws-flex-content-row>.kws-flex-column.kws-flex-hide-mobile{display:none!important;}}
@media(min-width:769px){.kws-flex-content-row>.kws-flex-column.kws-flex-hide-desktop{display:none!important;}}
/* Showcase and Review: viewport minimum, expanded to the tallest slide by
 * kws-slider-equal-height.js. Keep image layers pinned to the shared height. */
:is(#showcase-touch-slider,#review-touch-slider,.kws-instance-showcase,.kws-instance-review-slider){
    --kws-slider-min:75vh;
    min-height:var(--kws-slider-height,var(--kws-slider-min));
    box-sizing:border-box;
}
:is(#review-touch-slider,.kws-instance-review-slider){--kws-slider-min:55vh;}
:is(#showcase-touch-slider,#review-touch-slider,.kws-instance-showcase,.kws-instance-review-slider) > .carousel-inner,
:is(#showcase-touch-slider,#review-touch-slider,.kws-instance-showcase,.kws-instance-review-slider) > .carousel-inner > :is(.item,.carousel-item),
:is(#showcase-touch-slider,#review-touch-slider,.kws-instance-showcase,.kws-instance-review-slider) .showcase-slider-inner{
    height:var(--kws-slider-height,var(--kws-slider-min));
    min-height:var(--kws-slider-height,var(--kws-slider-min));
    max-height:none;
    box-sizing:border-box;
}
:is(#showcase-touch-slider,#review-touch-slider,.kws-instance-showcase,.kws-instance-review-slider) .showcase-slider-inner{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    overflow:visible;
}
:is(#showcase-touch-slider,.kws-instance-showcase) .showcase-bg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;}
:is(#showcase-touch-slider,.kws-instance-showcase) .showcase-bg img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;}
@media(min-width:800px){
    :is(#showcase-touch-slider,.kws-instance-showcase){--kws-slider-min:80vh;}
    :is(#review-touch-slider,.kws-instance-review-slider){--kws-slider-min:40vh;}
}

/* Frontend management widget: retain original vertical hover expansion; admin-style surface only. */
.kws_fe_admin_widget.navbar{
 background:#23282d;color:#f0f0f1;border:1px solid #3c434a;
 border-radius:6px 6px 0 0;box-shadow:0 0 12px rgba(0,0,0,.22);
}
.kws_fe_admin_widget.navbar:hover{background:#1d2327;}
.kws_fe_admin_widget.navbar .widget-head h6{color:#f0f0f1;font-weight:600;}
.kws_fe_admin_widget.navbar ul li{color:#c3c4c7;}
.kws_fe_admin_widget.navbar ul li a{color:#f0f0f1;}
.kws_fe_admin_widget.navbar ul li a:hover,.kws_fe_admin_widget.navbar ul li a:focus{color:#72aee6;text-decoration:none;}

/* Reusable social-block shortcode sizes, relative to the 48px footer icons.
   These rules are scoped so the actual footer is not changed. */
.kws-shortcode-social-block{max-width:800px;width:100%;box-sizing:border-box;margin-left:auto;margin-right:auto}
.kws-shortcode-social-block .kws-footer-socials{display:flex;flex-wrap:wrap;justify-content:center;align-items:center}
.kws-shortcode-social-block .kws-footer-socials-label{text-align:center}
.kws-shortcode-social-block.kws-social-block--small .kws-footer-social{width:48px;height:48px;border-radius:13px}
.kws-shortcode-social-block.kws-social-block--medium .kws-footer-social{width:72px;height:72px;border-radius:20px;font-size:1.5em}
.kws-shortcode-social-block.kws-social-block--large .kws-footer-social{width:120px;height:120px;border-radius:33px;font-size:2.5em}
@media (max-width:767px){.kws-shortcode-social-block.kws-social-block--large .kws-footer-social{width:84px;height:84px;border-radius:23px;font-size:1.75em}}
/* Keep scaled icons within narrow mobile containers. */
.kws-shortcode-social-block .kws-footer-social{max-width:100%;box-sizing:border-box;aspect-ratio:1}

/* Sitemap settings: compact, responsive selectable post types and taxonomies. */
#kws-sitemap-manager .kws-sitemap-checkbox-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    width: 100%;
    max-width: 100%;
    margin: 0 0 14px;
}
#kws-sitemap-manager .kws-sitemap-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    min-width: 0;
    max-width: 100%;
    cursor: pointer;
    line-height: 1.4;
    white-space: normal;
}
#kws-sitemap-manager .kws-sitemap-checkbox input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 0;
}
@media (max-width: 600px) {
    #kws-sitemap-manager .kws-sitemap-checkbox-grid { gap: 10px 14px; }
    #kws-sitemap-manager .kws-sitemap-checkbox { flex: 0 1 auto; }
}

/* Featured media player responds to the card without thumbnail framing. */
.kws-feature-post-media{width:100%;max-width:100%;min-width:0;overflow:hidden;display:flex;justify-content:center}
.kws-feature-post-media iframe,.kws-feature-post-media video,.kws-feature-post-media audio{max-width:100%;box-sizing:border-box}

/* KWS 8.1.973: Responsive media sizing, confined to theme front end and Element Block previews. */
body.single-audio .kws-media-single-player, body.single-audio .kws-audio-provider-player {width:90%!important;max-width:450px!important;margin-inline:auto;box-sizing:border-box}
.audio-archive-wrapper .audio-item .kws-audio-provider-player,.audio-archive-wrapper .audio-item > iframe,.audio-archive-wrapper .audio-item > audio {width:90%!important;max-width:450px!important;margin-inline:auto;box-sizing:border-box}
.audio-archive-wrapper .audio-item .kws-audio-provider-player iframe {width:100%!important;max-width:100%!important}
.kws-feature-post-media{width:100%;min-width:0;max-width:100%;overflow:hidden;display:flex;justify-content:center;box-sizing:border-box}
.kws-feature-post-media > *{max-width:100%!important;min-width:0;box-sizing:border-box}
.kws-feature-post-media iframe,.kws-feature-post-media video,.kws-feature-post-media audio{display:block;max-width:100%!important;box-sizing:border-box}
.kws-feature-post-media iframe[src*="youtube"],.kws-feature-post-media iframe[src*="vimeo"]{width:100%!important;aspect-ratio:16/9;height:auto!important}
.kws-feature-post-media + h2{margin-top:22px!important}
.kws-instance-preview .kws-feature-post-media :is(iframe,audio,video){pointer-events:none!important}
.kws-instance-preview .kws-feature-post-card{min-width:0;max-width:100%;overflow:hidden}

/* KWS 8.1.976: Keep single-audio provider embeds centred with clear breathing room.
   Scope to actual audio post pages; leave the video and admin previews untouched. */
body.single-audio .kws-media-single > .kws-media-single-player {
    display:block; width:90%!important; max-width:450px!important;
    margin-left:auto!important; margin-right:auto!important;
    margin-bottom:14px!important; padding:0!important; box-sizing:border-box;
}
body.single-audio .kws-media-single > .kws-media-single-player > .kws-audio-provider-player {
    display:block; width:100%!important; max-width:100%!important;
    margin-left:auto!important; margin-right:auto!important;
}
body.single-audio .kws-media-single > .kws-media-single-player :is(iframe,audio) {
    display:block; max-width:100%!important; box-sizing:border-box; margin-inline:auto!important;
}

/* v8.1.978: per-Feature Post button edges; default retains legacy styling. */
.kws-feature-actions-edge-square .button{border-radius:0!important}
.kws-feature-actions-edge-soft .button{border-radius:4px!important}
.kws-feature-actions-edge-rounded .button{border-radius:10px!important}
.kws-feature-actions-edge-pill .button{border-radius:999px!important;padding-inline:max(1.05em,16px)!important}
a.button.kws-button-edge-pill,span.button.kws-button-edge-pill{padding-inline:max(1.05em,16px)!important}

/* v8.1.979: apply chosen Featured Post button edges directly in both editor preview and front end. */
.kws-feature-post-actions a.button.kws-button-edge-square{border-radius:0!important}
.kws-feature-post-actions a.button.kws-button-edge-soft{border-radius:4px!important}
.kws-feature-post-actions a.button.kws-button-edge-rounded{border-radius:10px!important}
.kws-feature-post-actions a.button.kws-button-edge-pill{border-radius:999px!important;padding-inline:max(1.15em,18px)!important}
.kws-feature-post-media .kws-audio-provider-player{width:100%!important;max-width:100%;min-width:0}
