/*
Theme Name: Hub
Theme URI: https://hub.liquid-themes.com/
Author: Liquid Themes
Author URI: https://themeforest.net/user/liquidthemes
Description: Smart, Powerful and Unlimited Customizable WordPress Theme.
Version: 6.0.2
License: GNU General Public License
License URI: license.txt
Text Domain: hub
Tags: responsive, retina, rtl-language-support, blog, portfolio, custom-colors, live-editor
*/

/*--------------------------------------------------------------
Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/*--------------------------------------------------------------
Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/*--------------------------------------------------------------
Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0 auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

/*--------------------------------------------------------------
Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	padding-left: 5px;
	padding-right: 5px;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}

.wp-block-gallery {
	margin-bottom: 1em;
}

.blocks-gallery-caption {
	margin-top: 0;
}

/*--------------------------------------------------------------
Button
--------------------------------------------------------------*/
.wp-block-button__link {
	--wp-btn-border-radius: 1.5em;
	border-radius: var(--wp-btn-border-radius);
	line-height: 1.35em;
}

.wp-block-button.is-style-squared .wp-block-button__link {
	--wp-btn-border-radius: 0;
}

/*--------------------------------------------------------------
Cover
--------------------------------------------------------------*/
.wp-block-cover.has-background-dim {
	color: #fff;
}

.wp-block-cover.has-background-dim a {
	color: inherit;
}

.wp-block-group.has-background,
.has-background {
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
Blockquote
--------------------------------------------------------------*/
.wp-block-pullquote blockquote {
	border: none;
}
/* ============================================================
   FIX: Elementor e-con container flex layout
   (custom-frontend.min.css is 404 – rules injected manually)
   ============================================================ */

/* Core container defaults */
.e-con {
  --border-radius: 0;
  --border-top-width: 0px; --border-right-width: 0px;
  --border-bottom-width: 0px; --border-left-width: 0px;
  --border-style: initial; --border-color: initial;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --content-width: min(100%, var(--container-max-width, 1140px));
  --width: 100%; --min-height: initial; --height: auto;
  --text-align: initial;
  --margin-top: 0px; --margin-right: 0px;
  --margin-bottom: 0px; --margin-left: 0px;
  --padding-top: var(--container-default-padding-top, 10px);
  --padding-right: var(--container-default-padding-right, 10px);
  --padding-bottom: var(--container-default-padding-bottom, 10px);
  --padding-left: var(--container-default-padding-left, 10px);
  --position: relative; --z-index: revert; --overflow: visible;
  --gap: var(--widgets-spacing, 20px);
  --row-gap: var(--widgets-spacing-row, 20px);
  --column-gap: var(--widgets-spacing-column, 20px);
  --overlay-opacity: 1; --overlay-transition: 0.3s;
  --flex-wrap-mobile: wrap;
  border-radius: var(--border-radius);
  height: var(--height);
  min-height: var(--min-height);
  min-width: 0;
  overflow: var(--overflow);
  position: var(--position);
  width: var(--width);
  z-index: var(--z-index);
}

/* Margins / padding logical properties */
.e-con {
  margin-block-start: var(--margin-top);
  margin-block-end: var(--margin-bottom);
  margin-inline-start: var(--margin-left);
  margin-inline-end: var(--margin-right);
  padding-inline-start: var(--padding-left);
  padding-inline-end: var(--padding-right);
  padding-block-start: var(--padding-top);
  padding-block-end: var(--padding-bottom);
}

/* THE CRITICAL RULE - this was completely missing */
.e-con,
.e-con > .e-con-inner {
  display: var(--display);
}

/* Flex container rules */
.e-con.e-flex {
  --flex-direction: column;
  --flex-basis: auto;
  --flex-grow: 0;
  --flex-shrink: 1;
  flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis);
}

.e-con-full,
.e-con > .e-con-inner {
  padding-block-end: var(--padding-block-end);
  padding-block-start: var(--padding-block-start);
  text-align: var(--text-align);
}

.e-con-full.e-flex,
.e-con.e-flex > .e-con-inner {
  flex-direction: var(--flex-direction);
}

/* Flex inner container alignment */
.e-con.e-flex > .e-con-inner {
  align-content: var(--align-content);
  align-items: var(--align-items);
  align-self: auto;
  flex-basis: auto;
  flex-grow: 1;
  flex-shrink: 1;
  flex-wrap: var(--flex-wrap);
  justify-content: var(--justify-content);
}

/* Boxed container */
.e-con-boxed.e-flex {
  align-content: normal;
  align-items: normal;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: normal;
}
.e-con-boxed {
  gap: initial;
  text-align: initial;
}

/* Inner container sizing */
.e-con > .e-con-inner {
  gap: var(--row-gap) var(--column-gap);
  height: 100%;
  margin: 0 auto;
  max-width: var(--content-width);
  padding-inline-end: 0;
  padding-inline-start: 0;
  width: 100%;
}

/* e-con-full flex alignment */
.elementor-element:where(.e-con-full, .elementor-widget) {
  align-content: var(--align-content);
  align-items: var(--align-items);
  flex-direction: var(--flex-direction);
  flex-wrap: var(--flex-wrap);
  gap: var(--row-gap) var(--column-gap);
  justify-content: var(--justify-content);
}

/* Elementor widget flex child properties */
.elementor-element {
  --flex-direction: initial; --flex-wrap: initial;
  --justify-content: initial; --align-items: initial;
  --align-content: initial; --gap: initial;
  --flex-basis: initial; --flex-grow: initial;
  --flex-shrink: initial; --order: initial;
  --align-self: initial;
  align-self: var(--align-self);
  flex-basis: var(--flex-basis);
  flex-grow: var(--flex-grow);
  flex-shrink: var(--flex-shrink);
  order: var(--order);
}

/* Top-level containers auto margin */
:is(.elementor-section-wrap, [data-elementor-id]) > .e-con {
  --margin-left: auto;
  --margin-right: auto;
  max-width: min(100%, var(--width));
}