/*
Theme Name: Linsa Child
Author: WebGeniusLab
Author URI: http://webgeniuslab.net
Description: WebGeniusLab team presents absolutely fresh and powerful WordPress theme. It combines new technologies and functional design that helps to showcase your content in better way. This WordPress theme is developed with attention to details, so you can create effective presentation of a website easily. Enjoy building web pages with our product!
Version: 1.0
Template: linsa
Text Domain: linsa-child
*/

/* Brand accent: JERICHO yellow (the dot of the pill labels), used for hovers, selection and small details */
:root {
	--jericho-yellow: #FFD800;
}
body {
	/* theme buttons without their own Elementor colours (black pills, load more, forms) turn yellow on hover */
	--linsa-button-bg-hover: var(--jericho-yellow);
	--linsa-button-border-hover: var(--jericho-yellow);
	--linsa-button-color-hover: #181818;
}
/* pills with the moving arrow icon: the theme resets their background after its :hover rule */
.has-moving_icon .wgl-button:hover,
.has-moving_icon .wgl-button:focus-visible {
	background: var(--linsa-button-bg-hover);
	color: var(--linsa-button-color-hover);
}
::selection {
	background: var(--jericho-yellow);
	color: #181818;
}
/* "Read More" circle in blog cards */
.button-read-more:hover .read-more-icon-bg,
.button-read-more:focus-visible .read-more-icon-bg {
	background: var(--jericho-yellow);
}
.button-read-more:hover .read-more-icon,
.button-read-more:focus-visible .read-more-icon {
	color: #181818;
}
/* tag clouds */
.widget_tag_cloud .tagcloud a:hover,
.widget_tag_cloud .tagcloud a:focus-visible {
	background: var(--jericho-yellow);
	border-color: var(--jericho-yellow);
	color: #181818;
}
/* links in running text (Elementor text editors, blog posts, jobs): yellow underline, yellow marker on hover */
#main .elementor-widget-text-editor:not(.jericho-contact-direct) a:not(.jericho-social-links a),
.single-post .blog-post_content :is(p, li):not(.jericho-social-links) > a,
.jericho-job__content :is(p, li) > a,
.jericho-job__apply p a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--jericho-yellow);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	transition: background-color 0.2s, color 0.2s;
}
#main .elementor-widget-text-editor:not(.jericho-contact-direct) a:not(.jericho-social-links a):hover,
.single-post .blog-post_content :is(p, li):not(.jericho-social-links) > a:hover,
.jericho-job__content :is(p, li) > a:hover,
.jericho-job__apply p a:hover {
	background-color: var(--jericho-yellow);
	color: #181818;
}
/* arrow circles of info boxes (e.g. Services mega menu) turn yellow when the box is hovered;
   specific enough to beat Elementor's per-widget ".elementor-3641 .elementor-element.elementor-element-x .wgl-widget__button .wgl-icon" */
.elementor .elementor-element.has-moving_icon:hover .wgl-infobox_button.wgl-widget__button {
	--read-more-icon-color: #181818;
}
.elementor .elementor-element.has-moving_icon:hover .wgl-infobox_button.wgl-widget__button .wgl-icon,
.elementor .elementor-element.has-moving_icon:hover .wgl-infobox_button.wgl-widget__button .wgl-icon::before {
	background-color: var(--jericho-yellow);
	color: #181818;
	fill: #181818;
}
/* footer (dark): every link turns yellow, incl. the big e-mail/phone buttons (beats their per-widget hover colour) */
#footer .elementor-widget-container .wgl-widget__button:hover,
#footer .elementor-widget-container .wgl-widget__button:focus-visible,
#footer .elementor-widget-text-editor a:hover,
#footer .elementor-widget-text-editor a:focus-visible,
#footer button.jericho-cookie-link:hover,
#footer button.jericho-cookie-link:focus-visible {
	color: var(--jericho-yellow);
}
/* Footer legal row (container d86f63d, fixed 300px in Elementor): room for Legal Notice / Privacy Policy / Cookie settings */
#footer .elementor-element.elementor-element-d86f63d {
	--width: auto;
	flex-wrap: wrap;
}
#footer .elementor-element-d86f63d .elementor-widget-text-editor {
	white-space: nowrap;
}
/* Footer "Cookie settings": a button because Complianz only re-opens the banner from button.cmplz-manage-consent; looks like the links next to it */
#footer button.jericho-cookie-link {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	font-weight: 500;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: none;
	cursor: pointer;
}
/* No bottom padding on the main wrapper (theme default 40px), the footer follows the last section directly */
#main {
	padding-bottom: 0;
}

/* German Web Awards ribbon hanging from the home hero (Elementor image widget with class jericho-award-ribbon).
   Desktop: positioned against the full-width section, halfway between content edge (1170px grid) and viewport edge. */
.jericho-award-host .jericho-award-ribbon.elementor-widget {
	position: absolute;
	top: 0;
	right: max(30px, calc((100% - 1170px) / 4));
	z-index: 3;
	width: 120px;
	max-width: 120px;
	margin: 0;
}
.jericho-award-ribbon img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.25));
}

/* Blog posts: the theme ships no block-library CSS, so give imported blocks the basics */
.single-post .wp-block-image {
	margin: 0 0 28px;
}
.single-post .wp-block-image img {
	display: block;
	max-width: 100%;
	height: auto;
}
/* aligned images are rendered as div.wp-block-image > figure.aligncenter */
.single-post .wp-block-image figure {
	margin: 0 0 28px;
}
.single-post .wp-block-image .aligncenter img {
	margin: 0 auto;
}
.single-post .wp-block-columns {
	display: flex;
	gap: 20px;
	margin: 0 0 28px;
}
.single-post .wp-block-column {
	flex: 1 1 0;
	min-width: 0;
}
.single-post .wp-block-column .wp-block-image {
	margin-bottom: 20px;
}
.single-post .wp-block-column .wp-block-image:last-child {
	margin-bottom: 0;
}
.jericho-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 36px;
}
.jericho-social-links a {
	display: inline-block;
	padding: 13px 28px;
	border: 1px solid var(--linsa-header-font-color, #181818);
	border-radius: 50px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--linsa-header-font-color, #181818);
	transition: background-color 0.3s, color 0.3s;
}
.jericho-social-links a::after {
	content: " \2197";
}
.jericho-social-links a:hover,
.jericho-social-links a:focus-visible {
	background: var(--jericho-yellow);
	border-color: var(--jericho-yellow);
	color: #181818;
}
/* blog author widget: name first, role below */
.author-widget_content {
	display: flex;
	flex-direction: column;
}
.author-widget_content .author-widget_title {
	order: -1;
	margin-bottom: 6px;
}
/* post tags in the single post hero (templates/post/single/post-3_image.php) */
.jericho-hero-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
}
.jericho-hero-tags a {
	padding: 5px 14px;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 50px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
	transition: background-color 0.3s, color 0.3s;
}
.jericho-hero-tags a:hover,
.jericho-hero-tags a:focus-visible {
	background: var(--jericho-yellow);
	border-color: var(--jericho-yellow);
	color: #181818;
}
/* meta separator (date · category) as a small dot instead of the theme's "_" */
.meta_wrapper .meta-data > span:not(:last-child)::after,
.post_meta-wrap .meta-data > span:not(:last-child)::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	margin: 0 10px;
	border-radius: 50%;
	background: var(--jericho-yellow);
	vertical-align: middle;
	transform: translateY(-1px);
}
/* Footer (Elementor footer "default"): JERICHO watermark, nav row, legal row */
.jericho-footer-mark.elementor-widget {
	width: clamp(300px, 62vw, 1000px);
	max-width: none;
	pointer-events: none;
}
.jericho-footer-mark img {
	display: block;
	width: 100%;
	height: auto;
}
.jericho-footer-nav p {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 30px;
	margin: 0;
}
.jericho-footer-nav a {
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	transition: opacity 0.3s;
}
.jericho-footer-address,
.jericho-footer-address p {
	color: rgba(255, 255, 255, 0.6);
}
/* comments are disabled site-wide, so drop the theme's comment counter */
.comments_post {
	display: none !important;
}

/* WGL blog carousel: pin "Read More" to the card bottom so buttons align despite different title lengths */
/* beats Elementor's per-widget "slider_alignment_v" rule (top/middle/bottom only, no stretch) */
.wgl_cpt_section .blog_carousel .wgl-carousel_wrapper .swiper .swiper-wrapper {
	align-items: stretch;
}
.blog_carousel .swiper-slide {
	height: auto;
}
.blog_carousel .blog-post,
.blog_carousel .blog-post_wrapper {
	height: 100%;
}
.blog_carousel .blog-post_wrapper,
.blog_carousel .blog-post_content {
	display: flex;
	flex-direction: column;
}
.blog_carousel .blog-post_content {
	flex: 1;
}
.blog_carousel.blog-style-standard .blog-post_footer {
	margin-top: auto;
	padding-top: 14px; /* the theme's 14px gap, kept as minimum */
}

/* Single job (single-job.php), sizes taken from the portfolio single */
.jericho-job,
.jericho-jobs,
.jericho-careers-intro {
	--job-ink: var(--linsa-header-font-color, #181818);
}
.jericho-job {
	max-width: 1170px;
	margin: 0 auto 100px;
	color: var(--linsa-content-color, #444);
}
.jericho-job__media {
	margin: 0 0 60px;
}
.jericho-job__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.jericho-job__eyebrow,
.jericho-job__facts dt,
.jericho-jobs__eyebrow {
	font-size: 15px;
	font-weight: 800;
	line-height: 1.6;
	letter-spacing: -0.05em;
	text-transform: uppercase;
	color: var(--job-ink);
}
.jericho-job__eyebrow {
	margin: 0 0 12px;
}
.jericho-job__title {
	margin: 0;
	font-size: 64px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.05em;
	color: var(--job-ink);
}
.jericho-job__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 24px 32px;
	margin: 48px 0 0;
	padding: 0 0 36px;
	border-bottom: 1px solid var(--job-ink);
}
.jericho-job__facts dd {
	margin: 2px 0 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
}
.jericho-job__section {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 40px;
	padding: 48px 0;
}
.jericho-job__section + .jericho-job__section {
	border-top: 1px solid var(--linsa-body-lines-color, rgba(185, 185, 185, 0.4));
}
.jericho-job__heading,
.jericho-jobs__heading,
.jericho-careers-intro h2 {
	margin: 0;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.33;
	letter-spacing: -0.05em;
	color: var(--job-ink);
}
.jericho-job__content,
.jericho-job__apply p {
	font-size: 16px;
	font-weight: 500;
	line-height: 30px;
}
.jericho-job__content > :first-child {
	margin-top: 0;
}
.jericho-job__content h2,
.jericho-job__content h3 {
	margin: 32px 0 8px;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.03em;
	color: var(--job-ink);
}
.jericho-job__content ul {
	margin: 0;
	padding-left: 1.2em;
	list-style: disc;
}
.jericho-job__content li {
	margin: 0;
}
.jericho-job__content li::marker {
	color: var(--job-ink);
}
.jericho-job__apply p {
	margin: 0 0 28px;
}
.jericho-job__apply p a {
	font-weight: 700;
	color: var(--job-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.jericho-job__button {
	display: inline-block;
	padding: 15px 36px;
	border: 1px solid var(--job-ink);
	border-radius: 50px;
	background: var(--job-ink);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	transition: background-color 0.3s, color 0.3s;
}
.jericho-job__button:hover,
.jericho-job__button:focus-visible {
	background: var(--jericho-yellow);
	border-color: var(--jericho-yellow);
	color: #181818;
}
.jericho-job__back {
	display: inline-block;
	margin-left: 28px;
	font-size: 15px;
	font-weight: 700;
	color: var(--job-ink);
}

/* Karriere page: intro columns (page content) and [jericho_jobs] list */
.jericho-careers-intro {
	display: grid;
	grid-template-columns: 1fr 2fr; /* the theme ships no block-library CSS */
	gap: 40px;
	margin: 0 0 100px;
}
.jericho-careers-intro p:last-child {
	margin-bottom: 0;
}
.jericho-careers-intro p {
	font-size: 16px;
	font-weight: 500;
	line-height: 30px;
	color: var(--linsa-content-color, #444);
}
.jericho-jobs {
	margin: 0 0 100px;
}
.jericho-jobs__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	padding: 0 0 24px;
	border-bottom: 1px solid var(--job-ink);
}
.jericho-jobs__count {
	font-size: 16px;
	font-weight: 600;
	color: var(--linsa-content-color, #444);
}
.jericho-jobs__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.jericho-jobs__list > li {
	margin: 0;
	border-bottom: 1px solid var(--linsa-body-lines-color, rgba(185, 185, 185, 0.4));
}
.jericho-jobs__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 36px 0;
	color: inherit;
}
.jericho-jobs__text {
	display: block;
	min-width: 0;
}
.jericho-jobs__eyebrow {
	display: block;
	margin: 0 0 6px;
}
.jericho-jobs__title {
	margin: 0 0 8px;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.05em;
	color: var(--job-ink);
	transition: transform 0.3s;
}
.jericho-jobs__facts {
	display: block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	color: var(--linsa-content-color, #444);
}
.jericho-jobs__arrow {
	flex: none;
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border: 1px solid var(--job-ink);
	border-radius: 50%;
	font-size: 22px;
	color: var(--job-ink);
	transition: background-color 0.3s, color 0.3s;
}
.jericho-jobs__item:hover .jericho-jobs__title,
.jericho-jobs__item:focus-visible .jericho-jobs__title {
	transform: translateX(8px);
}
.jericho-jobs__item:hover .jericho-jobs__arrow,
.jericho-jobs__item:focus-visible .jericho-jobs__arrow {
	background: var(--jericho-yellow);
	border-color: var(--jericho-yellow);
	color: #181818;
}
.jericho-jobs__empty {
	padding: 36px 0;
	margin: 0;
	font-size: 16px;
}

/* Service pages: long-form SEO text in an Elementor text editor (CSS class jericho-seo-text) */
.jericho-seo-text h2,
.jericho-seo-text h3 {
	margin: 36px 0 12px;
	font-size: 24px;
	line-height: 1.3;
	letter-spacing: -0.03em;
}
.jericho-seo-text ul {
	margin: 0 0 20px;
}
.jericho-steps .wgl-infobox-content_wrapper {
	margin-top: 12px;
}


/* Footer reveal (body class set in js/jericho.js, desktop only): the page slides up and uncovers the footer.
   Selector beats Elementor page CSS like "body.elementor-page-4355 #main.site-main { z-index: 0 }" */
html body.jericho-footer-reveal #main.site-main {
	z-index: 1;
	background-color: inherit;
	border-radius: 0 0 40px 40px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35);
}
.jericho-footer-reveal #footer {
	position: sticky;
	bottom: 0;
	z-index: 0;
}

/* Home contact section (Elementor container class jericho-contact) */
.jericho-contact-direct p {
	margin: 0;
}
.jericho-contact-direct a {
	display: inline-block;
	font-size: 26px;
	font-weight: var(--linsa-header-font-weight, 800);
	line-height: 1.5;
	letter-spacing: -0.03em;
	color: var(--linsa-header-font-color, #181818);
	background: linear-gradient(var(--jericho-yellow), var(--jericho-yellow)) 0 92% / 0 4px no-repeat;
	transition: background-size 0.3s;
}
.jericho-contact-direct a:hover,
.jericho-contact-direct a:focus-visible {
	background-size: 100% 4px;
}
/* Privacy consent checkbox in the CF7 forms 419 + 3753 (wrapper class jericho-consent in the form markup) */
.wpcf7 .jericho-consent .wpcf7-list-item label {
	align-items: flex-start;
	font-size: 14px;
	font-weight: 400;
	line-height: 22px;
	cursor: pointer;
}
.wpcf7 .jericho-consent {
	margin-bottom: 24px;
}
/* .wpcf7-form beats Elementor's per-widget "form-control-wrap input { margin-bottom }" in the Contact mega menu */
.wpcf7 .wpcf7-form .jericho-consent .wpcf7-list-item input[type="checkbox"] {
	flex: none;
	margin: 0 12px 0 0;
}
.wpcf7 .jericho-consent .wpcf7-list-item-label {
	padding-left: 0;
}
.wpcf7 .jericho-consent a {
	text-decoration: underline;
	text-decoration-color: var(--jericho-yellow);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

/* Case films on case pages ([jericho_case_video]): portrait videos sit centred on a blurred copy of their poster */
.jericho-video {
	position: relative;
	margin: 0;
	overflow: hidden;
	aspect-ratio: var(--jericho-ratio, 16 / 9);
	background: #181818;
}
.jericho-video video {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.jericho-video.is-image {
	aspect-ratio: auto;
	background: none;
}
.jericho-video.is-image img {
	display: block;
	width: 100%;
	height: auto;
}
.jericho-video.is-portrait {
	display: flex;
	justify-content: center;
	aspect-ratio: 4 / 5;
}
.jericho-video.is-portrait::before {
	content: "";
	position: absolute;
	inset: -60px;
	background: var(--jericho-poster) center / cover;
	filter: blur(40px) brightness(0.75) saturate(1.2);
}
.jericho-video.is-portrait video {
	width: auto;
	aspect-ratio: var(--jericho-ratio);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

/* Home case reel ([jericho_case_reel]): 16:9 and 9:16 films side by side at their own format, one height per row */
/* Elementor column containers wrap on mobile; without a definite width the widget gets measured far too short */
.elementor-widget-shortcode:has(.jericho-reel, .jericho-video) {
	width: 100%;
}
.jericho-reel {
	display: flex;
	flex-direction: column;
	gap: 30px;
	max-width: 1440px;
	margin: 0 auto;
}
.jericho-reel__row {
	display: flex;
	gap: 30px;
}
.jericho-reel__item,
.jericho-reel__item:hover,
.jericho-reel__item:focus {
	color: #fff;
}
.jericho-reel__item {
	position: relative;
	display: block;
	flex: var(--jericho-ratio) 1 0%;
	min-width: 0;
	aspect-ratio: var(--jericho-ratio);
	overflow: hidden;
	background: #181818;
}
.jericho-reel__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.jericho-reel__item:hover .jericho-reel__video {
	transform: scale(1.04);
}
/* keeps the caption readable on bright footage */
.jericho-reel__item::after {
	content: "";
	position: absolute;
	inset: 45% 0 0;
	background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.65));
	pointer-events: none;
}
.jericho-reel__arrow {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #fff;
	color: #181818;
	font-size: 20px;
	transition: background 0.3s, transform 0.3s;
}
.jericho-reel__item:hover .jericho-reel__arrow,
.jericho-reel__item:focus-visible .jericho-reel__arrow {
	background: var(--jericho-yellow);
	transform: rotate(-45deg);
}
.jericho-reel__caption {
	position: absolute;
	right: 30px;
	bottom: 28px;
	left: 30px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.jericho-reel__cats {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.85;
}
.jericho-reel .jericho-reel__title {
	margin: 0;
	color: #fff;
	font-size: 32px;
	line-height: 1.1;
	letter-spacing: -0.03em;
}
.jericho-reel .is-portrait .jericho-reel__title {
	font-size: 24px;
}


/* Legal pages (Datenschutz = page 3, Impressum = page 4385): calmer headings for long legal text */
.page-id-3 .site-main h2,
.page-id-4385 .site-main h2 {
	margin: 48px 0 12px;
	font-size: 26px;
	line-height: 1.3;
}
.page-id-3 .site-main h3,
.page-id-4385 .site-main h3,
.page-id-3 .site-main h4 {
	margin: 28px 0 8px;
	font-size: 19px;
	line-height: 1.35;
}
.page-id-4385 .site-main .jericho-legal-lang {
	margin-top: 80px;
	padding-top: 40px;
	border-top: 1px solid var(--linsa-body-lines-color, #dadada);
}

/* Header logos keep their aspect ratio: Elementor's "img { max-width: 100% }" squeezed the mobile logo into its 100px column */
.elementor .wgl-logotype-container img {
	max-width: none;
}

/* Main menu: the moving pill (lavalamp) turns yellow while the menu is hovered; at rest it marks the current page as before */
.elementor .elementor-element .primary-nav.menu_line_enable .menu:hover .lavalamp-object {
	background: var(--jericho-yellow);
	color: var(--jericho-yellow);
}
.elementor .elementor-element .primary-nav.menu_line_enable .menu:hover > li.active-lavalamp-menu-item > a,
.elementor .elementor-element .primary-nav.menu_line_enable .menu:hover > li.active-lavalamp-menu-item > a .menu-item__plus {
	color: #181818;
}

/* Mega menus: info boxes fill their whole column, so the grey hover background reaches the bottom edge
   even when a neighbouring column wraps to more lines (JERICHO-5, seen at 1536px / Windows 125 %) */
.wgl-mega-menu .e-con > .elementor-widget-wgl-infobox {
	flex-grow: 1;
}
.wgl-mega-menu .elementor-widget-wgl-infobox > .elementor-widget-container,
.wgl-mega-menu .elementor-widget-wgl-infobox .wgl-infobox {
	height: 100%;
}
/* in the stretched box: icon and title stay at the top, the arrow sits at the bottom, aligned across columns
   (specific enough to beat Elementor's per-widget "justify-content: flex-end") */
.elementor .wgl-mega-menu .elementor-element.elementor-widget-wgl-infobox .wgl-infobox_wrapper.wgl-layout-top {
	justify-content: flex-start;
}
.wgl-mega-menu .elementor-widget-wgl-infobox .wgl-infobox_wrapper > .content_wrapper {
	flex-grow: 1;
}
.elementor .wgl-mega-menu .elementor-element.elementor-widget-wgl-infobox .content_wrapper > .wgl-button-wrapper {
	margin-top: auto;
	padding-top: 22px;
}

/* Language switcher (TranslatePress menu items with class jericho-lang): round flags + EN / DE at the end of the main menu */
.primary-nav > ul > li:not(.jericho-lang) + li.jericho-lang {
	margin-left: 6px;
	border-left: 1px solid rgba(128, 128, 128, 0.35);
}
.primary-nav > ul > li.jericho-lang > a {
	padding-right: 8px;
	padding-left: 8px;
	opacity: 0.55;
	transition: opacity 0.3s;
}
.primary-nav > ul > li.jericho-lang.current-language-menu-item > a,
.primary-nav > ul > li.jericho-lang > a:hover,
.primary-nav > ul > li.jericho-lang > a:focus-visible {
	opacity: 1;
}
.jericho-lang .item_text,
.jericho-lang .trp-menu-ls-label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
/* same box height as the other menu texts, so flags and labels sit on their centre line */
.jericho-lang .item_text {
	position: relative;
	top: 1.5px;
	min-height: 22px;
}
.jericho-lang .trp-flag-image {
	width: 18px;
	height: 18px;
	margin: 0;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba(128, 128, 128, 0.25);
}
.jericho-lang .trp-ls-language-name {
	font-size: 13px;
	letter-spacing: 0.04em;
}
/* mobile menu: the theme's submenu toggle covered the whole link, so "About Us" never opened its page.
   Now only the arrow on the right toggles the submenu, the label navigates. */
.mobile_nav_wrapper .primary-nav .menu-item .button_switcher {
	left: auto;
	width: 56px;
	text-align: right;
}
/* mobile menu (vertical list): a horizontal rule above the languages instead of the desktop divider */
.mobile_nav_wrapper .primary-nav > ul > li:not(.jericho-lang) + li.jericho-lang {
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	border-left: 0;
}
.mobile_nav_wrapper .primary-nav > ul > li.jericho-lang > a {
	padding-left: 0;
}

@media (max-width: 1024px) {
	.jericho-reel,
	.jericho-reel__row {
		gap: 20px;
	}
	.jericho-reel__caption {
		right: 20px;
		bottom: 18px;
		left: 20px;
	}
	.jericho-reel .jericho-reel__title {
		font-size: 24px;
	}
	.jericho-reel .is-portrait .jericho-reel__title {
		font-size: 18px;
	}
	.jericho-reel__arrow {
		top: 12px;
		right: 12px;
		width: 40px;
		height: 40px;
	}
	.jericho-footer-mark.elementor-widget {
		width: 58vw;
	}
	/* tablet and mobile: aligned with the content edge again */
	.jericho-award-host > .e-con-inner {
		position: relative;
	}
	.jericho-award-host .jericho-award-ribbon.elementor-widget {
		right: 15px;
		width: 96px;
		max-width: 96px;
	}
	.jericho-job__title {
		font-size: 48px;
	}
	.jericho-job__section,
	.jericho-careers-intro {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}
@media (max-width: 767px) {
	/* one wrapping flow: 16:9 films full width, 9:16 films in pairs */
	.jericho-reel {
		flex-flow: row wrap;
		gap: 15px;
	}
	.jericho-reel__row {
		display: contents;
	}
	.jericho-reel__item.is-landscape {
		flex: 1 1 100%;
	}
	.jericho-reel__item.is-portrait {
		flex: 1 1 calc(50% - 8px);
	}
	.jericho-reel__caption {
		right: 14px;
		bottom: 12px;
		left: 14px;
		gap: 4px;
	}
	.jericho-reel__cats {
		font-size: 10px;
	}
	.jericho-reel .jericho-reel__title,
	.jericho-reel .is-portrait .jericho-reel__title {
		font-size: 18px;
	}
	.jericho-reel__arrow {
		top: 8px;
		right: 8px;
		width: 32px;
		height: 32px;
		font-size: 16px;
	}
	.jericho-contact-direct a {
		font-size: 20px;
	}
	.jericho-footer-mark.elementor-widget {
		width: 85vw;
	}
	.jericho-footer-nav p {
		justify-content: center;
		gap: 10px 20px;
	}
	.jericho-footer-address p {
		text-align: center;
	}
	.single-post .wp-block-columns {
		gap: 12px;
	}
	.jericho-award-host .jericho-award-ribbon.elementor-widget {
		width: 68px;
		max-width: 68px;
	}
	.jericho-job__media {
		margin-bottom: 36px;
	}
	.jericho-job__title {
		font-size: 38px;
	}
	.jericho-job__facts {
		grid-template-columns: 1fr 1fr;
		margin-top: 32px;
	}
	.jericho-job__heading,
.jericho-jobs__heading,
.jericho-careers-intro h2 {
		font-size: 24px;
	}
	.jericho-job__back {
		display: block;
		margin: 20px 0 0;
	}
}

/* Home hero (Slider Revolution #SR7_2_1): reserve its final height and paint the first slide's WebP poster before the slider
   script runs, so the largest element is visible at first render instead of ~9 s later on mobile (LCP, JERICHO-7).
   Heights are measured from Slider Revolution; it sets an inline height when it starts, which overrides these values. */
#SR7_2_1 {
	position: relative;
	height: calc((100vw - 30px) * 0.7696 + 24px);
}
#SR7_2_1::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background: #181818 url("/wp-content/uploads/2026/10/1.-Home-Header-1-poster.webp") center / cover no-repeat;
}
@media (min-width: 1024px) {
	#SR7_2_1 {
		height: min(55.03vw, 1020px);
	}
}

/* Google rating badge ([jericho_google_rating]): glass pill like the main menu, made for the hero video; yellow on hover. */
.jericho-grating {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 15px 5px 5px;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 999px;
	background: rgba(24, 24, 24, .3);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: #fff;
	font-family: Manrope, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	pointer-events: auto;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}
.jericho-grating:hover,
.jericho-grating:focus-visible {
	background: var(--jericho-yellow);
	border-color: var(--jericho-yellow);
	color: #181818;
}
.jericho-grating__g {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #fff;
}
.jericho-grating__g svg {
	display: block;
	width: 15px;
	height: 15px;
}
.jericho-grating__score {
	font-weight: 800;
}
.jericho-grating__stars {
	color: var(--jericho-yellow);
	font-size: 12px;
	letter-spacing: 1px;
	transition: color .25s ease;
}
.jericho-grating:hover .jericho-grating__stars,
.jericho-grating:focus-visible .jericho-grating__stars {
	color: #181818;
}
.jericho-grating__label {
	padding-left: 9px;
	border-left: 1px solid currentColor;
	font-weight: 500;
	opacity: .8;
}
.jericho-grating--hero {
	position: absolute;
	top: calc(100% + 14px);
	left: 0;
	z-index: 5;
}
