/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ----- Variables ----- */

/* Desktop */

:root {
	--section-gap: 56px;
	--grid-gap: 24px;
	--p-gap: 16px;
	--half-p-gap: 8px;
	--block-gap: calc(var(--p-gap) * 2); /* 32px */
	--radius-small: 24px;
	--radius-big: 48px;
}

/* Tablet */

@media (max-width: 1024px) {
	:root {
		--section-gap: 48px;
		--grid-gap: 16px;
		--p-gap: 12px;
		--half-p-gap: 6px;
		--block-gap: calc(var(--p-gap) * 2);
		--radius-small: 16px;
		--radius-big: 36px;
	}
}

/* Mobile */

@media (max-width: 480px) {
	:root {
		--section-gap: 40px;
		--radius-big: 24px;
	}
}

/* ----- End Variables ----- */

/* ----- General Styles ------ */
html {
	height: 100%;
}

body {
	min-height: 100%;
	display: flex;
	flex-direction: column;
	background-color: var( --e-global-color-22b7c2c );
	overflow-x: hidden;
}

body main {
	flex-grow: 1;
}

body.admin-bar .dialog-type-lightbox {
    position: fixed !important; 
    height: 100vh !important;
    top: 0 !important;
    margin-top: 0 !important; 
    z-index: 99999 !important;
}

.is-empty {
    display: none !important;
}

.icon-block svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.img-block {
	display: block;
}

.cta-primary {
    height: 64px;
}

.cta-secondary {
    height: 48px;
}

.cta-primary a,
.cta-secondary a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.regular_menu .e-current,
.transparent_menu .e-current {
	border-bottom: 2px solid var(--e-global-color-primary);
}

.btn-animated a {
    --pulse-color-1: rgba(230, 172, 59, 0.4);
    --pulse-color-2: rgba(230, 172, 59, 0.2);
    --pulse-color-1-0: rgba(230, 172, 59, 0);
    --pulse-color-2-0: rgba(230, 172, 59, 0);
    --pulse-ring1-size: 0.75rem;
    --pulse-ring2-size: 1.5rem;
    --shadow-radius: 0.3rem;
    --pulse-duration: 3s;
    position: relative;
    animation: pulse-persistent var(--pulse-duration) infinite;
    transition: all 0.3s ease-in-out;
}

.btn-animated a:hover {
  animation: none;
  box-shadow: none;
}

@keyframes pulse-persistent {
  0% {
    box-shadow:
      0 0 0 0 var(--pulse-color-1-0),
      0 0 0 var(--pulse-ring1-size) var(--pulse-color-2-0);
  }

  33% {
    box-shadow:
      0 0 0 var(--pulse-ring1-size) var(--pulse-color-1),
      0 0 0 var(--pulse-ring1-size) var(--pulse-color-2-0);
  }

  66% {
    box-shadow:
      0 0 0 var(--pulse-ring1-size) var(--pulse-color-1),
      0 0 0 var(--pulse-ring2-size) var(--pulse-color-2);
  }

  100% {
    box-shadow:
      0 0 0 0 var(--pulse-color-1-0),
      0 0 0 var(--pulse-ring1-size) var(--pulse-color-2-0);
  }
}

.dark-bg {
    position: relative;
    background-color: transparent;
    background-image: linear-gradient(135deg, var( --e-global-color-f03cdd8 ) 0%, #6E7176 100%);
}

.dark-bg span[style="text-decoration: underline;"] {
	text-decoration-color: var(--e-global-color-primary) !important;
	text-decoration-thickness: 2px !important;
}

.dark-bg::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: url('/wp-content/uploads/2025/12/texture_bg-1@300x.png');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    opacity: 0.5;
    mix-blend-mode: multiply;
	pointer-events: none;
}

.lp-header img{
	overflow: hidden;
	border-bottom-right-radius: 48px;
}

/* End General Styles ----- */

/* ----- Header Styles ----- */

.breadcrumbs span span:not(:last-child)::after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 4px;
	vertical-align: middle;
	
	-webkit-mask-image: url('https://irrison.com/wp-content/uploads/2025/12/chevron-right.svg');
    mask-image: url('https://irrison.com/wp-content/uploads/2025/12/chevron-right.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: var(--e-global-color-4707a61); /* Встановіть будь-який потрібний колір */	
}

/* END Header Styles */

.blog-grid-img-wrap {
	width: 100%;
	aspect-ratio: 3 / 2;
}

.blog-grid-img-wrap * {
	height: 100%;
}

.blog-grid-img_fallback * {
	display: inherit;
	justify-content: inherit;
	align-items: inherit;
}

.blog-grid-img:hover,
.blog-grid-img_fallback:hover {
	transform: scale(1.02);
}

.blog_grid .next::before,
.blog_grid .prev::before {
	content: '';
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	-webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;	
	position: relative;
	top: 0.25em;
}

.blog_grid span.next::before,
.blog_grid span.prev::before {
	background-color: var( --e-global-color-87cc12f );
}

.blog_grid a.next::before,
.blog_grid a.prev::before {
	background-color: currentColor;
}

.blog_grid .next::before {
	-webkit-mask-image: url('https://irrison.com/wp-content/uploads/2025/12/chevron-right.svg');
    mask-image: url('https://irrison.com/wp-content/uploads/2025/12/chevron-right.svg');        
}

.blog_grid .prev::before {
	-webkit-mask-image: url('https://irrison.com/wp-content/uploads/2025/12/chevron-left.svg');
    mask-image: url('https://irrison.com/wp-content/uploads/2025/12/chevron-left.svg');
}

.author-social-icon {
	box-sizing: content-box;
	width: 24px;
	height: 24px;
}

.author-social-icon * {
	width: 100%;
	height: 100%;
}

.author-social-icon a {
	display: block;
}

.author-social-icon svg {
	display: block;
	object-fit: contain;
}

.author-page__aside {
	flex-grow: 1 !important;
	flex-shrink: 0 !important;
	flex-basis: fit-content !important;
}

.author-page__main {
	flex-grow: 1 !important;
	flex-shrink:  1 !important;
	flex-basis: 100% !important;
}

/* Typography Styles */

/* 1) Base typography inside post content */
.post_content {
  font-size: 20px;
  line-height: 32px;
}

/* 2) Reset default margins for common blocks (excluding TOC) */
.post_content :where(p, ul, ol, blockquote, figure, pre, table, hr, div):not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-block: 0;
}

/* 3) Paragraph spacing: 16px between paragraphs (excluding TOC) */
.post_content p:not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin: 0 0 var(--p-gap) 0;
}

/* 4) Lists: spacing and indentation (excluding TOC) */
.post_content :where(ul, ol):not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-bottom: var(--block-gap);
  padding-inline-start: 1.25em;
}
.post_content li:not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-block: var(--half-p-gap);
}
.post_content li > p:not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-bottom: var(--half-p-gap);
}

/* 5) Headings: larger top spacing, smaller bottom spacing (excluding TOC) */
.post_content :where(h1, h2, h3, h4, h5, h6):not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-top: var(--block-gap);
  margin-bottom: var(--p-gap);
  line-height: 1.2;
}

/* 6) Block spacing (excluding TOC) */
.post_content :where(div, figure, table, blockquote, pre, ul, ol, hr):not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *)
{
  margin-top: var(--block-gap);
  margin-bottom: var(--block-gap);
}

/* 7) Block right after a heading: smaller top margin (16px), excluding TOC */
.post_content :where(h1, h2, h3, h4, h5, h6)
  + :where(div, figure, table, blockquote, pre, ul, ol, hr):not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-top: var(--p-gap) !important;
}

/* 8) Prevent margins for div wrappers inside list items */
.post_content li div {
  margin: 0;
}

/* 9) Prevent double bottom margin when img/table is inside figure */
.post_content figure img,
.post_content :where(div, figure):not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) > table,
.post_content .wp-block-media-text > figure {
  margin-bottom: 0;, .lp_section, .lp_tsml, .lp_logos, .lp_faq, .lp_list
}

/* 10) Figcaption spacing */
.post_content figure figcaption:not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-top: var(--half-p-gap);
}

/* 11) Code blocks */
.post_content pre:not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  padding: 16px;
  overflow: auto;
}

/* 12) Horizontal rule */
.post_content hr:not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-block: var(--block-gap);
}

/* 13) Remove extra spacing at the end */
.post_content > :last-child:not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-bottom: 0;
}

/* 14) IMPORTANT: first heading has no top margin */
.post_content > :where(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}

/* 15) Elementor anchor before the first heading */
.post_content > .elementor-menu-anchor:first-child
  + :where(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
}

/* 16) Elementor technical wrappers: no margins */
.post_content :where(
  .elementor,
  .elementor-section,
  .elementor-container,
  .elementor-row,
  .elementor-column,
  .elementor-widget,
  .elementor-widget-container
) {
  margin: 0;
}

/* 17) Only direct content divs get block spacing (excluding TOC) */
.post_content > div:not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-top: var(--block-gap);
  margin-bottom: var(--block-gap);
}

/* 18) If a direct content div goes right after a heading → smaller top margin */
.post_content > :where(h1, h2, h3, h4, h5, h6) + div:not(.elementor-widget-table-of-contents *, .key-takeaways * *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *) {
  margin-top: var(--p-gap);
}

/* 19) Remove top margin for the first element in the post */
.post_content > :first-child {
  margin-top: 0;
}

/* 20) Remove bottom margin for the last element in the post */
.post_content > :last-child {
  margin-bottom: 0;
}

.elementor-widget-table-of-contents {
	margin-top: 0 !important;
}


// -------

.post_content figure img {
	overflow: hidden;
	border-radius: var(--radius-small);
}

.post_content figcaption {
	text-align: center;
	color: var( --e-global-color-bde3b8a );
	font-family: var( --e-global-typography-c34d5f6-font-family ), Sans-serif;
    font-size: var( --e-global-typography-c34d5f6-font-size );
    font-weight: var( --e-global-typography-c34d5f6-font-weight );
    font-style: var( --e-global-typography-c34d5f6-font-style );
    line-height: var( --e-global-typography-c34d5f6-line-height );
}

.wp-block-gallery figure {
	overflow: hidden;
	border-radius: var(--radius-small);
}

.post_content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	font-family: var( --e-global-typography-d4c632b-font-family ), Sans-serif;
    font-size: var( --e-global-typography-d4c632b-font-size );
    font-weight: var( --e-global-typography-d4c632b-font-weight );
    font-style: var( --e-global-typography-d4c632b-font-style );
    line-height: 1.2em;
	color: var( --e-global-color-22b7c2c );
}

.post_content blockquote {
	padding: 0 32px;
	border-left: 2px solid var( --e-global-color-primary );
	font-family: var( --e-global-typography-a5290d6-font-family ), Sans-serif;
    font-size: var( --e-global-typography-2d85294-font-size );
    font-weight: var( --e-global-typography-a5290d6-font-weight );
    font-style: var( --e-global-typography-a5290d6-font-style );
    line-height: var( --e-global-typography-a5290d6-line-height );
    color: var( --e-global-color-bde3b8a );
}

.post_content .wp-block-pullquote {
	padding: calc(var(--p-gap) * 2);
}

.post_content .wp-block-pullquote blockquote {
	border: none;
}

.post_content blockquote cite {
	margin-top: var(--p-gap);
	color: var( --e-global-color-4707a61 );
	font-size: var( --e-global-typography-a5290d6-font-size );
    font-weight: var( --e-global-typography-633e145-font-weight );
	font-style: var( --e-global-typography-eeaa80a-font-style );
    line-height: var( --e-global-typography-c34d5f6-line-height );
}

.post_content ul:not(.lp_list *),
.post_content ol:not(.lp_list *) {
	padding: 0 1em;
	list-style-position: inside;
	display: flex;
	flex-direction: column;
}

.post_content ul {
	list-style: none;
}

.post_content ul li,
.post_content .pseudo-ul p {
	padding-left: 1.2em;
	position: relative;
}

.post_content ul li:not(.key-takeaways *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *)::before,
.post_content .pseudo-ul p:not(.key-takeaways *, .lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *)::before {
	content: '';
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	position: absolute;
	top: 0.2em;
	left: -0.3em;
	-webkit-mask-image: url('https://irrison.com/wp-content/uploads/2025/12/unread-outline.svg');
    mask-image: url('https://irrison.com/wp-content/uploads/2025/12/unread-outline.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: var(--e-global-color-primary); 
}

.post_content ol li::marker {
	color: var(--e-global-color-primary);
}

.post_content .elementor-icon-list-items li::before {
	content: none !important;
	display: none;
}

/* End Typography Styles */


/* Main Styles */

.user-img {
	box-sizing: border-box;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	overflow: hidden;
}

.user-img_real {
	border: 2px solid var(--e-global-color-primary);
}

.user-img_fallback {
	background-color: var(--e-global-color-primary);
}

.user-img svg {
	display: block;
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.user-img .elementor-icon-wrapper {
	width: 40px;
	height: 40px;
}

.user-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* END Main Styles */

.about-us-photo {
	aspect-ratio: 3 / 4;
}

.trust-points-bg {
	backbround-color: var( --e-global-color-afbd68d );
	width: 100vw;
	position: absolute;
	left: 50% !important;
	top: 24px;
	transform: translateX(-50%);
	height: calc(100% - 48px);
}

.post_content a,
.post_content a *{
	text-decoration: underline !important;
	text-decoration-color: var(--e-global-color-primary) !important;
	text-decoration-thickness: 3px !important;
	transition: color 300ms ease-in-out;
	display: inline-block;
	
}

/* Language switcher */

.wpml-ls-link {
	display: block;
	border-radius: 8px;
}
  
.wpml-ls {
	padding: 0;
}

/* Footer styles */
.lang-switcher {
	width: auto !important;
}

.menu-bar__btn span {
	text-transform: capitalize;
}

@media (min-width:1025px){
    .trust-points-bg + div .trust-points-grid__icon {
		border-color: var( --e-global-color-afbd68d ) !important;
	}
}

/* Tablet */
@media (max-width: 1024px) {
	
	.author-page__aside {
		flex-grow: 1 !important;
		flex-shrink: 0 !important;
		flex-basis: 100% !important;
	}
	
	.author-page__main {
		flex-grow: 1 !important;
		flex-shrink: 0 !important;
		flex-basis: 100% !important;
	}
	
	.lp-header img{
		overflow: hidden;
		border-bottom-right-radius: 0;
	}
	
	.about-us-photo {
		aspect-ratio: 2 / 1;
	}
	
	.trust-points-bg {
		display: none;
	}
	
	/* Footer styles */
	.footer-col_1 > div {
		justify-content: space-between;
	}
	
	.hero-btn__subtxt {
		text-align: center !important;
		width: 100%;
	}
}

/* Mobile */
@media (max-width: 480px) {
	.footer-col-4	{
		display: contents;
	}
	
	.footer-col-4 div:last-child {
		order: 0;
		grid-column: 1 / span 2;
	}
	
	.about-us-photo {
		aspect-ratio: 1 / 1;
	}
	
	.home h1 {
		font-size: 24px !important;
		line-height: 28px !important;
	}
	
	.menu-bar__btn span {
		text-align: center;
		line-height: 1.2em;
	}
	.hero-header-txt__text {
		text-align: justify;
		letter-spacing: -2%;
		word-spacing: -4%;
	}
}

.post_content_lp > :not(.lp_section *, .lp_tsml *, .lp_logos *, .lp_faq *, .lp_list *, .lp_slider *, .lp_slider) {
	max-width: 856px;
}
.hero-btn {
	align-items: flex-start !important;
}

.elementor-9 .elementor-element.elementor-global-2099 .custom-nav-btn {
	transition: all 300ms ease-in-out !important;
}
