/*
Theme Name: KTK - GeneratePress
Author: KTK
Author URI: https://www.kotuko.it/
Description: Child Theme for GeneratePress, created by Kotuko.
Version: 1.0.0
License: The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself. You will find a copy of the license here: http://wordpress.org/about/gpl/.
Template: generatepress
Text Domain: ktk-generatepress
*/


/* Sticky Footer with Flexbox START */

html,
body {
	height: 100%;
	width: 100%;
}

body {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100%;
}

#page {
	flex: 1 0 auto;
}

.container.grid-container {
	width: 100%;
}

.site-footer {
	flex-shrink: 0;
}


/* Sticky Footer with Flexbox END */


/** KTK Custom **/

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

html {
	font-size: 62.5%;
}

body {
	overflow-x: hidden;
}


/** Util **/

.d-flex {
	display: flex !important;
}

.ktk-alignfull {
	margin-left: calc(-100vw / 2 + 100% / 2);
	margin-right: calc(-100vw / 2 + 100% / 2);
	max-width: 100vw;
	width: auto!important;
}

.ktk-display-none {
	display: none !important;
}

.ktk-visibility-hidden {
	visibility: hidden !important;
}

.ktk-img-outside-left {
	left: -200px;
	position: relative;
}

.ktk-img-outside-right {
	right: -200px;
	position: relative;
}

.ktk-img-full img {
	width: 100%;
}

.ktk-slant-top-right,
.ktk-slant-top-right img {
	clip-path: polygon(0 0, 100% 0, 74% 100%, 0% 100%);
}

.ktk-slant-bottom-left,
.ktk-slant-bottom-left img {
	clip-path: polygon(26% 0, 100% 0, 100% 100%, 0% 100%);
}

.ktk-slant-bottom-left-top-right,
.ktk-slant-bottom-left-top-right img {
	clip-path: polygon(26% 0, 100% 0, 74% 100%, 0% 100%);
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #414141;
	margin: 2rem 0;
	padding: 0;
}

.pb-15 {
	padding-bottom: 15px;
}

.pb-30 {
	padding-bottom: 30px;
}

.ktk-list-custom ul {
	margin: 0 0 0rem 2rem;
}


/** Typography */

.title-primary {
	font-style: normal;
	font-stretch: normal;
	line-height: normal;
}

.title-primary__main {
	font-size: 3rem;
	font-weight: 800;
	letter-spacing: 0.3px;
}

.title-primary__caption {
	font-size: 18px;
	font-weight: 300;
}

.title-secondary {
	font-style: normal;
	font-stretch: normal;
	line-height: normal;
}

.title-secondary__main {
	font-size: 24px;
	font-weight: 800;
	letter-spacing: 0.3px;
}

.title-secondary__caption {
	font-size: 16px;
	font-weight: 300;
}

.title-tertiary {
	font-style: normal;
	font-stretch: normal;
	line-height: normal;
}

.title-tertiary__main {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.3px;
}

.title-tertiary__caption {
	font-size: 16px;
	font-weight: normal;
}

.ktk-post-info {
	font-size: 14px;
	font-weight: 300;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	letter-spacing: 0.3px;
}


/** Contact Form **/

.field-col,
.wpcf7-text {
	width: 100%;
	height: 40px;
}

textarea.wpcf7-textarea {
	height: 80px;
}


/** BTN **/

.btn,
.btn:link,
.btn:visited {
	display: inline-block;
	position: relative;
	cursor: pointer;
	padding: 1rem 4.5rem;
}

.btn:hover {
	background-color: #F75B19;
	border: 1px solid #fff;
	color: #fff;
}

.btn--yellow {
	background: #F75B19 !important;
	border: 1px solid #F75B19 !important;
	border-radius: 0;
	color: #fff;
	font-size: 16px;
	clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
}

.btn--yellow:hover {
	background-color: #F75B19 !important;
	border: 1px solid #fff;
	color: #fff;
}

.ktk-btn-container .gb-button {
	clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
}


/** Logo **/
.navigation-search.nav-search-active {
	left: 25%;
	width: 90%;
}
.navigation-search input[type="search"] {
	opacity: 1;
	background-color: #087dc5;
	width: 75%;
}

.site-logo svg {
	position: absolute;
	top: -58px;
	left: 0;
	z-index: 90;
	width: 100%;
}

.site-header .header-image {
	vertical-align: middle;
	z-index: 99;
	position: relative;
}

.ktk-site-logo-container {
	position: absolute;
	left: 0;
	top: -58px;
	padding: 20px 0;
	background: #fff;
	width: 330px;
	height: 118px;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	z-index: 999;
	opacity: 1;
	clip-path: polygon(0 0, 100% 0, 83% 100%, 0% 100%);
}

.top-bar,
.site-header {
	/* z-index: 900; */
}

.top-bar .widget_nav_menu li {
	margin: 0;
	margin-bottom: .5em;
	font-size: 14px;
}

.top-bar-align-right .widget:nth-child(2n) {
	order: unset;
}

/** Language **/
.wpml-ls-legacy-dropdown-click {
	width: 6rem;
	margin-top: -9px;
}

.wpml-ls-legacy-dropdown-click a {
	border: none;
	background-color: transparent;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a, .wpml-ls-legacy-dropdown a:focus, .wpml-ls-legacy-dropdown a:hover {
	color: #fff;
	background-color: transparent;
	border: none;
}

.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:focus .wpml-ls-sub-menu, .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover .wpml-ls-sub-menu {
	/* visibility: hidden; */
}

.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
	border-top: none;
}

/** Footer **/

#nav_menu-3 ul {
	text-align: right;
}


/** Misc **/

.light-blue-bg {
	background-image: linear-gradient(90deg, #59a8f4, #0079c1);
}

.grid-full-width {
	margin-right: -200px;
}


/** Menu **/

@media (min-width: 769px) {
	.inside-navigation {
		position: static;
	}
	.main-navigation .main-nav ul ul li a {
		padding: 15px 35px;
	}
	.main-navigation .main-nav ul ul li:hover>a {
		background-color: #ffffff;
		color: #F75B19;
		font-weight: 700;
	}
	nav .main-nav>ul>li>ul.sub-menu {
		background: #ffffff;
		box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
		font-size: 14px;
		line-height: 19px;
		text-align: center;
	}
	/** Mega Menu **/
	nav .main-nav .mega-menu,
	nav .main-nav .mega-menu li {
		position: static;
	}

	nav .main-nav .mega-menu:hover>ul.sub-menu {
		display: flex;
	}
	
	nav .main-nav .mega-menu>ul.sub-menu {
		width: 40%;
		max-width: 1120px;
		min-height: 320px;
		left: 25%!important;
		display: none;
		flex-wrap: wrap;
		flex-direction: column;
		text-align: left!important;
		justify-content: center;
		pointer-events: auto;
		transition-delay: 0.5s;
		z-index: 90 !important;
	}
	nav .main-nav .mega-menu ul.sub-menu li {
		background: #ffffff;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li {
		display: block;
		width: 100%;
		vertical-align: top;
		/* max-width: 33.33333%; */
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>a {
		text-transform: uppercase;
		font-weight: 400;
		font-size: 14px;
		line-height: 19px;
		color: #0B0B0B;
	}
	nav .main-nav .mega-menu ul.sub-menu li:hover>a,
	nav .main-nav .mega-menu ul.sub-menu li:focus>a,
	nav .main-nav .mega-menu ul.sub-menu li[class*="current-"]>a,
	nav .main-nav .mega-menu ul.sub-menu ul.sub-menu {
		background-color: transparent !important;
		color: #F75B19;
	}
	nav .main-nav .mega-menu ul.sub-menu li.menu-item-heading {
		padding: 10px;
		color: #0079C1;
		text-transform: uppercase;
		font-weight: 700;
		font-size: 14px;
		line-height: 19px;
		text-align: left;
	}
	nav .main-nav .mega-menu ul.sub-menu li.menu-item-heading:hover {
		color: #0079C1;
	}
	nav .main-nav .mega-menu ul.sub-menu ul.sub-menu {
		position: static;
		display: block;
		opacity: 1;
		visibility: visible;
		width: 100%;
		box-shadow: 0 0 0;
		top: 0;
		left: 0;
		height: auto;
		pointer-events: auto;
		transform: scale(1);
		border-left: 3px solid #0079C1;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>a {
		font-style: normal;
		font-weight: 700;
		font-size: 14px;
		line-height: 19px;
		color: #0B0B0B;
		padding-right: 54%;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li>a {
		font-style: normal;
		font-weight: 400;
		font-size: 14px;
		line-height: 19px;
		color: #414141;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li>ul.sub-menu>li>a {
		font-style: normal;
		font-weight: 400;
		font-size: 14px;
		line-height: 19px;
		color: #414141;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li:not(.menu-item-heading):hover>a,
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li.current-menu-item>a,
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li.current-menu-ancestor>a,
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li>ul.sub-menu>li:not(.menu-item-heading):hover>a,
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li>ul.sub-menu>li.current-menu-item>a {
		font-weight: 700!important;
		color: #414141;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu {
		display: none;
		left: 50%;
		width: 66.66667%;
		height: 100%;
		position: absolute;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li:hover>ul.sub-menu,
	nav .main-nav .mega-menu>ul.sub-menu>li.current-menu-item>ul.sub-menu,
	nav .main-nav .mega-menu>ul.sub-menu>li.current-menu-ancestor>ul.sub-menu 
	{
		display: block;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li {
		/* border-left: 2px solid #0079C1; */
		max-width: 75%;
		padding-right: 25px;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li:not(.menu-item-heading):hover,
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li.current-menu-item,
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li.current-menu-ancestor {
		/* border-left: 2px solid #004e90; */
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li>ul.sub-menu {
		display: none;
		left: 75%;
		/* width: 50%; */
		height: 100%;
		position: absolute;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li:hover>ul.sub-menu,
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li.current-menu-item:hover>ul.sub-menu
	/* nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li.current-menu-ancestor:hover>ul.sub-menu  */
	{
		display: block;
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li>ul.sub-menu>li {
		/* border-left: 2px solid #0079C1; */
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li>ul.sub-menu>li:not(.menu-item-heading):hover,
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li>ul.sub-menu>li.current-menu-item,
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li>ul.sub-menu>li.current-menu-ancestor {
		/* border-left: 2px solid #004e90; */
	}
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li:hover::before,
	nav .main-nav .mega-menu>ul.sub-menu>li>ul.sub-menu>li>ul.sub-menu>li:hover::before {
		content: '';
		position: absolute;
		border-right: 3px solid #004e90;
		border-bottom: 3px solid #004e90;
		width: 10px;
		height: 10px;
		left: -0.6rem;
		transform: translateY(-50%) rotate(-45deg);
		background-color: #fff;
		margin-top: 24px;
	}
	nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
		display: none;
	}
	/** Icon Menu **/
	nav .main-nav .icon-menu,
	nav .main-nav .icon-menu li {
		position: static;
	}
	nav .main-nav .icon-menu>ul {
		width: 100%;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		align-content: center;
		left: 0!important;
		box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
	}
	nav .main-nav .icon-menu li {
		padding-top: 50px;
		position: relative;
	}
	nav .main-nav .icon-menu li a {
		font-weight: 700;
		font-size: 12px;
		line-height: 16px;
		color: #414141;
	}
	nav .main-nav .icon-menu li::before {
		content: '';
		position: absolute;
		top: 10px;
		left: 0;
		right: 0;
		height: 32px;
		background-position: center center;
		background-repeat: no-repeat;
	}
	nav .main-nav .icon-menu li::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: -30px;
		width: 60px;
		height: 100%;
		background: #0B0B0B;
		clip-path: polygon(99% 0, 100% 0, 1% 100%, 0% 100%);
		opacity: 0.2;
		z-index: 99;
	}
	nav .main-nav .icon-menu li:last-of-type:after {
		display: none;
	}
	nav .main-nav .icon-menu li.infrastrutture::before {
		background-image: url(/wp-content/themes/ktk-generatepress-child/assets/img/infrastrutture.png);
	}
	nav .main-nav .icon-menu li.industria::before {
		background-image: url(/wp-content/themes/ktk-generatepress-child/assets/img/industria.png);
	}
	nav .main-nav .icon-menu li.energia::before {
		background-image: url(/wp-content/themes/ktk-generatepress-child/assets/img/energia.png);
	}
	nav .main-nav .icon-menu li.ecologia::before {
		background-image: url(/wp-content/themes/ktk-generatepress-child/assets/img/ecologia.png);
	}
	nav .main-nav .icon-menu li.oil::before {
		background-image: url(/wp-content/themes/ktk-generatepress-child/assets/img/oil.png);
	}
	nav .main-nav .icon-menu li.chimico::before {
		background-image: url(/wp-content/themes/ktk-generatepress-child/assets/img/chimico.png);
	}
	nav .main-nav .icon-menu li.material::before {
		background-image: url(/wp-content/themes/ktk-generatepress-child/assets/img/material.png);
	}
}


/** Mobile Menu */

@media (max-width: 768px) {
	.menu-toggle {
		color: #0B0B0B;
	}
	#mobile-menu li.menu-item a {
		color: #0B0B0B;
	}
	#mobile-menu ul>li.current-menu-item>a,
	#mobile-menu ul>li.current-menu-ancestor>a {
		color: #F75B19;
	}
	#mobile-menu ul>li>ul {
		border-left: 2px solid #004e90;
	}
	#mobile-menu ul>li>ul>li {
		padding-left: 10px;
	}
	#mobile-menu ul>li>ul>li>ul>li {
		padding-left: 10px;
	}

	.main-navigation .menu-bar-item.search-item {
		color: black;
	}

	/* .ktk-slant-top-right,
	.ktk-slant-top-right img {
		clip-path: none;
	}

	.ktk-slant-bottom-left,
	.ktk-slant-bottom-left img {
		clip-path: none;
	}

	.ktk-slant-bottom-left-top-right,
	.ktk-slant-bottom-left-top-right img {
		clip-path: none;
	} */

	.ktk-img-outside-left {
		left: 0;
	}
	
	.ktk-img-outside-right {
		right: 0;
	}

	#mobile-header {
		background-color: #e5e5e5;
	}

	.footer-widget-1, .footer-widget-2, .footer-widget-3, #nav_menu-3 ul {
		text-align: center !important;
	}



}


/** Solution Category **/

body.tax-solution-category .ktk-breadcrumb-sec {
	margin-top: 30px;
}

body.tax-solution-category h1 {
	margin-top: 50px;
	font-size: 24px;
	font-weight: 700;
	line-height: 36px;
	text-align: center;
}

body.tax-solution-category p {
	margin-top: 20px;
	font-size: 14px;
	font-weight: 400;
	line-height: 21px;
	text-align: center;
}

body.tax-solution-category .ktk-solutions-carousel__wrapper {
	margin-top: 40px;
	margin-bottom: 80px !important;
}


/** Solution **/

body.single-solution .ktk-breadcrumb-sec {
	margin-top: 30px;
}

body.single-solution .solution__title {
	font-size: 24px;
	font-weight: 700;
	line-height: 36px;
	margin-top: 70px;
	margin-bottom: 10px;
}

body.single-solution .solution__text {
	margin-top: 0;
	font-size: 14px;
	line-height: 21px;
}

body.single-solution .solution__products-list-wrapper {
	font-size: 14px;
	line-height: 21px;
	text-align: left;
}

body.single-solution .solution__products-list-wrapper p {
	margin-bottom: 0;
}

body.single-solution .solution__products-list-item {
	font-size: 14px;
	line-height: 21px;
	text-align: left;
	color: #F75B19;
	text-align: left;
}

body.single-solution .solution__picture {
	clip-path: polygon(26% 0, 100% 0, 100% 100%, 0% 100%);
	height: 100%;
	object-fit: cover;
}

body.single-solution .solution__bottom-text {
	margin-bottom: 80px;
}

body.single-solution .solution__bottom-text p {
	margin-top: 40px;
	font-size: 14px;
	line-height: 21px;
	text-align: left;
}

@media screen and (max-width: 1680px) {
	nav .main-nav .mega-menu>ul.sub-menu {
		min-height: 340px;
	}
}

@media screen and (max-width: 1290px) {
	nav .main-nav .mega-menu>ul.sub-menu {
		min-height: 360px;
	}
}

@media screen and (max-width: 1258px) {
	nav .main-nav .mega-menu>ul.sub-menu {
		min-height: 400px;
	}
}

@media screen and (max-width: 1202px) {
	nav .main-nav .mega-menu>ul.sub-menu {
		min-height: 420px;
	}
}

@media screen and (max-width: 1040px) {
	nav .main-nav .mega-menu>ul.sub-menu {
		min-height: 440px;
	}
}

@media screen and (max-width: 1000px) {
	nav .main-nav .mega-menu>ul.sub-menu {
		min-height: 460px;
	}
}

@media screen and (max-width: 930px) {
	nav .main-nav .mega-menu>ul.sub-menu {
		min-height: 490px;
	}
}

@media screen and (max-width: 845px) {
	nav .main-nav .mega-menu>ul.sub-menu {
		min-height: 560px;
	}
}

.anniversary {
	text-align: center;
	padding-bottom: 40px;
}


/*@media (min-width: 769px){
nav .main-nav .mega-menu > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu {
    display: block;
}}
@media (min-width: 769px){
nav .main-nav .mega-menu > ul.sub-menu > li > ul.sub-menu {
    display: block;
}}
*/

.hovered>.sub-menu>li:first-child>.sub-menu {
	display: block !important;
}

/* .hovered > .sub-menu > li:first-child > a {
	color: #F75B19 !important;
} */