/* 
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
*/

.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

#main-content-post-section .elementor-widget-text-editor {
	color:#14082B !important;
}

@media (max-width:1024px) {
	
	.elementor-widget-n-menu .e-n-menu-item:not(:last-of-type) .e-n-menu-title:after {
		display:none !important;
	}
	
}

.bold-pink strong {
	font-weight:600;
    color: var(--Pink);
}

.italic-purple em {
	font-weight:600;
    color: var(--Purple);
    font-style: normal;
}

.bold-dark strong {
	font-weight:600;
    color: var(--Dark);
}

.white-links a {
	color:white;
}

.white-links a:hover {
	color: var(--Pink);
}

/*
.news-single-hero:before,
.third-level-hero:before {
	content: "";
	background-image: url(/wp-content/uploads/2026/06/News-Overlay-Bg-copy.webp);
	background-position: center center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0.8;
	
	--container-width: 1200px;
	--container-left: calc((100vw - var(--container-width)) / 2);
	--mask-spacer: calc(160px / 4);

	--mask-x: calc(var(--container-left) + 35px);
	--mask-y: calc(calc(50% + 50px) + var(--mask-spacer));
	--mask-size: 470px;

	mask: 
		url(/wp-content/uploads/2026/06/Octavius-Mask.svg) var(--mask-x) var(--mask-y) / var(--mask-size) no-repeat exclude alpha, 
		linear-gradient(#000 0 0) 0 0 / 100% 100% no-repeat;

	-webkit-mask: 
		url(/wp-content/uploads/2026/06/Octavius-Mask.svg) var(--mask-x) var(--mask-y) / var(--mask-size) no-repeat, 
		linear-gradient(#000 0 0) 0 0 / 100% 100% no-repeat;
	-webkit-mask-composite: xor;
}
*/

.news-single-hero:before,
.third-level-hero:before {
	content: "";
	background-image: url(/wp-content/uploads/2026/06/News-Overlay-Bg-copy.webp);
	background-position: center center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0.8;
	
	/* 1. Layout variables */
	--container-width: 1200px;
	--container-left: calc((100vw - var(--container-width)) / 2);
	--mask-spacer: calc(160px / 4);

	/* Target the left side of the container */
	--mask-x: calc(var(--container-left) + 35px);
	--mask-y: calc(50% + 50px + var(--mask-spacer));
	--mask-size: 470px;

	/* 2. WebKit Prefix (Safari & Chromium) */
	-webkit-mask-image: 
		url(/wp-content/uploads/2026/06/Octavius-Mask.svg), 
		linear-gradient(#000 0 0);
	-webkit-mask-position: 
		var(--mask-x) var(--mask-y), 
		0 0;
	-webkit-mask-size: 
		var(--mask-size), 
		100% 100%;
	-webkit-mask-repeat: 
		no-repeat, 
		no-repeat;
	-webkit-mask-composite: xor;

	/* 3. Standard Properties (Firefox & Modern Spec) */
	mask-image: 
		url(/wp-content/uploads/2026/06/Octavius-Mask.svg), 
		linear-gradient(#000 0 0);
	mask-position: 
		var(--mask-x) var(--mask-y), 
		0 0;
	mask-size: 
		var(--mask-size), 
		100% 100%;
	mask-repeat: 
		no-repeat, 
		no-repeat;
	mask-composite: exclude;
	mask-mode: alpha, alpha;
}

.third-level-hero:before {
	background-image: linear-gradient(180deg, rgb(20 8 43 / 90%), #14082B);
	opacity:1;
}

@media (min-width:768px) and (max-width:1024px) {
	
	.news-single-hero:before,
	.third-level-hero:before {
		--container-width: 768px;
		--mask-spacer: calc(60px / 4);
		--mask-size: 290px;
	}
}

@media (max-width:767px) {
	
	.news-single-hero:before,
	.third-level-hero:before {
	    --container-left: 100%;
		--mask-x: 150%;
    	--mask-y: 180%;
    	--mask-size: 290px;
	}
	
}

.octavius-impact-report-data {
    max-width: 400px;
}

.octavius-impact-report-data__group {
    margin-bottom: 18px;
}

.octavius-impact-report-data__label {
    font-weight: bold;
    font-size: 22px;
	text-transform: uppercase;
	color: var(--Pink);
}

.octavius-impact-report-data__value {
    font-size: 18px;
    margin: 0.25rem 0 0.5rem 0;
	color:var(--Dark);
}

.octavius-impact-report-data__divider {
    height: 1px;
    background-color: rgb(0 0 0 / 30%);
    width: 100%;
	margin-top: 18px;
}

.octavius-impact-report-data__group:last-child {
	margin-bottom:0;
}

/* Removes the divider from the last element if desired */
.octavius-impact-report-data__group:last-child .octavius-impact-report-data__divider {
    display: none;
}

a.transport-solution-box,
a.transport-solution-box:hover {
	color:white;	
}

.transport-solution-box:before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 77%);
  border-radius: 20px;
  z-index: 0; /* Keeps the gradient behind your text */
}

.transport-solution-box:after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 55%);
  border-radius: 20px;
  
  opacity: 0; /* Invisible by default */
  transition: opacity 0.4s ease-in; /* Animate opacity instead of the gradient */
  z-index: 0; /* Stacks on top of :before, but still behind text */
}

/* 4. On Hover: Fade in the :after gradient */
.transport-solution-box:hover:after {
  opacity: 1;
}

.transport-solution-hidden-text {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(20px);
  transition: max-height 0.4s ease, opacity 0.4s ease, transform 0.4s ease;
}

.transport-solution-box:hover .transport-solution-hidden-text {
  opacity: 1;
  transform: translateY(0);
  /* Set this to a value safely larger than your expected text height */
  max-height: 150px; 
}

.elementor-element.e-con.paragraph-reveal-container {
    display: none;
}

/* Indent the entire list row container smoothly */
.elementor-icon-list-item.is-indented {
    padding-left: 10px !important;
	margin-top: 0px !important;
    position: relative;
	font-size:90%;
}

.elementor-icon-list-item.is-indented span {
	font-size:90%;
	font-weight:500;
}
