/*
Theme Name: Komainu
Theme URI: 
Author: Aspectus Group
Author URI: 
Description: 
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.1.0
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: komainu
Tags: block-patterns, block-styles, custom-colors, custom-logo, custom-menu, editor-style, full-site-editing, one-column, template-editing, threaded-comments, translation-ready, wide-blocks

/* Defaults
---------------------------------------- */

/* Defaults
---------------------------------------- */

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

:root {
	--cut: 20px;
}

html {
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
}

body * {
    text-wrap: pretty;
}
h1, h2, h3, h4, h5, h6 {
    text-wrap: pretty;
    text-wrap: balance;
}


a,
button,
input:focus,
input[type="button"],
input[type="submit"],
textarea:focus,
.wp-element-button {
	transition: all 0.2s ease-in-out;
}

a,
a:focus,
a:hover,
a:not(.wp-element-button) {
	text-decoration-thickness: 2px;
}
a:not(.wp-block-button__link):not(.wp-block-read-more):hover {
	color: var(--wp--preset--color--primary);
}
.featured-insight-columns a:not(.wp-block-button__link):not(.wp-block-read-more):hover {
	color: initial;
}
b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--medium);
}

mark {
	background: linear-gradient(90deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--primary) 100%);
	background-position: 0 85%;
	background-repeat: repeat-x;
	background-size: 100% 15%;
}

/* -- Forms -- */

input,
select,
textarea {
	background-color: #E2E6EB;
	border: 0;
	border-radius: 0;
	color: var(--wp--preset--color--secondary);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--light);
	line-height: var(--wp--custom--line-height--body);
	padding: 10px 20px;
	width: 100%;
	--cut: 10px;
	clip-path: polygon(
		/* Top edge */
		var(--cut) 0,                          /* Top-left cut */
		calc(100% - var(--cut)) 0,             /* Top-right cut start */
		100% var(--cut),                       /* Top-right cut */
	
		/* Right edge */
		100% calc(100% - var(--cut)),          /* Bottom-right cut start */
		calc(100% - var(--cut)) 100%,          /* Bottom-right cut */
	
		/* Bottom edge */
		var(--cut) 100%,                       /* Bottom-left cut start */
		0 calc(100% - var(--cut)),             /* Bottom-left cut */
	
		/* Left edge */
		0 var(--cut)                           /* Back to top-left cut */
	);
}
input::placeholder,
textarea::placeholder {
	color: var(--wp--preset--color--secondary);
	opacity: 1;
}

input:focus,
textarea:focus {
	background-color: var(--wp--preset--color--secondary);
	color: #fff;
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
}

input[type="submit"] {
	text-transform: uppercase;
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

::placeholder {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.5;
}

.nf-form-fields-required {
	font-size: 14px;
    margin-bottom: 20px;
}
.pipedriveWebForms {
	height: auto!important;
}

footer {
	clip-path: polygon(
			var(--cut) 0,                        /* move right by cut */
			calc(100% - var(--cut)) 0,           /* move to near top-right */
			100% var(--cut),                     /* cut top-right inward */
			100% 100%,                           /* bottom-right corner */
			0 100%,                              /* bottom-left corner */
		0 var(--cut)                         /* cut top-left inward */
	);
}

footer .nf-form-content {
	position: relative;
}
footer .submit-container {
	position: absolute;
    right: 0;
    width: fit-content;
    top: 10px;
}
footer input[type="submit"] {
	background-color: var(--wp--preset--color--primary);
	border-radius: 20px;
	border: 0;
	padding: 10px 14px;
	font-size: 50px;
    line-height: 15px;
    font-family: Palatino, sans-serif;
    color: var(--wp--preset--color--secondary);
}
footer .nf-form-cont h3 {
	text-transform: uppercase;
	font-size: 18px;
	font-weight: 600;
}
footer input {
	background-color: transparent;
	color: #F0F2F5;
	border-bottom: 1px solid #F0F2F5;
	clip-path: none;
}
footer input::placeholder {
	color: #fff;
}

footer .footer-main-links a,
footer .footer-legal-links a {
	text-decoration: none;
	transition: all 0.2s ease-in-out;
}
footer .footer-main-links a:hover,
footer .footer-legal-links a:hover {
	text-decoration: underline;
	color: var(--wp--preset--color--primary);
}

/* Blocks
---------------------------------------- */

/* -- Code -- */

*:not(.wp-block-code) > code {
	background-color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--small);
	padding: 5px 8px;
}

/* -- Navigation -- */
header {
	display: initial;
}
header > :last-child {
/* 	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px); */
	--bg: rgba(255, 255, 255, 0.5);
	background: linear-gradient(45deg,transparent 0 var(--cut),var(--bg) var(--cut)) 0 100%,linear-gradient(-45deg,transparent 0 var(--cut),var(--bg) var(--cut)) 100% 100%,linear-gradient(225deg,transparent 0 var(--cut),var(--bg) var(--cut)) 100% 0,linear-gradient(135deg,transparent 0 var(--cut),var(--bg) var(--cut)) 0 0
}
header nav .wp-block-navigation-item__content:hover,
header nav .wp-block-outermost-mega-menu:hover > button {
	color: var(--wp--preset--color--primary) !important;
}
header nav .wp-block-navigation-item,
.wp-block-outermost-mega-menu > button {
	z-index: 3;
}
.wp-block-outermost-mega-menu > button {
	position: relative;
}
header nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.contact-nav-item,
header nav .wp-block-navigation-item.contact-nav-item {
	background-color: var(--wp--preset--color--primary)!important;
	border-radius: 10px;
	border: 0;
	padding: 10px 14px;
	color: #fff!important;
	transition: all 0.2s ease-in-out;
}
header nav .wp-block-navigation-item.contact-nav-item:hover {
	background-color: var(--wp--preset--color--custom-32004-b);
}
header nav .wp-block-navigation-item.contact-nav-item a:hover {
	color: #fff!important;
}
header nav .first-submenu {
	align-items: flex-start;
}
header nav .first-submenu ul {
	align-items: stretch;
}
header nav .first-submenu li {
	padding: 12px 0;
	border-bottom: 1px solid #F0F2F5;
}
.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--custom--spacing--gap);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: var(--wp--custom--spacing--gap);
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	border: 1px solid currentColor;
	padding: 2px;
}

.has-background .wp-block-navigation__responsive-container-open:focus,
.has-background .wp-block-navigation__responsive-container-open:hover {
	color: var(--wp--preset--color--base);
}

/* -- Navigation Submenu -- */

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--contrast);
	border: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding: 10px;
}

.wp-block-navigation :where(.wp-block-navigation__submenu-container) a {
	padding: 2px 10px;
}

/* -- Button -- */
.wp-block-buttons.is-layout-flex a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.wp-block-buttons.is-layout-flex a,
.wp-block-buttons.is-layout-flex a::after,
a.wp-block-read-more::after {
	transition: all 0.2s linear;
}
.wp-block-buttons.is-layout-flex a:hover {
	opacity: 0.75;
}
.wp-block-buttons.is-layout-flex a:hover::after,
a.wp-block-read-more:hover::after {
	transform: translate(5px, 0);
}

/* -- Services -- */

@property --c0 {
	syntax: '<color>';
	inherits: false;
	initial-value: #525269;
  }
  @property --c1 {
	syntax: '<color>';
	inherits: false;
	initial-value: #F0F2F5;
  }
.services-grid figure,
.expertise-grid figure,
.services-grid figure img,
.expertise-grid figure img {
	width: 100%!important;
}
.services-grid img,
.expertise-grid img {
	background: #525269;
	--c0: #525269;
	--c1: #F0F2F5;
	background: linear-gradient(237deg, var(--c0) 0%, var(--c1) 100%);
	transition: --c0 0.5s, --c1 0.5s;
}
.services-grid .wp-block-column:hover img,
.services-grid:has(> .wp-block-group) > .wp-block-group:hover img {
	--c0: #32004B;
	--c1: #002360;
}

.services-grid .wp-block-column:has(h3.has-primary-color):hover img,
.services-grid:has(> .wp-block-group) > .wp-block-group:has(h3.has-primary-color):hover img {
	--c0: #E3193A;
	--c1: #525269;
}

.services-grid .wp-block-column:has(h3.has-neutral-color):hover img,
.services-grid:has(> .wp-block-group) > .wp-block-group:has(h3.has-neutral-color):hover img {
	--c0: #3673FF;
	--c1: #002360;
}
.services-grid .wp-block-column:hover .wp-block-group,
.services-grid .wp-block-column:hover .wp-block-group *,
.services-grid:has(> .wp-block-group) > .wp-block-group > .wp-block-group:last-child,
.expertise-grid > .wp-block-group:last-child {
	transition: all 0.2s ease-in-out;
}
.services-grid .wp-block-column:hover > .wp-block-group,
.services-grid > .wp-block-group:last-child:not(:has(> figure)):hover,
.services-grid:has(> .wp-block-group) > .wp-block-group:has(> figure):hover > .wp-block-group,
.expertise-grid .wp-block-group:has(> figure):hover .wp-block-group,
.expertise-grid > .wp-block-group:last-child:not(:has(> figure)):hover {
	background: var(--wp--preset--color--secondary) !important;
}
.services-grid .wp-block-column:hover .wp-block-group *,
.services-grid:has(> .wp-block-group) > .wp-block-group:hover .wp-block-group *,
.expertise-grid .wp-block-group:hover .wp-block-group *  {
	color: #fff !important;
}
.services-grid > .wp-block-column,
.services-grid:has(> .wp-block-group) > .wp-block-group {
	display: flex;
	flex-direction: column;
}
.services-grid > .wp-block-column > .wp-block-group {
	flex: 1;
}
/* .services-grid > .wp-block-column > .wp-block-group > h3,
.services-grid > .wp-block-column > .wp-block-group > .wp-block-buttons, */
.expertise-grid > .wp-block-group .wp-block-group > h3,
.expertise-grid > .wp-block-group .wp-block-group > .wp-block-buttons,
.services-grid > .wp-block-column > .wp-block-group:has(> ul) > p,
.services-grid > .wp-block-group > .wp-block-group:has(ul) p,
.expertise-grid > .wp-block-group > .wp-block-group:has(ul) p {
	flex: 1;
}
.services-grid > .wp-block-column > .wp-block-group:not(:has(ul)) > p,
.expertise-grid > .wp-block-group > .wp-block-group:not(:has(ul)) > p {
	flex: 2;
}
.services-grid > .wp-block-column > .wp-block-group:has(ul) > ul,
.expertise-grid > .wp-block-group .wp-block-group:has(> ul) {
	flex: 2;
}
.services-grid > .wp-block-column > .wp-block-group > .wp-block-buttons,
.services-grid:has(> .wp-block-group) > .wp-block-group > .wp-block-group .wp-block-buttons {
	margin-top: auto;
}
/* -- Expertise -- */

.expertise-grid .wp-block-column:hover .wp-block-group,
.expertise-grid .wp-block-column:hover .wp-block-group * {
	transition: all 0.2s ease-in-out;
}
.expertise-grid .wp-block-group:hover img {
	--c0: #525269;
	--c1: #3673FF;
}

.case-study-columns .wp-block-column,
.case-study-grid .wp-block-post .wp-block-group {
	transition: all 0.2s ease-in-out;
}
.case-study-columns .wp-block-column:hover,
.case-study-grid .wp-block-post .wp-block-group:hover {
	background-color: var(--wp--preset--color--primary)!important;
}
.case-study-columns .wp-block-column:hover *,
.case-study-grid .wp-block-post .wp-block-group:hover * {
	filter: brightness(100);
}

.social-icons a:hover {
	filter: brightness(0) saturate(100%) invert(21%) sepia(54%) saturate(4657%) hue-rotate(338deg) brightness(88%) contrast(102%);
}

.author-box > :last-child {
	margin-left: -20px;
}
.featured-insight-columns > :last-child {
	margin-left: -40px;
}
.wp-block-group:has(> .aspectus-swiper-block) {
	max-width: 100%;
}

/** Social links **/
.wp-block-social-links > li {
	background: #32004b;
    border-radius: 0;
    clip-path: polygon(/* Top edge */ var(--cut) 0, /* Top-left cut */ calc(100% - var(--cut)) 0, /* Top-right cut start */ 100% var(--cut), /* Top-right cut */ /* Right edge */ 100% calc(100% - var(--cut)), /* Bottom-right cut start */ calc(100% - var(--cut)) 100%, /* Bottom-right cut */ /* Bottom edge */ var(--cut) 100%, /* Bottom-left cut start */ 0 calc(100% - var(--cut)), /* Bottom-left cut */ /* Left edge */ 0 var(--cut) /* Back to top-left cut */);
    --cut: 10px;
}
.wp-block-social-links > li > a {
	--cut: 9px;
	background: #fff;
    clip-path: polygon(
  
	var(--cut) 0,                          
	calc(100% - var(--cut)) 0,             
	100% var(--cut),                       
   
	
	100% calc(100% - var(--cut)),          
	calc(100% - var(--cut)) 100%,          
   
	
	var(--cut) 100%,                       
	0 calc(100% - var(--cut)),             
   
	
	0 var(--cut)                           
   )
}

/** insights wpgridbuilder **/
.wpgb-masonry .wpgb-card-footer .wpgb-block-7 {
	position: relative;
}
.wpgb-masonry .wpgb-card-footer .wpgb-block-7::after {
	content: "";
	display: inline-block;
	aspect-ratio: 22 / 16;
	margin-left: 0.5em;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 16'%3E%3Cpath d='M21.7071 8.70711C22.0976 8.31658 22.0976 7.68342 21.7071 7.29289L15.3431 0.928932C14.9526 0.538408 14.3195 0.538408 13.9289 0.928932C13.5384 1.31946 13.5384 1.95262 13.9289 2.34315L19.5858 8L13.9289 13.6569C13.5384 14.0474 13.5384 14.6805 13.9289 15.0711C14.3195 15.4616 14.9526 15.4616 15.3431 15.0711L21.7071 8.70711ZM0 8V9H21V8V7H0V8Z'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	background-color: currentColor;
	width: 21px;
	transition: all 0.2s linear;
}
.wpgb-masonry .wpgb-card-footer .wpgb-block-7:hover::after {
	transform: translate(5px, 0);
}
.wpgb-card-media { aspect-ratio: 16/9; width: 100%!important; }
.wpgb-card-media-thumbnail { width: 100%; height: 100%; }
.wpgb-card-media-thumbnail img { width: 100%; height: 100%; object-fit: cover; display: block; }

.wpgb-masonry {
  opacity: 1;
  transition: opacity 0.3s ease;
}
.wpgb-masonry.fading {
  opacity: 0;
}
/* Default hover color = primary (already your current behavior) */
.wpgb-card .wpgb-block-3 a:hover,
.wpgb-card .wpgb-card-footer a:hover {
  	color: var(--wp--preset--color--primary);
	opacity: 1!important;
}

/* Category-specific overrides */
.wpgb-card.cat-news .wpgb-block-3 a:hover,
.wpgb-card.cat-news .wpgb-card-footer a:hover,
.wpgb-card.cat-videos .wpgb-block-3 a:hover,
.wpgb-card.cat-videos .wpgb-card-footer a:hover {
  	color: var(--wp--preset--color--neutral);
}

.wpgb-card.cat-case-studies .wpgb-block-3 a:hover,
.wpgb-card.cat-case-studies .wpgb-card-footer a:hover,
.wpgb-card.cat-press-releases .wpgb-block-3 a:hover,
.wpgb-card.cat-press-releases .wpgb-card-footer a:hover {
  	color: var(--wp--preset--color--custom-32004-b);
}

/* Utility
---------------------------------------- */

/* -- Box Shadow -- */

.is-style-shadow-light {
	box-shadow: var(--wp--preset--shadow--light);
}

.is-style-shadow-solid {
	box-shadow: var(--wp--preset--shadow--solid);
}

.is-style-cut-corners {
	clip-path: polygon(
		/* Top edge */
		var(--cut) 0,                          /* Top-left cut */
		calc(100% - var(--cut)) 0,             /* Top-right cut start */
		100% var(--cut),                       /* Top-right cut */
	
		/* Right edge */
		100% calc(100% - var(--cut)),          /* Bottom-right cut start */
		calc(100% - var(--cut)) 100%,          /* Bottom-right cut */
	
		/* Bottom edge */
		var(--cut) 100%,                       /* Bottom-left cut start */
		0 calc(100% - var(--cut)),             /* Bottom-left cut */
	
		/* Left edge */
		0 var(--cut)                           /* Back to top-left cut */
	);
}

.is-style-cut-tl-br {
	background: linear-gradient(315deg, transparent 0 var(--cut), var(--bg) var(--cut)) 0 100%;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	--bg: var(--wp--preset--color--base);
	position: relative;
}
.is-style-cut-tl-br.is-style-cut-tl-br-grey {
	--bg: var(--wp--preset--color--custom-f-0-f-2-f-5);
}
.is-style-cut-tl-br::before {
	content: "";
	position: absolute;
	top: 0px;
	right: -20px;
	width: 0;
	height: 0;
	border-left: 20px solid var(--bg);
	border-bottom: 20px solid transparent;
}
.is-style-cut-tl-br::after {
	content: "";
	position: absolute;
	bottom: -19px;
	left: 0px;
	width: 0;
	height: 0;
	border-right: 20px solid transparent;
	border-top: 20px solid var(--bg);
}

.display-block,
.wp-block-button.display-block > a {
	display: block;
}

.entry-content > .wp-block-group {
	opacity: 0;
	transform: translateY(20px) scale(0.98);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
	will-change: opacity, transform;
}
.entry-content > .wp-block-group.is-in {
	opacity: 1;
	transform: none;
}
.items-center {
	align-items: center;
	display: flex;
}
.display-none {
	display: none!important;
}
.wp-block-outermost-mega-menu__menu-container .menu-container__close-button {
	display: none!important;
}

/* Media Queries
---------------------------------------- */
nav.mobile-menu {
	display: none;
}

@media only screen and (max-width: 600px) {

	/* -- Utility -- */

	.is-style-hidden-mobile {
		display: none !important;
	}

}

@media only screen and (max-width: 782px) {

	/* -- Columns -- */

	.is-style-columns-reverse {
		flex-direction: column-reverse;
	}
	.is-style-cut-corners:has(.is-style-cut-tl-br) {
		background-repeat: no-repeat!important;
		background-position: bottom 30px center!important;
		background-size: 80%!important;
		padding-right: 0!important;
		padding-bottom: 50%!important;
	}
	.is-style-cut-corners:has(.is-style-cut-tl-br) .is-style-cut-tl-br,
	.is-style-cut-corners:has(.is-style-cut-tl-br) .is-style-cut-tl-br > div {
		background: transparent!important;
	}
	.is-style-cut-corners:has(.is-style-cut-tl-br) .is-style-cut-tl-br {
		padding-right: 0!important;
	}
	.is-style-cut-corners:has(.is-style-cut-tl-br) .is-style-cut-tl-br::before,
	.is-style-cut-corners:has(.is-style-cut-tl-br) .is-style-cut-tl-br::after,
	.is-style-cut-corners .wp-block-column:has(> .is-style-cut-tl-br) + .wp-block-column {
		display: none;
	}
	.services-grid figure img,
	.expertise-grid figure img {
		aspect-ratio: 16 / 9 !important;
	}
	header .header-promo figure {
		display: none;
	}
	.animation-cover {
		padding-top: 50px!important;
		padding-bottom: 40px!important;
	}
	nav.desktop-menu {
		display: none;
	}
	nav.mobile-menu {
		display: block;
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-child {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
	}
	.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
		max-height: 0;
		padding-top: 0!important;
		padding-bottom: 0!important;
		margin-top: 0!important;
		overflow: hidden!important;
		opacity: 0;
		transition: 
		  max-height 0.3s ease,
		  padding 0.3s ease,
		  opacity 0.3s ease;
	}
	.wp-block-navigation .has-child button[aria-expanded="true"] + .wp-block-navigation__submenu-container {
		max-height: 1000px;
		padding-top: 1rem!important;
		padding-bottom: 1rem!important;
		margin-top: 20px!important;
		opacity: 1;
	}
	.wp-block-navigation__responsive-container.is-menu-open 
    .wp-block-navigation__responsive-container-content 
    .wp-block-navigation__submenu-icon {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}
	.column-divider {
		text-align: center;
	}
	.column-divider > img {
		transform: rotate(90deg);
	}
	.wp-block-site-logo img {
		max-width: 150px;
	}
	.workflows-title + figure {
		margin-top: 10px!important;
	}
	.text-media-lr .wp-block-column:has(> figure) {
		padding-left: 0!important;
	}
	.text-media-rl .wp-block-column:has(> figure) {
		padding-right: 0!important;
	}
	.is-style-cut-corners:has(.is-style-cut-tl-br) {
		background-image: none !important;
		position: relative;
		padding-bottom: 40px!important;
	}
	.is-style-cut-corners:has(.is-style-cut-tl-br)::after {
		content: "";
		display: block;
		width: 85%;
		margin: 0 auto;
		aspect-ratio: 16 / 9;
		background-image: var(--bg);
		background-size: cover;
		background-position: center;
		clip-path: polygon(  /* Top edge */  var(--cut) 0,                          /* Top-left cut */  calc(100% - var(--cut)) 0,             /* Top-right cut start */  100% var(--cut),                       /* Top-right cut */   /* Right edge */  100% calc(100% - var(--cut)),          /* Bottom-right cut start */  calc(100% - var(--cut)) 100%,          /* Bottom-right cut */   /* Bottom edge */  var(--cut) 100%,                       /* Bottom-left cut start */  0 calc(100% - var(--cut)),             /* Bottom-left cut */   /* Left edge */  0 var(--cut)                           /* Back to top-left cut */ );
	}
	.wp-block-group .wp-block-columns > .wp-block-column:empty {
		display: none;
	}

}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; }
	.io-reveal { transition: none!important; transform: none!important; }
	.layer-container img { transition: none; filter: none; transform: none; opacity: 1; }
}