/*!
Theme Name: zWeb UI
Theme URI: https://www.kadencewp.com/kadence-theme/
Description: Personal-branded theme for Zaki Sayed's website.
Version: 1.0.20240605
Author: Zaki Sayed
Author URI: https://www.zakisayed.com/
Template: kadence
Text Domain: zweb-ui
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* ----------------
 * GLOBAL OVERRIDES
 * ---------------- */

:root {
	font-variant-numeric: proportional-nums !important;
	font-kerning: normal !important;

	/* --global-xs-spacing: 1rem;
	--global-lg-spacing: 3rem;
	--global-xl-spacing: 4rem;
	--global-xxl-spacing: 6rem; */

	/* Tracking applicable to Kadence Blocks ONLY */
	--global-kb-tracking-xs: -0.04em;
	--global-kb-tracking-sm: -0.03em;
	--global-kb-tracking-md: -0.02em;
	--global-kb-tracking-lg: -0.01em;
	--global-kb-tracking-xl: 0;
	--global-kb-tracking-xxl: 0.01em;
	--global-kb-tracking-xxxl: 0.02em;

	--global-heading-font-family: 'Satoshi', 'Roboto', sans-serif !important;

}

/* Add Satoshi fonts */

@font-face {
	font-family: 'Satoshi';
	src: url('/wp-content/themes/zweb-ui/fonts/Satoshi-Variable.woff2') format('woff2'),
		url('/wp-content/themes/zweb-ui/fonts/Satoshi-Variable.woff') format('woff');
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Satoshi';
	src: url('/wp-content/themes/zweb-ui/fonts/Satoshi-VariableItalic.woff2') format('woff2'),
		url('/wp-content/themes/zweb-ui/fonts/Satoshi-VariableItalic.woff') format('woff');
	font-weight: 300 900;
	font-style: italic;
	font-display: swap;
}

a {
	text-underline-offset: 0.14em;
	text-decoration-thickness: 1px !important;
}

a:hover {
	text-decoration-thickness: 2px !important;
}

/* ----------
 * TYPOGRAPHY
 * ---------- */

h1,h2,h3,h4,h5,h6 {
	font-weight: 900 !important;
}

.eyebrow {
	font-family: var( --global-body-font-family, inherit );
	letter-spacing: var( --global-kb-tracking-xxxl );
	text-transform: uppercase;
}

/* -------
 * BUTTONS
 * ------- */

div.wp-block-kadence-advancedbtn .kb-button {
	text-underline-offset: .14em;
	text-decoration-thickness: 1px !important;
}

.kb-btn-global-outline:hover,
.kb-btn-global-outline:focus {
	text-decoration: none !important;
}

.button {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2;
}

.button.button-size-small {
	height: 64px;
	font-size: 20px;
	padding: .75em 2em;
}

.button.button-size-medium {
	height: 80px;
	font-size: 24px;
	padding: .75em 2em;
}

#kt-scroll-up:hover {
	border-style: solid;
}

/* ------
 * HEADER
 * ------ */

.site-branding {
	font-family: var( --global-heading-font-family, inherit );
}

.site-title .last-name,
.mobile-site-branding .site-title .last-name {
	font-weight: 300;
	margin-left: -0.23em;
	transition: all 0.3s ease;
}

.site-container {
	transition: padding 0.2s ease-out;
}

.item-is-stuck .site-container {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.item-is-stuck .site-title {
	font-size: 32px;
}

.item-is-fixed {
	z-index: 2;
}

.site-title {
	transition: all 0.3s ease;
}

.site-title,
.mobile-site-branding .site-title {
	visibility: hidden; /* hide until new class is added */
}

.mimic-link {
	/* Show hand pointer on links without source, like 'Work' */
	cursor: pointer;
}

ul.sub-menu > li.current-menu-item > a {
	pointer-events: none;
}

ul.sub-menu > li.current-menu-item:hover {
	cursor: default;
}

.menu-desc {
	font-size: var(--global-kb-font-size-sm);
	color: var(--global-palette4);
}

.mobile-navigation .kadence-svg-iconset svg {
	height: 2em;
	width: 2em;
}

.mobile-navigation ul.sub-menu {
	padding-top: 16px;
	padding-bottom: 16px;
}

.mobile-navigation ul.sub-menu .menu-item {
	font-size: 26px;
}

.mobile-navigation ul.menu li:last-child a {
	border-bottom: none;
}

/* --------------
 * CONTENT BLOCKS
 * -------------- */

.icon-card {
	overflow: hidden;
}

.kb-table-container td {
	vertical-align: top;
}

.kb-table-container tr:first-child {
	border-top: 0;
}

.kb-table-container tr:last-child {
	border-bottom: 0;
}

.meta-table {
	min-width: 100%;
}

.zoom {
	overflow: hidden;
}

.zoom img {
	transition: transform 0.3s ease;
}

.zoom:hover img {
	/* zoom-in cover images on mouse hover */
	transform: scale(1.1);
}

.card-body:hover h3 {
	color: var(--global-palette1);
	text-decoration: underline;
}

.cta-overline { /* "Let's make" */
	font-weight: 400 !important;
}

article.post-password-required {
	margin-top: 10em;
}

/*** CAROUSEL & LIGHTBOX ***/

.wpcp-all-captions .wpcp-image-caption,
.wpcp-all-captions .wcp-light-box-caption,
.wpcp-fancybox-wrapper .fancybox-caption {
	font-weight: 400 !important;
	font-family: var( --global-body-font-family, inherit );
}

.wpcpro-wrapper .wpcp-carousel-section.wpcp-image-carousel .wpcp-single-item .wpcp-all-captions {
	padding: .8em;
}

.wpcpro-wrapper .wpcp-carousel-section .wpcp-swiper-dots.wpcp-pagination-strokes .swiper-pagination-bullet {
	border-radius: 0;
	height: 4px;
	width: 12px;
}

.wpcp-swiper-dots .swiper-pagination-bullet.swiper-pagination-bullet-active {
	width: 32px !important;
}

.wpcpro-wrapper .wpcp-carousel-section .wpcp-swiper-dots .swiper-pagination-bullet:not(.wpcp-number-pagination) {
	margin: 4px;
}

/* Add gradient background to FancyBox caption */
.fancybox-caption {
    padding-top: 4em !important;
}

.wpcp-fancybox-wrapper .fancybox-caption {
	font-size: var(--global-kb-font-size-md);
}

div.cmplz-links.cmplz-documents > a.cmplz-link.cookie-statement {
    display: none !important;
}


/* -----
 * FORMS
 * ----- */

div.wpforms-container-full:not(:empty) {
	margin: 0;
	width: 100%;
	max-width: 960px;
}

.wpforms-container .wpforms-form .wpforms-field-label {
	font-family: var(--global-heading-font-family);
	font-weight: 800;
	font-size: var(--global-kb-font-size-lg);
}

.wpforms-container .wpforms-field {
	padding: 0;
	margin-bottom: 3em;
}

div.wpforms-container-full .wpforms-field-sublabel, .wp-core-ui div.wpforms-container-full .wpforms-field-sublabel {
	font-size: var(--global-kb-font-size-sm);
}

div.wpforms-container-full input[type=date], div.wpforms-container-full input[type=datetime], div.wpforms-container-full input[type=datetime-local], div.wpforms-container-full input[type=email], div.wpforms-container-full input[type=month], div.wpforms-container-full input[type=number], div.wpforms-container-full input[type=password], div.wpforms-container-full input[type=range], div.wpforms-container-full input[type=search], div.wpforms-container-full input[type=tel], div.wpforms-container-full input[type=text], div.wpforms-container-full input[type=time], div.wpforms-container-full input[type=url], div.wpforms-container-full input[type=week], div.wpforms-container-full select, div.wpforms-container-full textarea, .wp-core-ui div.wpforms-container-full input[type=date], .wp-core-ui div.wpforms-container-full input[type=datetime], .wp-core-ui div.wpforms-container-full input[type=datetime-local], .wp-core-ui div.wpforms-container-full input[type=email], .wp-core-ui div.wpforms-container-full input[type=month], .wp-core-ui div.wpforms-container-full input[type=number], .wp-core-ui div.wpforms-container-full input[type=password], .wp-core-ui div.wpforms-container-full input[type=range], .wp-core-ui div.wpforms-container-full input[type=search], .wp-core-ui div.wpforms-container-full input[type=tel], .wp-core-ui div.wpforms-container-full input[type=text], .wp-core-ui div.wpforms-container-full input[type=time], .wp-core-ui div.wpforms-container-full input[type=url], .wp-core-ui div.wpforms-container-full input[type=week], .wp-core-ui div.wpforms-container-full select, .wp-core-ui div.wpforms-container-full textarea, div.wpforms-container-full input[type=checkbox]+label, div.wpforms-container-full input[type=radio]+label {
	font-size: var(--global-kb-font-size-md);
}

div.wpforms-container-full input[type=date]:focus, div.wpforms-container-full input[type=datetime]:focus, div.wpforms-container-full input[type=datetime-local]:focus, div.wpforms-container-full input[type=email]:focus, div.wpforms-container-full input[type=month]:focus, div.wpforms-container-full input[type=number]:focus, div.wpforms-container-full input[type=password]:focus, div.wpforms-container-full input[type=range]:focus, div.wpforms-container-full input[type=search]:focus, div.wpforms-container-full input[type=tel]:focus, div.wpforms-container-full input[type=text]:focus, div.wpforms-container-full input[type=time]:focus, div.wpforms-container-full input[type=url]:focus, div.wpforms-container-full input[type=week]:focus, div.wpforms-container-full select:focus, div.wpforms-container-full textarea:focus, .wp-core-ui div.wpforms-container-full input[type=date]:focus, .wp-core-ui div.wpforms-container-full input[type=datetime]:focus, .wp-core-ui div.wpforms-container-full input[type=datetime-local]:focus, .wp-core-ui div.wpforms-container-full input[type=email]:focus, .wp-core-ui div.wpforms-container-full input[type=month]:focus, .wp-core-ui div.wpforms-container-full input[type=number]:focus, .wp-core-ui div.wpforms-container-full input[type=password]:focus, .wp-core-ui div.wpforms-container-full input[type=range]:focus, .wp-core-ui div.wpforms-container-full input[type=search]:focus, .wp-core-ui div.wpforms-container-full input[type=tel]:focus, .wp-core-ui div.wpforms-container-full input[type=text]:focus, .wp-core-ui div.wpforms-container-full input[type=time]:focus, .wp-core-ui div.wpforms-container-full input[type=url]:focus, .wp-core-ui div.wpforms-container-full input[type=week]:focus, .wp-core-ui div.wpforms-container-full select:focus, .wp-core-ui div.wpforms-container-full textarea:focus, div.wpforms-container-full input[type=date]:focus:invalid, div.wpforms-container-full input[type=datetime]:focus:invalid, div.wpforms-container-full input[type=datetime-local]:focus:invalid, div.wpforms-container-full input[type=email]:focus:invalid, div.wpforms-container-full input[type=month]:focus:invalid, div.wpforms-container-full input[type=number]:focus:invalid, div.wpforms-container-full input[type=password]:focus:invalid, div.wpforms-container-full input[type=range]:focus:invalid, div.wpforms-container-full input[type=search]:focus:invalid, div.wpforms-container-full input[type=tel]:focus:invalid, div.wpforms-container-full input[type=text]:focus:invalid, div.wpforms-container-full input[type=time]:focus:invalid, div.wpforms-container-full input[type=url]:focus:invalid, div.wpforms-container-full input[type=week]:focus:invalid, div.wpforms-container-full select:focus:invalid, div.wpforms-container-full textarea:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=date]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=datetime]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=datetime-local]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=email]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=month]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=number]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=password]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=range]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=search]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=tel]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=text]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=time]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=url]:focus:invalid, .wp-core-ui div.wpforms-container-full input[type=week]:focus:invalid, .wp-core-ui div.wpforms-container-full select:focus:invalid, .wp-core-ui div.wpforms-container-full textarea:focus:invalid {
	border-color: var(--global-palette3);
	background-color: var(--global-palette9);
	box-shadow: none;
}

div.wpforms-container-full .wpforms-field.wpforms-field-radio ul {
	margin-top: 0.5em;
}

div.wpforms-container-full input[type=checkbox]:before, div.wpforms-container-full input[type=radio]:before {
	border-color: var(--global-palette3);
	background-color: var(--global-palette9);
}

div.wpforms-container-full input[type=submit], div.wpforms-container-full button[type=submit], div.wpforms-container-full .wpforms-page-button, .wp-core-ui div.wpforms-container-full input[type=submit], .wp-core-ui div.wpforms-container-full button[type=submit], .wp-core-ui div.wpforms-container-full .wpforms-page-button {
	padding: 1em 1.5em;
	height: auto;
}

div.wpforms-container-full .wpforms-form textarea.wpforms-field-medium {
    height: calc(var(--wpforms-field-size-input-height) * 5);
}

.post-password-form p label,
.post-password-form p label input[name="post_password"] {
    display: block;
}

.post-password-form p label {
    margin-bottom: 1.5em;
}

/* ------
 * FOOTER
 * ------ */

.ft-ro-dir-row .footer-section-inner-items-2 .footer-widget-area {
	width: 100%;
}

.footer-widget-area .current-menu-item a {
	text-decoration: underline;
}

/* ----------
 * RESPONSIVE
 * ---------- */

@media (max-width: 767px) {

	:root {
		/* Font sizes applicable to Kadence Blocks ONLY */
		--global-kb-font-size-sm: 14px;
		--global-kb-font-size-md: 16px;
		--global-kb-font-size-lg: 20px;
		--global-kb-font-size-xl: 24px;
		--global-kb-font-size-xxl: 30px;
		--global-kb-font-size-xxxl: 46px;

		/* Leading applicable to Kadence Blocks ONLY */
		--global-kb-leading-sm: 1.2;
		--global-kb-leading-md: 1.3;
		--global-kb-leading-lg: 1.4;
		--global-kb-leading-xl: 1.45;
		--global-kb-leading-xxl: 1.5;
		--global-kb-leading-xxxl: 1.6;
	}

	.kb-text-sm {
		letter-spacing: var( --global-kb-tracking-xl );
		line-height: var( --global-kb-leading-xxxl );
	}

	.kb-text-md {
		letter-spacing: var( --global-kb-tracking-xl );
		line-height: var( --global-kb-leading-xxl );
	}

	.kb-text-lg {
		letter-spacing: var( --global-kb-tracking-xl );
		line-height: var( --global-kb-leading-xl );
	}

	.kb-text-xl {
		letter-spacing: var( --global-kb-tracking-lg );
		line-height: var( --global-kb-leading-lg );
	}

	.kb-text-xxl {
		letter-spacing: var( --global-kb-tracking-md );
		line-height: var( --global-kb-leading-md );
	}

	.kb-text-xxxl {
		letter-spacing: var( --global-kb-tracking-sm );
		line-height: var( --global-kb-leading-sm );
	}

	.eyebrow {
		font-size: 12px;
	}

	.btn-group {
		width: 100% !important;
	}

	.site-bottom-footer-inner-wrap {
		row-gap: 24px;
	}

	.mobile-navigation ul.sub-menu .menu-item {
		font-size: 20px;
	}

	.wpcpro-wrapper .wpcp-carousel-section.wpcp-standard[data-variablewidth=true] .swiper-slide {
		margin-right: 16px !important;
	}

}

@media (min-width: 768px) {

	:root {
		/* Font sizes applicable to Kadence Blocks ONLY */
		--global-kb-font-size-sm: 16px;
		--global-kb-font-size-md: 18px;
		--global-kb-font-size-lg: 24px;
		--global-kb-font-size-xl: 32px;
		--global-kb-font-size-xxl: 48px;
		--global-kb-font-size-xxxl: 88px;

		/* Leading applicable to Kadence Blocks ONLY */
		--global-kb-leading-sm: 1.1;
		--global-kb-leading-md: 1.25;
		--global-kb-leading-lg: 1.3;
		--global-kb-leading-xl: 1.4;
		--global-kb-leading-xxl: 1.5;
		--global-kb-leading-xxxl: 1.6;
	}

	.kb-text-sm {
		letter-spacing: var( --global-kb-tracking-xl );
		line-height: var( --global-kb-leading-xxxl );
	}

	.kb-text-md {
		letter-spacing: var( --global-kb-tracking-xl );
		line-height: var( --global-kb-leading-xxxl );
	}

	.kb-text-lg {
		letter-spacing: var( --global-kb-tracking-lg );
		line-height: var( --global-kb-leading-xxl );
	}

	.kb-text-xl {
		letter-spacing: var( --global-kb-tracking-md );
		line-height: var( --global-kb-leading-lg );
	}

	.kb-text-xxl {
		letter-spacing: var( --global-kb-tracking-sm );
		line-height: var( --global-kb-leading-md );
	}

	.kb-text-xxxl {
		letter-spacing: var( --global-kb-tracking-xs );
		line-height: var( --global-kb-leading-sm );
	}

	.eyebrow {
		font-size: 14px;
	}

	.site-bottom-footer-inner-wrap {
		row-gap: 48px;
	}

	.mobile-navigation ul.sub-menu .menu-item {
		font-size: 24px;
	}

	.wpcpro-wrapper .wpcp-carousel-section.wpcp-standard[data-variablewidth=true] .swiper-slide {
		margin-right: 32px !important;
	}

}

@media (min-width: 1200px) {

	:root {
		/* Font sizes applicable to Kadence Blocks ONLY */
		--global-kb-font-size-sm: 18px;
		--global-kb-font-size-md: 20px;
		--global-kb-font-size-lg: 26px;
		--global-kb-font-size-xl: 36px;
		--global-kb-font-size-xxl: 52px;
		--global-kb-font-size-xxxl: 96px;

		/* Leading applicable to Kadence Blocks ONLY */
		--global-kb-leading-sm: 1.1;
		--global-kb-leading-md: 1.25;
		--global-kb-leading-lg: 1.3;
		--global-kb-leading-xl: 1.4;
		--global-kb-leading-xxl: 1.5;
		--global-kb-leading-xxxl: 1.6;
	}

	.kb-text-sm {
		letter-spacing: var( --global-kb-tracking-xl );
		line-height: var( --global-kb-leading-xxxl );
	}

	.kb-text-md {
		letter-spacing: var( --global-kb-tracking-xl );
		line-height: var( --global-kb-leading-xxxl );
	}

	.kb-text-lg {
		letter-spacing: var( --global-kb-tracking-lg );
		line-height: var( --global-kb-leading-xxl );
	}
	.kb-text-xl {
		letter-spacing: var( --global-kb-tracking-md );
		line-height: var( --global-kb-leading-lg );
	}
	.kb-text-xxl {
		letter-spacing: var( --global-kb-tracking-sm );
		line-height: var( --global-kb-leading-md );
	}
	.kb-text-xxxl {
		letter-spacing: var( --global-kb-tracking-xs );
		line-height: var( --global-kb-leading-sm );
	}

	.eyebrow {
		font-size: 16px;
	}

}