@import url('phosphor-light.css');
@import url('polar.css');

:root {
	--brand-dark: #000;
	--brand-primary: #69C6DD;
	--brand-light: #69C6DD;
	--brand-orange: #FF5317;
	--brand-yellow: #F8E72B;
	--brand-yellow-light: #FFFF86;
	--brand-light-grey: #ffffff;
	--link-color: var(--brand-primary);
	--font-light: "FT Polar Light", Arial, sans-serif;
	--btn-radius: 999px;
	--btn-border-width: 1px;
	--cti-gradient-opacity: 0.6;
	--cti-gradient-base: var(--brand-orange);
	/* Raster brand gradient — always cover the band (no gaps) */
	--cti-gradient-size: cover;
	--cti-gradient-position: center;
	--cti-gradient-image: image-set(
		url('/img/hero-gradient.webp') type('image/webp'),
		url('/img/hero-gradient.jpg') type('image/jpeg')
	);
	--icon-size: 1.25rem;
	--icon-hit: 2.75rem;
	/* Uniform hero / page-header band (all page types) */
	--hero-band-height: 445px;
	--hero-band-margin: clamp(48px, 7vw, 80px);
}

/* === Global icons (CTI small_rebrand_2026) — glyph size + hit area, no padding/margin on glyphs === */
.icon,
i.ph-light,
.ph-light {
	font-size: var(--icon-size);
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

.icon-btn,
.mobile-menu-close,
.cookie-banner-close,
.cookie-settings-close,
.modal-header .close,
button.close {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--icon-hit);
	height: var(--icon-hit);
	min-width: var(--icon-hit);
	min-height: var(--icon-hit);
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	line-height: 1;
	font-size: var(--icon-size);
	font-weight: 300;
	color: inherit;
	text-shadow: none;
	opacity: 1;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.icon-btn .ph-light,
.icon-btn .icon,
.mobile-menu-close .ph-light,
.cookie-banner-close .ph-light,
.cookie-settings-close .ph-light,
.modal-header .close .ph-light,
button.close .ph-light {
	font-size: var(--icon-size);
	width: var(--icon-size);
	height: var(--icon-size);
	line-height: 1;
	margin: 0;
	padding: 0;
}

#menu-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--icon-size);
	height: var(--icon-size);
	margin: 0;
	padding: 0;
	line-height: 1;
}

#menu-button::before {
	display: block;
	font-family: "Phosphor-Light";
	font-style: normal;
	font-weight: normal;
	font-size: var(--icon-size) !important;
	width: var(--icon-size) !important;
	height: var(--icon-size);
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#menu-toggle-button,
.navbar-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--icon-hit);
	min-height: var(--icon-hit);
	height: var(--icon-hit);
	width: var(--icon-hit);
	padding: 0;
	margin: 0;
	border: 1px solid currentColor;
	border-radius: 50%;
	background: transparent;
	float: none;
}

html {
	overflow-x: hidden;
	overflow-y: auto;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: var(--font-light);
	font-weight: 300;
	color: var(--brand-dark);
	font-size: 1.125rem;
	background-color: #fff;
	overflow-x: hidden;
}
body.modal-open {
	padding-right: 0 !important;
}
.container-wrapper {
	position: relative;
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	background-color: #fff;
	overflow: hidden;
}

/* Text links: thin animated underline */
a {
	outline: 0;
	cursor: pointer;
	color: var(--brand-dark);
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0 1px;
	transition: background-size 0.25s ease;
}
a:focus, a:active { outline: 0; }
a:hover, a:focus {
	color: var(--brand-dark);
	text-decoration: none;
	background-size: 100% 1px;
}
.btn, .btn:hover, .btn:focus,
.navbar-brand, .navbar-brand:hover, .navbar-brand:focus,
.dropdown-menu > li > a, .dropdown-menu > li > a:hover,
.site-footer-brand, .site-footer-brand:hover,
.site-footer-social-link, .site-footer-social-link:hover,
.popover-button, .popover-button:hover,
.popover-logo-link, .popover-logo-link:hover, .popover-logo-link:focus,
.icon-btn, .icon-btn:hover,
.mobile-menu-nav > a, .mobile-menu-nav > a:hover,
.mobile-menu-lang a, .mobile-menu-lang a:hover,
.navbar-lang-btn, .navbar-lang-btn:hover, .navbar-lang-btn:focus,
.contact-sidebar-icon-link, .contact-sidebar-icon-link:hover, .contact-sidebar-icon-link:focus,
a.btn-blank, a.btn-blank:hover, a.btn-available,
a.fancybox, a.fancybox:hover,
.carousel-control, .map-caption > a,
.cookie-banner a, .cookie-banner button {
	background-image: none !important;
	background-size: auto;
}
h1 {
	margin-bottom: 15px;
	font-family: var(--font-light);
	font-weight: 300;
	font-size: 2.6rem;
}
h2 {
	margin: 0 0 20px 0;
	font-family: var(--font-light);
	font-weight: 300;
	font-size: 1.625rem;
	line-height: 1.3;
}
h3 {
	margin: 0 0 20px 0;
	font-size: 1.3rem;
	font-weight: 700;
}
h4 {
	margin: 20px 0 5px 0;
	font-size: 1rem;
	font-weight: 600;
}
.h4 {
  	margin: 5px 0;
  	padding: 6px 5px 10px 20px; 
    font-size: 1rem;
    font-weight: 600;
}
p.featured {
	margin-bottom:30px;
}


.bottom40 {
	margin-bottom:40px;
}
.bottom60 {
	margin-bottom: 60px;
}
.padding-left-owl {
	display: inline-block;	
  	padding-left: 20px;
}

hr {
  	margin: 4.6rem 0;
	border: 0;
	border-top: #e5e5e5 1px solid;
}
hr.space {
	margin: 30px 0;
  	border: 1px transparent solid;
}
hr.car {
	/* Was a legacy pull-up under large header margins; keep flow spacing only */
	margin: 0 0 0 0;
	border: 0;
	visibility: hidden;
}
hr.accord {
	margin: 20px 0;	
  	border:0;
	border-top: #e5e5e5 1px solid;
}

/* ===  Bullet List Circle  ===  */
ul.circle li {
	list-style-type: none;
	line-height: 2.1;
}
li.circle {
	position: relative;
	margin-bottom: 0;	
  	padding-left: 20px;
}
li.circle:before {
	position: absolute;
	top: 0;
	left: 0;
	font-family: var(--font-light);
	content: "–";
	color: var(--brand-dark);
	font-size: 1em;
	line-height: 1.6;
}
/* ===  /Bullet List Circle  ===  */
/* ===  Navbar language (compact toggle + dropdown)  ===  */
.navbar-lang {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 8px 0 auto;
	padding: 0;
	z-index: 5;
	width: var(--icon-hit);
}
.navbar-lang-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 var(--icon-hit);
	width: var(--icon-hit);
	height: var(--icon-hit);
	min-width: var(--icon-hit);
	min-height: var(--icon-hit);
	max-width: var(--icon-hit);
	max-height: var(--icon-hit);
	aspect-ratio: 1 / 1;
	padding: 0;
	margin: 0;
	border: var(--btn-border-width) solid currentColor;
	border-radius: 50%;
	font-family: var(--font-light);
	font-size: 0.75rem;
	font-weight: 300;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	color: inherit;
	background-color: transparent;
	background-image: none !important;
	cursor: pointer;
	overflow: hidden;
	/* No color/border transition — must flip with logo + burger on scroll */
	transition: background-color 0.2s ease;
	appearance: none;
	-webkit-appearance: none;
}
.navbar-lang-toggle {
	position: relative;
	z-index: 2;
}
.navbar-lang-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: var(--icon-hit);
	padding: 8px 0 0;
	margin: 0;
	list-style: none;
	background: transparent;
	z-index: 30;
}
.navbar-lang-menu[hidden] {
	display: none !important;
}
.navbar-lang.is-open .navbar-lang-menu {
	display: flex !important;
}
.navbar-lang-menu .navbar-lang-btn {
	flex: 0 0 var(--icon-hit);
}
a.navbar-lang-btn:hover,
a.navbar-lang-btn:focus,
button.navbar-lang-btn:hover,
button.navbar-lang-btn:focus,
.navbar-lang-btn.is-active,
.navbar-lang.is-open .navbar-lang-toggle {
	text-decoration: none;
	background-image: none !important;
}
/* ===  /Navbar language  ===  */
/* ===  Head-Image  ===  */
.header-image {
	height: var(--hero-band-height);
	margin-bottom: var(--hero-band-margin);
	background-repeat: no-repeat;
	background-position: 100% 0;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
/* Terms, legal, cookies and environment pages - extra spacing below header */
.terms-page-content,
.legal-notice-content,
.cookies-page-content,
.environment-page-content {
	padding-top: 20px;
	margin-bottom: 60px;
}
.terms-page-content h1,
.legal-notice-content h1,
.cookies-page-content h1 {
	margin-top: 0;
	margin-bottom: 20px;
}
.terms-page-content hr,
.legal-notice-content hr,
.cookies-page-content hr {
	margin-top: 0;
	margin-bottom: 40px;
}
.header-text {
	position: relative;
	left: auto;
	right: auto;
	top: auto;
	padding-left: 0;
	z-index: 2;
	max-width: 36rem;
}
.header-subtext {
	max-width: 28rem;
}

/* Shoulder Boxes */


.btn-produkt-shoulder-boxes:focus,
.btn-produkt-shoulder-boxes.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-shoulder-boxes:active,
.btn-produkt-shoulder-boxes.active,
.open > .dropdown-toggle.btn-produkt-iml {
  	background-color: transparent;
  	border-color: transparent;
}
/* Folding cartons */


.btn-produkt-folding-cartons:focus,
.btn-produkt-folding-cartons.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-folding-cartons:active,
.btn-produkt-folding-cartons.active,
.open > .dropdown-toggle.btn-produkt-sac {
  	background-color: transparent;
  	border-color: transparent;
}
/* Laminates */


.btn-produkt-lam:focus,
.btn-produkt-lam.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-lam:active,
.btn-produkt-lam.active,
.open > .dropdown-toggle.btn-produkt-lam {
  	background-color: transparent;
  	border-color: transparent;
}
/* Shrink sleevers */


.btn-produkt-shr:focus,
.btn-produkt-shr.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-shr:active,
.btn-produkt-shr.active,
.open > .dropdown-toggle.btn-produkt-shr {
  	background-color: transparent;
  	border-color: transparent;
}
/* self-adhesive labels */


.btn-produkt-sal:focus,
.btn-produkt-sal.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-sal:active,
.btn-produkt-sal.active,
.open > .dropdown-toggle.btn-produkt-sal {
  	background-color: transparent;
  	border-color: transparent;
}
/* ===  /Head-Image  ===  */
.col-maxwidth{
	margin-bottom: 40px;
   	max-width: 740px;
}
/* ===  MAIN-NAVIGATION  ===  */
.navbar-default {
	background-color: #ffffff;
	border-color: transparent;
	-webkit-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
}
/* ===  /MAIN-NAVIGATION  ===  */
/* ===  Collapse bar  ===  */

.top-header {
	background-color: transparent;
	border-color: transparent;
}
/* ===  /Collapse bar  ===  */
/* ===  CUSTOMIZE THE NAVBAR  ===  */
.navbar-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
}
/* ===  STICKY NAVBAR ON SCROLL  ===  */
.navbar-fixed-top {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 1030;
	background-color: #ffffff !important;
	box-shadow: none;
}
.navbar-fixed-top.navbar-transparent {
	background-color: transparent !important;
	box-shadow: none;
}
.navbar-fixed-top .navbar-wrapper {
	position: relative;
}
@media screen and (max-width: 991px) {
	.navbar-fixed-top {
		height: auto;
		min-height: 56px;
	}
	.navbar-fixed-top .navbar-header {
		min-height: 56px;
	}
	/* Only stretch navbar containers — do not nuke page .container gutters */
	.top-header > .container,
	#topNav > .container,
	.navbar .container {
		width: 100% !important;
		max-width: none !important;
		padding-left: 15px !important;
		padding-right: 15px !important;
		box-sizing: border-box;
	}
	.navbar-toggle {
		margin-right: 0;
	}
	.navbar-responsive-collapse {
		display: none !important;
	}
	/* Transparent at top, solid white when scrolled (no shadow) */
	#topNav.navbar-fixed-top {
		transition: background-color 0.3s ease;
	}
	#topNav.navbar-transparent {
		background-color: transparent !important;
		box-shadow: none;
	}
	#topNav.navbar-fixed-top:not(.navbar-transparent) {
		background-color: #fff !important;
		box-shadow: none;
	}
}
/* ===  /STICKY NAVBAR ON SCROLL  ===  */
/* ===  /CUSTOMIZE THE NAVBAR  ===  */
/* ===  NAVIGATION-NAVBAR  ===  */
.navbar {
	height: 90px;
	border: 0;
	padding: 0;
  	width: 100%;
	max-width: 100%;
  	/*max-width: 1280px; */
	margin-left: auto;
	margin-right: auto;
}
*::-ms-backdrop, .navbar {
  	max-width: none;
}
.navbar-brand {
	min-height: 90px;
	display: flex;
	align-items: center;
}
.navbar-default .navbar-nav > li > a {
	color: #000000;
	text-transform: uppercase;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
	background-color: transparent;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
	background-color: transparent;
}
.navbar-default .navbar-toggle {
	border-color: transparent;
}
.navbar-brand {
	padding: 0 0 0 15px;
	display: flex;
	align-items: center;
}
.navbar-brand > img,
.navbar-brand .navbar-logo {
	height: 60px;
	width: auto;
	max-width: 220px;
	object-fit: contain;
}
.navbar-nav > li > .dropdown-menu {
	margin: 10px 0 0 15px;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
	color: var(--brand-primary);
	background-color: transparent;
	padding-bottom: 3px;
	border-bottom: 5px var(--brand-orange) solid;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
    border-color: transparent;
}
.nav > li > a {
	position: relative;
	margin: clamp(10px, 1.2vw, 25px) 0 clamp(8px, 1vw, 15px) clamp(8px, 1.5vw, 30px);
	padding: 0;
	font-size: clamp(0.75rem, 1.2vw, 1.125rem);
	font-weight: 700;
	text-transform: uppercase;
}
.navbar-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--icon-hit);
	min-height: var(--icon-hit);
	height: var(--icon-hit);
	padding: 0;
	margin: 0;
	border-color: transparent;
}
.navbar-toggle .icon-bar {
	display: block;
	width: 35px;
	margin: 10px 0 6px 70px;
	height: 5px;
	border-radius: 20px;
}
.navbar-default .navbar-toggle .icon-bar {
	background-color: #000;
}

.navbar-collapse {
	border-top: 0;
	box-shadow: 0 0 0 rgba(255, 255, 255, 0.0);
}
.navbar-right .dropdown-menu {
	left: 15px;
	right: auto;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
	color: var(--brand-orange);
	background-color: transparent;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
	background-color: var(--brand-orange);
}
.navbar .dropdown-menu {
	padding: 0;
	border-radius: 0;
	border: 1px #ffffff solid;
	color: #000000;
	font-weight: 500;
	/* box-shadow: 2px 5px 6px rgba(0, 0, 0, 0.125); */
}
.dropdown-menu > li > a {
	margin-top: 0;
	min-width: 240px;
	padding: 10px 12px;
	text-transform: uppercase;
}
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
	text-decoration: none;
	color: #fff;
	background-color: var(--brand-orange);
}
/* ===  /NAVIGATION-NAVBAR  ===  */
/* ===  TRIANGLE  ===  */

/* creates the smaller  triangle */

.triangle-border.top::before {
	top: -17px;
	bottom: auto;
	left: -1px;
	border-width: 0 17px 17px 0;
}
.triangle-border.top::after {
	top: -15px;
	bottom: auto;
	left: 0px;
	border-width: 0 15px 15px 0;
}
/* ===  /TRIANGLE  ===  */

/* ===  CUSTOMIZE THE CAROUSEL  ===  */
/* Colombia golden standard: overflow hidden, absolute img, object-fit cover */
.carousel-hero-wrapper {
	overflow: hidden;
}
.carousel {
	margin-bottom: 80px;
}
.carousel h3 {
	max-width: 400px;
	font-size: 1rem;
	font-weight: 600;
}
.carousel-caption {
	left: auto;
	right: auto;
	padding-bottom: 60px;
	padding-left: 65px;
	bottom: 20px;
	text-align: left;
	color: #000000;
	text-shadow: none;
}
.carousel .item {
	height: 576px;
	background-color: #e8ecf0;
}
.carousel-inner > .item > img {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 100%;
	max-width: none;
	width: auto;
	height: 576px;
	object-fit: cover;
	object-position: center;
}
@media (min-width: 768px) {
	.carousel-inner > .item > img {
		left: 50%;
		-moz-transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
}
.carousel-indicators li {
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: 11px;
	text-indent: -999px;
	border: 1px solid #656564;
	border-radius: 10px;
	cursor: pointer;
	background-color: transparent;
}

.carousel-indicators .active {
	margin: 10px;
	width: 19px;
	height: 19px;
	background-color: var(--brand-orange);
	border: 0;
}
.rahmenbox {
	background-image: none;
	background-repeat: no-repeat;
	background-position: bottom right;
	border: none;
	/*height: 295px; */
	padding: 0;
}
.rahmenbox > a:first-child,
.rahmenbox img {
	background-color: #fff;
}
.rahmenbox .h4,
.rahmenbox a.h4,
.rahmenbox .padding-left-owl {
	font-family: var(--font-light);
	font-weight: 300;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
/* Homepage products: static two-column grid (no carousel/swipe) */
.product-two-col {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(20px, 4vw, 48px);
	align-items: start;
	margin: 0 0 clamp(24px, 4vw, 40px);
}
.product-two-col .rahmenbox img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 767px) {
	.product-two-col {
		grid-template-columns: 1fr;
	}
}


.product-card .rahmenbox img {
	width: 100%;
	height: auto;
	display: block;
}


/* ===  Link-Buttons (ghost pills)  ===  */
.btn-colored,
.btn-lg.btn-colored,
.btn-group-lg > .btn.btn-colored {
	display: inline-block;
	padding: 12px 28px;
	font-family: var(--font-light);
	font-size: 0.95rem;
	font-weight: 300;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--brand-dark);
	border: var(--btn-border-width) solid var(--brand-dark);
	border-radius: var(--btn-radius);
	background-color: transparent;
	background-image: none !important;
	line-height: 1.4;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.btn-colored:hover,
.btn-colored:focus,
.btn-colored:active {
	color: #fff;
	background-color: var(--brand-dark);
	background-image: none !important;
	border-color: var(--brand-dark);
}
.btn-colored.btn-light,
.hero-static .btn-colored,
.carousel-caption .btn-colored {
	color: #fff;
	border-color: #fff;
	background-image: none !important;
}
.btn-colored.btn-light:hover,
.btn-colored.btn-light:focus,
.carousel-caption .btn-colored:hover,
.carousel-caption .btn-colored:focus {
	color: #fff;
	background-color: var(--brand-dark);
	border-color: var(--brand-dark);
}
.hero-static .btn-colored:hover,
.hero-static .btn-colored:focus,
.hero-static .btn-colored:active {
	color: var(--brand-dark);
	background-color: #fff;
	background-image: none !important;
	border-color: #fff;
}
.btn-lg,
.btn-group-lg > .btn {
	padding: 12px 28px;
	font-size: 0.95rem;
	font-weight: 300;
	line-height: 1.4;
	border-radius: var(--btn-radius);
}

/*
.btn:active, .btn.active {
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  	color: #fff;
  
}
.btn:hover, .btn:focus, .btn.focus {
    color: #fff;
}

*/


/* === Content split: text + image (flex, one mobile breakpoint) === */
.content-split {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: clamp(24px, 4vw, 48px);
	margin: 0 0 clamp(28px, 5vw, 48px);
}
.content-split-media,
.content-split-copy {
	flex: 1 1 100%;
	min-width: 0;
}
.content-split-media img {
	display: block;
	width: 100%;
	height: auto;
}
/* Space between stacked images (e.g. Technology page) */
.content-split-media img + img {
	margin-top: clamp(16px, 3vw, 32px);
}
.content-split-copy > :first-child {
	margin-top: 0;
}
@media screen and (min-width: 768px) {
	.content-split-media,
	.content-split-copy {
		flex: 1 1 calc(50% - 24px);
	}
	.content-split--media-end .content-split-media {
		order: 2;
	}
	.content-split--media-end .content-split-copy {
		order: 1;
	}
	.content-split--map {
		align-items: center;
	}
	.content-split--map .content-split-copy {
		flex: 1 1 34%;
		max-width: 360px;
	}
	.content-split--map .content-split-media {
		flex: 1 1 56%;
		max-width: 620px;
	}
}
.featured-box-row {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(16px, 3vw, 24px);
	margin: 0;
}
.featured-box-col {
	flex: 1 1 100%;
	min-width: 0;
}
@media screen and (min-width: 768px) {
	.featured-box-col {
		flex: 1 1 calc(33.333% - 16px);
	}
}
/* === /Content split === */

/* === Colored Box  ===  */
.featured-box-container {
	margin: 80px 0;
	padding: 0 0 15px 0;
	background-color: var(--brand-orange);
}
.featured-box h4 {
	color:#fff;
	margin-top:15px;
	font-size: 1.125rem;
	font-weight: 700;
}
.featured-box {
	padding: 40px 0 35px 0;
}
.featured-box img,
.featured-box .featured-box-icon {
	height: 55px;
}
.featured-box .featured-box-icon {
	display: inline-block;
	font-size: 3.25rem;
	width: 3.25rem;
	height: 3.25rem;
	line-height: 1;
	color: #fff;
}
/* === /Colored Box  ===  */

/* === CTI specialists strip (orange band, black logos) === */
.index-specialists {
	background-color: var(--brand-orange);
	color: #fff;
	padding: clamp(36px, 5vw, 56px) 0;
	margin: clamp(40px, 6vw, 72px) 0;
}
.index-specialists-title {
	margin: 0 0 clamp(24px, 3.5vw, 36px);
	font-family: var(--font-light);
	font-size: clamp(1.3rem, 2.6vw, 1.75rem);
	font-weight: 300;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: center;
	color: #fff;
}
.index-specialists-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-evenly;
	column-gap: clamp(12px, 2vw, 28px);
	row-gap: clamp(20px, 4vw, 32px);
	width: 100%;
}
.index-specialists-logos a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	background-image: none !important;
}
.index-specialists-logos a:hover,
.index-specialists-logos a:focus {
	opacity: 0.85;
	background-image: none !important;
}
.index-specialists-logos img {
	display: block;
	height: 50px;
	width: auto;
	max-width: 200px;
	object-fit: contain;
}
.index-specialists-logos img.affiliate-logo--cigar {
	height: 84px;
	max-width: 112px;
}
/* viappiani wordmarks are cropped tighter than omnipack's, so match optical size */
.index-specialists-logos img.affiliate-logo--viappiani {
	height: 38px;
}
@media screen and (max-width: 991px) {
	.index-specialists-logos img {
		height: clamp(34px, 7.5vw, 44px);
		max-width: clamp(130px, 34vw, 176px);
	}
	.index-specialists-logos img.affiliate-logo--cigar {
		height: clamp(56px, 14vw, 76px);
		max-width: clamp(76px, 21vw, 104px);
	}
	.index-specialists-logos img.affiliate-logo--viappiani {
		height: clamp(26px, 5.7vw, 33px);
	}
}

/* ===  NEWS BOX (Aktuelle Meldungen)  ===  */



/* ===  /NEWS BOX  ===  */
/* ===  Produkt Box  ===  */
.produktbox {
	border: none;
}
.produktbox > img,
.produktbox img.img-responsive {
	background-color: #fff;
}

.produktbox-text {
	height: 170px;
	padding: 0 20px 20px;	
}

section.produktbox {
	color: #000000;
}
/* Product / content photos: white behind transparent PNGs */
main .img-responsive:not(.navbar-logo):not(.cti-navbar-logo) {
	background-color: #fff;
}
.produktbox h3 {
    margin: 20px 0 20px 0;
    font-family: var(--font-light);
    font-size: 1.3rem;
    font-weight: 300;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.boxlink:hover, a:focus, a:active {
	text-decoration:none;
}

/* ===  Item Box  ===  */

.item-container {
	margin-bottom: 60px;
	background-color: #fff;
}
.item-box {
	padding-top: 25px;
	padding-bottom: 25px;
	border: none;
}
.item-floatbox {
	padding: 5px;
}
.item-linkbox {
	width: 260px;
	border: none;
	width:auto;
}
/* ===  /Item Box  ===  */
/* ===  SVG   ===  */
.svg {
	width: 7rem;
	height: 7rem;
}
/* ===  SVG FARBE  ===  */
/* ===  Bildergalerie  ===  */

.fancybox {
	display: block;
	position: relative;
}
.img-thumbnail {
  margin: 40px 0 0 0;
	/*margin: 40px 21px 0 0; */
	padding: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	border: none;
	background-color: #fff;
}

/* Product example galleries */
.wm-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(12px, 2vw, 24px);
	width: 100%;
	margin: 0 0 40px;
}
.wm-gallery-item {
	display: block;
	width: 100%;
	margin: 0;
}
.wm-contentmodule.wm-gallery .img-thumbnail {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background-color: #fff;
}
@media screen and (max-width: 991px) {
	.wm-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (max-width: 767px) {
	.wm-gallery-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}
/* ===  Bildergalerie  ===  */
/* ===  Modal  ===  */

.modal-header .close {
	margin: 0 20px 0 0;
}
.modal-header {
	padding: 5px;
	border-bottom: 0 solid transparent;
}
.modal-title {
	margin: 10px 0 0 20px;
}
.modal-content {
	background-color: #FFF;
	border: 0 solid rgba(0, 0, 0, 0);
	border-radius: 0;
}
.modal-body {
	padding: 0;
}
.close {
	font-size: 40px;
	font-weight: normal;
	color: #000000;
	text-shadow: 0 transparent;
	opacity: 1;
}
.pull-left:nth-child(1n)
	{margin-right: 30px}

.pull-left:nth-child(3n)
	{margin-right: 0}

.ekko-lightbox-nav-overlay a span {
	color: var(--brand-orange);
}
/* ===  /Modal  ===  */
/* ===  Map  ===  */
.map {
	width: 100%;
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
.map-image {
	position: relative;
	width: 100%;
}
.map-image img {
	width: 100%;
	height: auto;
	display: block;
}
.map-caption {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.map-caption > a {
	pointer-events: auto;
}
.popover-content {
    padding: 18px 20px;
  	line-height: 1.45;
	font-family: var(--font-light);
	font-weight: 300;
	color: var(--brand-dark);
}
.popover-content .popover-desc {
	margin: 0 0 6px;
	font-size: 0.95rem;
	line-height: 1.4;
	color: #5c5c5c;
}
.popover-content .popover-loc {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.35;
	color: #5c5c5c;
}
.popover-content .popover-divider {
	margin: 14px 0;
	border: 0;
	border-top: 1px solid #e5e5e5;
}
.popover-content .popover-contacts {
	display: grid;
	gap: 6px;
}
.popover-content .popover-contact {
	display: grid;
	grid-template-columns: 3.25rem 1fr;
	gap: 8px;
	align-items: baseline;
}
.popover-content .popover-contact-label {
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8a8a8a;
}
.popover-content a {
	color: var(--brand-orange);
	text-decoration: none;
	background-image: none;
	word-break: break-word;
}
.popover-content a:hover,
.popover-content a:focus {
	color: var(--brand-orange);
	opacity: 0.85;
	text-decoration: none;
	background-size: 0;
}
.popover {
    font-family: inherit ;
    border-radius: 0;
    box-shadow: none;
}
.popover.right {
    margin-left: 20px;
}
.popover.bottom {
    margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.popover {
		max-width: calc(100vw - 30px);
		left: 15px !important;
		right: 15px;
		margin-left: 0 !important;
	}
	.popover.right,
	.popover.bottom,
	.popover.top,
	.popover.left {
		margin-left: 0 !important;
		margin-top: 10px !important;
	}
}

/* viappiani */

.btn-viappiani-pos {
	position:absolute;
	top:62%;
  	left: 26.5%;
	z-index: 1;
}
.btn-viappiani {
	border-radius: 50px;
    padding: 4px;
    height: 10px;
    width: 10px;
	background-color: #E41E0F;
  	border-color: #E41E0F;
}
.btn-viappiani:focus,
.btn-viappiani.focus {
  	background-color: #E41E0F;
  	border-color: #E41E0F;
}
.btn-viappiani:hover {
  	background-color: var(--brand-dark);
  	border-color: var(--brand-dark);
}
.btn-viappiani:active,
.btn-viappiani.active,
.open > .dropdown-toggle.btn-viappiani {
  	background-color: #E41E0F;
  	border-color: #E41E0F;
}
/* viappiani-it */

.btn-viappiani-it-pos {
	position:absolute;
	top:32%;
	left: 48%;
	z-index: 1;
}
.btn-viappiani-it {
	border-radius: 50px;
    padding: 4px;
    height: 10px;
    width: 10px;
	background-color: #E41E0F;
  	border-color: #E41E0F;
}
.btn-viappiani-it:focus,
.btn-viappiani-it.focus {
  	background-color: #E41E0F;
  	border-color: #E41E0F;
}
.btn-viappiani-it:hover {
  	background-color: var(--brand-dark);
  	border-color: var(--brand-dark);
}
.btn-viappiani-it:active,
.btn-viappiani-it.active,
.open > .dropdown-toggle.btn-viappiani-it {
  	background-color: #E41E0F;
  	border-color: #E41E0F;
}
/* omnipack */
.btn-omnipack-pos {
	position:absolute;
	top:34.6%;
	left: 46%;
	z-index: 1;
}
.btn-omnipack {
	border-radius: 50px;
    padding: 5px;
    height: 14px;
    width: 14px;
	background-color: var(--brand-orange);
  	border-color: var(--brand-orange);
}
.btn-omnipack:focus,
.btn-omnipack.focus {
  	background-color: var(--brand-orange);
  	border-color: var(--brand-orange);
}
.btn-omnipack:hover {
  	background-color: var(--brand-dark);
  	border-color: var(--brand-dark);
}
.btn-omnipack:active,
.btn-omnipack.active,
.open > .dropdown-toggle.btn-omnipack {
  	background-color: var(--brand-orange);
  	border-color: var(--brand-orange);
}
/* cti-traun */
.btn-cti-traun-pos {
	position:absolute;
	top: 29.8%;
	left: 49%;
	z-index: 1;
}
.btn-cti-traun {
	border-radius: 50px;
    padding: 4px;
    height: 10px;
    width: 10px;
	background-color: var(--brand-dark);
  	border-color: var(--brand-dark);
}
.btn-cti-traun:focus,
.btn-cti-traun.focus {
  	background-color: var(--brand-dark);
  	border-color: var(--brand-dark);
}
.btn-cti-traun:hover {
  	background-color: #8c3595;
  	border-color: #8c3595;
}
.btn-cti-traun:active,
.btn-cti-traun.active,
.open > .dropdown-toggle.btn-cti-traun {
  	background-color: var(--brand-dark);
  	border-color: var(--brand-dark);
}


/* cigar rings nicaragua */
.btn-cigar-rings-nicaragua-pos {
	position:absolute;
	top: 55.5%;
	left: 23.8%;
	z-index: 1;
}
.btn-cigar-rings-nicaragua {
	border-radius: 50px;
    padding: 4px;
    height: 10px;
    width: 10px;
	background-color: #00642e;
  	border-color: #00642e;
}
.btn-cigar-rings-nicaragua:focus,
.btn-cigar-rings-nicaragua.focus {
  	background-color: #00642e;
  	border-color: #00642e;
}
.btn-cigar-rings-nicaragua:hover {
  	background-color: var(--brand-dark);
  	border-color: var(--brand-dark);
}
.btn-cigar-rings-nicaragua:active,
.btn-cigar-rings-nicaragua.active,
.open > .dropdown-toggle.btn-cigar-rings-nicaragua {
  	background-color: #00642e;
  	border-color: #00642e;
}


/* cigar rings dominican republic */
.btn-cigar-rings-dom-pos {
	position:absolute;
	top: 52.2%;
	left: 28.7%;
	z-index: 1;
}
.btn-cigar-rings-dom {
	border-radius: 50px;
    padding: 4px;
    height: 10px;
    width: 10px;
	background-color: #00642e;
  	border-color: #00642e;
}
.btn-cigar-rings-dom:focus,
.btn-cigar-rings-dom.focus {
  	background-color: #00642e;
  	border-color: #00642e;
}
.btn-cigar-rings-dom:hover {
  	background-color: var(--brand-dark);
  	border-color: var(--brand-dark);
}
.btn-cigar-rings-dom:active,
.btn-cigar-rings-dom.active,
.open > .dropdown-toggle.btn-cigar-rings-dom {
  	background-color: #00642e;
  	border-color: #00642e;
}

/* ===  /Map  ===  */

/* ===  Dropdown  ===  */
#drop .btn-default {
  	display: inline-block;
  	padding: 0;
  	background-color: transparent;
  	border-top: 1px #e5eaea solid;
  	border-left: 1px #e5eaea solid;	
  	border-right: none;
  	border-bottom: none;
  	padding-right: 0px;
  	padding-bottom: 0px;
   	background-image: url(/img/boxbg.png);
	background-repeat: no-repeat;
	background-position: bottom right;
}
#drop .btn-default:hover {
    border: none;
  	background-color: transparent;
    border-top: 1px #e5eaea solid;
  	border-left: 1px #e5eaea solid;	
  	border-right: none;
  	border-bottom: none;
	background-image: url(/img/boxbg.png);
	background-repeat: no-repeat;
	background-position: bottom right;
  	box-shadow: -3px -3px 3px rgba(0, 0, 0, 0.115);
}
#drop .btn-default:focus {
    border: none;
  	background-color: transparent;
    border-top: 1px #e5eaea solid;
  	border-left: 1px #e5eaea solid;	
  	border-right: none;
  	border-bottom: none;
	background-image: url(/img/boxbg.png);
	background-repeat: no-repeat;
	background-position: bottom right;
  	box-shadow: -3px -3px 3px rgba(0, 0, 0, 0.115);
}
#drop .btn-default:aktive {
    border: none;
  	background-color: #fff;
    border-top: 1px #e5eaea solid;
  	border-left: 1px #e5eaea solid;	
  	border-right: none;
  	border-bottom: none;
	background-image: url(/img/boxbg.png);
	background-repeat: no-repeat;
	background-position: bottom right;
  	box-shadow: -3px -3px 3px rgba(0, 0, 0, 0.115);
}

#drop .dropdown-menu {
  	left: auto;
  	width: 100%;
  	margin-top: -20px;
	padding: 0;
	border-radius: 0;
  	border-top: none;
  	border-left: 1px #e5eaea solid;	
  	border-right: none;
  	border-bottom: none;
  	padding-right: 0;
  	padding-bottom: 0;
   	background-image: url(/img/boxbg.png);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-color: transparent;
  	box-shadow: none;
}
#drops .dropdown-menu {
	position:relative;
  	margin-top: -20px;
	padding: 0;
	border-radius: 0;
  	border-top: none;
  	border-left: 1px #e5eaea solid;	
  	border-right: none;
  	border-bottom: none;
  	padding-right: 0;
  	padding-bottom: 0;
   	background-image: url(/img/boxbg.png);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-color: transparent;
  	box-shadow: none;
}
/* ===  /Dropdown  ===  */

/* ===  FOOTER  ===  */
footer:not(.site-footer) {
	color: #7b7776;
	font-size: 15px;
	line-height: 1.8;
	overflow: hidden;
}
footer .footer-content {
	display: block;	
  	background: #ffffff;
	margin: 70px 0 0 0;
	padding: 40px 0 20px 0;
}
footer .footer-bar {
	padding: 23px 0;
	border-bottom:3px var(--brand-dark) solid;
}
footer h3 {
	margin: 10px 0 10px 0;	
  	padding-bottom: 15px;	
  	border-bottom: 1px #d6dfde solid;
	font-size: 0.9rem;
	font-weight: 600;
	color: #292826;
	text-transform: uppercase;
}
footer:not(.site-footer) a,
footer:not(.site-footer) a:focus {
	color: #000000;
}

footer:not(.site-footer) a:hover {
	color: #b3b3b3;
}
footer ul, footer ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}
footer hr {
	margin: 25px -15px;
  	border: 0;
	height: 1px;
	border-top: #d6dfde 1px solid;
}
footer .footer-bar p {
	margin: 0 25px 0 0;
}

.footer-bar a {
	color: #a7a9a8;
}
.footer-bar a:hover {
	color: #000000;
}
address {
	color: #a7a9a8;
}
address a {
	color: #a7a9a8;
}
address a:hover {
	color: #000000;
}

/* ===  /FOOTER  ===  */
.footer-doc { display:block; }
.footer-doc img { display:block; max-width:100%; height:auto; }
.footer-img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-top: 10px;   /* optional spacing */
}
/* ===  FORMULARE === */
.wm-form .radio,
.wm-form .checkbox {
	display: inline-block;
	width: 250px;
}
.wm-form input[type=button] {
	margin-left: 0;
}
.form-control {
	border: var(--btn-border-width) solid var(--brand-dark);
	border-radius: var(--btn-radius);
	box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.075);
}
.form-horizontal .control-label {
	text-align: left;
	margin-bottom: 0;
	padding-top: 7px;
}
.form-control:focus {
	border-color: #000000;
	outline: 0 none;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(220, 220, 233, 0.9);
}
.table {
	margin-left: -15px;
}




.pager {
  display: inline-block;  
  padding: 5px 30px;
  background-color: #ffffff;
}
.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
    padding: 15px 0;
    border-top: none;
  	display: table;
}
.alert-info {
	background-color: transparent;
	border-color: transparent;
	color: transparent;
}
.alert {
	padding: 0;
	margin-bottom: 0;
	border: 0 solid transparent;
	border-radius: 0;
}
/* ===  FORMULARE === */
/* ===============  min-width 992  ===============  */
@media screen and (min-width: 992px) {
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
	background-color: transparent;
	color: var(--brand-orange);
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
	color: var(--brand-orange);
	background-color: transparent;
	padding-bottom: 3px;
	border-bottom: 4px #ef852b solid;
}
.navbar-nav {
	margin: clamp(5px, 1vw, 10px) 0 0 0;
	padding-right: 0;
}
.navbar-fixed-top .navbar-collapse,
.navbar-static-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
	padding-left: 0;
	padding-right: 15px;
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
	margin-left: 0;
	margin-right: -15px;
}
  


}
/* ===============  max-width 991 (TABLET+SMARTPHONE)  ===============  */
@media screen and (max-width: 991px) { 

  .pull-left:nth-child(2n) {
      margin-right: 0
}
.pull-left:nth-child(n) {
    margin-right: 20px;
}
  
  /* Header-Objekte */

/* In-mould labels */


.btn-produkt-iml:focus,
.btn-produkt-iml.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-iml:active,
.btn-produkt-iml.active,
.open > .dropdown-toggle.btn-produkt-iml {
  	background-color: transparent;
  	border-color: transparent;
}
/* Sachets */


.btn-produkt-sac:focus,
.btn-produkt-sac.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-sac:active,
.btn-produkt-sac.active,
.open > .dropdown-toggle.btn-produkt-sac {
  	background-color: transparent;
  	border-color: transparent;
}
/* Laminates */


.btn-produkt-lam:focus,
.btn-produkt-lam.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-lam:active,
.btn-produkt-lam.active,
.open > .dropdown-toggle.btn-produkt-lam {
  	background-color: transparent;
  	border-color: transparent;
}
/* Shrink sleevers */


.btn-produkt-shr:focus,
.btn-produkt-shr.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-shr:active,
.btn-produkt-shr.active,
.open > .dropdown-toggle.btn-produkt-shr {
  	background-color: transparent;
  	border-color: transparent;
}
/* self-adhesive labels */


.btn-produkt-sal:focus,
.btn-produkt-sal.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-sal:active,
.btn-produkt-sal.active,
.open > .dropdown-toggle.btn-produkt-sal {
  	background-color: transparent;
  	border-color: transparent;
}
/* / Header-Objekte */ 
.col-maxwidth {
    max-width: none;
}
hr.company {
	border: 0;
	margin: 30px 0 50px 0x;
	border-top: #e5e5e5 1px solid;
}  
.navbar-collapse.in {
	overflow-y: visible;
}
#drop .btn-default {
   	margin-bottom: 40px;
}
#drop .dropdown-menu {
   	margin-top: -50px;
}	
hr.accord {
	clear: both;
}
.margin-minus {
    margin-left: -80px;
    margin-right: -80px;
}

.triangle-border.top::before {
	top: 0;
	bottom: auto;
	left: 0;
	border-width: 0;
}
.triangle-border.top::after {
	top: 0;
	bottom: auto;
	left: 0px;
	border-width: 0;
}


.item-box {
	padding: 20px;
	border: none;
}
.item-floatbox {
	display: inline-block;
	vertical-align: middle;
}
.item-floatbox h4 {
	margin-top: 0;
}
.item-linkbox {
	width: 260px;
	/*position: absolute; */
}
.item-floatbox-padding-left {
	padding-left: 25px;
   	text-align: left;
}
.item-floatbox-pull-right {
	float: right;
	margin-top: 40px;
}
.item-floatbox-pull-right-tel{
	float: right;
	margin-top: 32px;
}
.navbar-toggle {
	margin-right: 0;
}

.img-thumbnail {
	width: 348px;
}
.header-image {
	margin-bottom: var(--hero-band-margin);
	height: var(--hero-band-height);
}
.header-text {
	position: relative;
	top: auto;
	bottom: auto;
	padding: 24px 0 8px;
	max-width: 100%;
}
h1 {
	font-size: 2.3rem;
	margin-bottom: 15px;
}
h3 {
	margin-bottom: 20px;
	font-size: 1.1rem;
	font-weight: 700;
}
h4 {
	margin: 20px 0 5px 0;
	font-size: 1rem;
	font-weight: 600;
}
.fa-2x {
	margin-top:5px
}
/* ===  Carousel-caption  ===  */
.carousel {
	height: 730px;
	margin-bottom: 0;
}
.carousel .item {
	background-color: #fff;
   	height: 728px;
}
.carousel .carousel-indicators {
	bottom: 300px;
}
.carousel-inner .item .carousel-caption {
	top: 420px;
}
.carousel-inner > .item > img {
		height: 420px;
}
.carousel h3 {
	max-width: 500px;
	font-size: 1rem;
	font-weight: 600;
}
/* ===  /Carousel-caption  ===  */
/* ===  LANGUAGE MAXWITH992  ===  */


.list-inline > li {
	padding-right: 0;
}

/* ===  /LANGUAGE  ===  */
/* ===  MENU Symbole  ===  */
a.dropdown-toggle::after {
	float: right;
	display: inline-block;
	font-family: "Phosphor-Light";
	font-style: normal;
	font-weight: normal;
	line-height: 0.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;	
   	padding-top: 5px;
     	padding-right: 0;
	font-size: 24px;
	color: var(--brand-orange);
	content: "\f0d7";
	}
li.dropdown > a.dropdown-toggle::after {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
li.dropdown.open > a.dropdown-toggle::after {
	padding-left: 0;
	padding-right: 0;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
}
#menu-button::before {
	display: block;
	font-family: "Phosphor-Light";
	font-style: normal;
	font-weight: normal;
	font-size: var(--icon-size) !important;
	width: var(--icon-size) !important;
	height: var(--icon-size);
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.navbar-toggle #menu-button::before {
	content: "\e4f6";
}
.navbar-toggle.collapsed #menu-button::before {
	content: "\e2f0";
}
.navbar-toggle.active #menu-button::before {
	content: "\e4f6";
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
	padding-bottom: 14px;
}
.navbar-nav {
	margin-top: 0;
	margin-bottom: 0;
   	border-bottom: 1px #ffffff solid;
   	background-color: #fff;
}
.navbar-collapse {
	background-color: #fff;
}
/* Full-screen mobile menu overlay */
#mobile-menu-overlay {
	position: fixed;
	inset: 0;
	z-index: 1020;
	background-color: #ffffff;
	display: none;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
#mobile-menu-overlay.open {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.mobile-menu-close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 1;
	color: var(--brand-dark);
}
.mobile-menu-close:hover,
.mobile-menu-close:focus {
	color: var(--brand-primary);
	outline: none;
}
#mobile-menu-overlay .mobile-menu-nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	width: 100%;
	max-width: 320px;
}
#mobile-menu-overlay .mobile-menu-nav > a {
	display: block;
	width: 100%;
	padding: 18px 16px;
	font-size: 1.25rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #000000;
	text-align: center;
	border-bottom: none;
	text-decoration: none;
}
#mobile-menu-overlay .mobile-menu-nav > a:hover,
#mobile-menu-overlay .mobile-menu-nav > a:focus {
	color: var(--brand-orange);
	text-decoration: none;
}
#mobile-menu-overlay .mobile-menu-nav > a.active {
	color: var(--brand-orange);
}
/* Overlay menu available at all breakpoints */
.mobile-menu-overlay-wrapper {
	display: block !important;
}
.navbar-responsive-collapse,
.navbar-responsive-collapse.in {
	display: none !important;
	visibility: hidden !important;
}
body.mobile-menu-open {
	overflow: hidden;
	position: fixed;
	width: 100%;
	left: 0;
	right: 0;
}
.nav > li > a {
	position: relative;
	margin: 0;
	padding: clamp(10px, 2vw, 14px);
	font-size: clamp(14px, 3vw, 18px);
	font-weight: 600;
	color: #000;
	border-bottom: 1px #ffffff solid;
   	/* border-top:  1px #ffffff solid; */
	text-transform: uppercase;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
	color: var(--brand-orange);
	background-color: transparent;
	/*padding-bottom: 15px; */
	/* border-bottom: 1px #ffffff solid; */
   	/*border-top: 1px #ffffff solid; */
}
.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
	color: var(--brand-orange);
	background-color: transparent;
   	border-bottom: 1px #ffffff solid;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
	background-color: transparent;
	color: #000;
	border-bottom: 0 transparent solid;
   	border-top: 0 transparent solid;
   	background-image: url("/img/navborder-bottom.png");
	background-repeat: no-repeat;
	background-position: bottom left;
}
.navbar-nav .open .dropdown-menu > li > a,
.navbar-nav .open .dropdown-menu .dropdown-header {
	margin-left: 15px;
	padding: 10px 0;
	border-bottom: none;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
	background-color: transparent;
}
/* ===  WIDTH-NAVBAR TABLET  ===  */
.top-header .container,
.navbar .container,
#topNav > .container {
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
	box-sizing: border-box;
}
/* ===  /WIDTH-NAVBAR TABLET  ===  */
}
/* ===============  /max-width 991 (TABLET+SMARTPHONE) ===============  */
/* ===============  max-width 768 (SMARTPHONE) ===============  */

@media screen and (max-width: 767px) {

.margintop-h2 h2 {
  margin-top: 0;
}
  
.item-floatbox-padding-left {
   	padding-left: 0;
   	text-align: center;
} 
/* Colombia-style mobile navbar */
.navbar {
	height: 76px;
}
.item-box {
	padding: 20px 45px;
	border: 1px solid #E5EAEA;
	width: 260px;
}
.item-floatbox-padding-left {
	padding-left: 0;
}
.item-floatbox {
	display:block;
}

  .featured-box-container {
    margin: 40px 0 50px 0;
}
.img-thumbnail {
	width: 298px;
}
/* Product pages (Preguntas, Ejemplo): wider on mobile */
.margintop-h2 .col-maxwidth {
	max-width: none;
}
.margin-minus {
	margin-left: 0;
	margin-right: 0;
}
/* Broken 3-col grid on .container removed — it crushed the gallery to 1/3 width */
.wm-contentmodule.wm-gallery .container {
	padding-left: 15px;
	padding-right: 15px;
	display: block !important;
}
.wm-gallery-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	width: 100%;
	margin: 0 0 24px;
}
.wm-gallery-item {
	display: block;
	width: 100%;
	margin: 0;
}
.wm-contentmodule.wm-gallery .img-thumbnail {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background-color: #fff;
}
.wm-contentmodule.wm-gallery .pull-left {
	float: none !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box;
}
.wm-contentmodule.wm-gallery .pull-left img {
	width: 100%;
	height: auto;
}
.item-box {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}
.item-linkbox {
	width: 100%;
	max-width: none;
}
.item-linkbox .btn {
	width: 100%;
}
.navbar-brand > img,
.navbar-brand .navbar-logo {
	height: 42px;
}
.navbar-brand {
	min-height: 60px;
}
.navbar-toggle {
	margin-top: 0;
	margin-right: 0;
}
.header-image {
	height: var(--hero-band-height);
	margin-bottom: var(--hero-band-margin);
}
/* Medio ambiente: reduce space before title on mobile */
.environment-hero .header-image {
	margin-bottom: 40px;
}
.header-text {
	position: relative;
	top: auto;
	bottom: auto;
	padding: 20px 0 8px;
	max-width: 100%;
}
.header-text h3 {
    margin: 12px 0 0 0;
}

.btn-group, .btn-group-vertical {
	margin-bottom: 30px;
}
.bottom60 {
	margin-bottom: 50px;
}

h1 {
	font-size: 1.625rem;
	margin-bottom: 15px;
}
h2 {
	margin: 20px 0 10px 0;
  	font-size: 1.375rem;
}
h3 {
	margin: 20px 0;
	font-size: 1.1rem;
	font-weight: 700;
}

footer .footer-content {
    margin: 40px 0 0;
}

footer h3 {
	padding-bottom: 10px;
	margin: 30px 0 10px 0;
}
hr {
	border: 0;
	margin: 40px 0 30px 0;
	border-top: #e5e5e5 1px solid;
}
  
/* ===  Carousel-caption  ===  */
.carousel-hero-wrapper {
	padding-bottom: 50px;
	margin-bottom: 30px;
}
.carousel {
	height: 630px;
	margin-bottom: 0;
	overflow: visible;
}
.carousel .carousel-indicators {
	bottom: -45px;
	left: 50%;
	transform: translateX(-50%);
	margin-left: 0;
}
.carousel-inner .item .carousel-caption {
	top: 360px;
}
.carousel-inner > .item > img {
	height: 350px;
	min-width: 100%;
	object-fit: cover;
}
.carousel-caption {
	text-align: left;
	padding: 0 15px 0 0;
}
/* ===  /Carousel-caption  ===  */
/* === Colored box === */
.featured-box {
	padding: 25px 0;
}
.featured-box img,
.featured-box .featured-box-icon {
	width: 60px;
	float: left;
	padding-right: 20px;
}
.featured-box .featured-box-icon {
	font-size: 2.75rem !important;
	width: 2.75rem !important;
	height: 2.75rem !important;
	line-height: 1 !important;
	color: #fff;
}
.featured-box h4 {
	display: table;
	text-align: left;
}
#drop .btn-default {
	margin-bottom: 30px;
	max-width: 100%;
}
#drop .dropdown-menu {
	width: 100%;
}
}
@media screen and (max-width: 414px) {

ul, ol {
	padding-left: 15px;
} 
.produktbox-text {
    height: auto;
}
  
.pull-left:nth-child(n) {
    margin-right: 0;
}  
.carousel {
	height: 510px;
	margin-bottom: 0;
}
.carousel .item {
	background-color: #fff;
}
.carousel-inner .item .carousel-caption {
	top: 230px;
}
.carousel-inner > .item > img {
	height: 220px;
	min-width: 100%;
	object-fit: cover;
}
.map {
   	width: 100%;
   	margin-left: auto;
   	margin-right: auto;
   	left: auto;
   	overflow: visible;
}
.map-image {
	position: relative;
	min-width: 0;
	width: 100%;
}
.map-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* In-mould labels */


.btn-produkt-iml:focus,
.btn-produkt-iml.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-iml:active,
.btn-produkt-iml.active,
.open > .dropdown-toggle.btn-produkt-iml {
  	background-color: transparent;
  	border-color: transparent;
}
/* Sachets */


.btn-produkt-sac:focus,
.btn-produkt-sac.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-sac:active,
.btn-produkt-sac.active,
.open > .dropdown-toggle.btn-produkt-sac {
  	background-color: transparent;
  	border-color: transparent;
}
/* Laminates */


.btn-produkt-lam:focus,
.btn-produkt-lam.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-lam:active,
.btn-produkt-lam.active,
.open > .dropdown-toggle.btn-produkt-lam {
  	background-color: transparent;
  	border-color: transparent;
}
/* Shrink sleevers */


.btn-produkt-shr:focus,
.btn-produkt-shr.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-shr:active,
.btn-produkt-shr.active,
.open > .dropdown-toggle.btn-produkt-shr {
  	background-color: transparent;
  	border-color: transparent;
}
/* self-adhesive labels */


.btn-produkt-sal:focus,
.btn-produkt-sal.focus {
  	background-color: transparent;
  	border-color: transparent;
}

.btn-produkt-sal:active,
.btn-produkt-sal.active,
.open > .dropdown-toggle.btn-produkt-sal {
  	background-color: transparent;
  	border-color: transparent;
}



  
}
@media screen and (max-width: 320px) { 	
#drop .dropdown-menu {
   	width: 100%;    
}
.navbar-brand > img,
.navbar-brand .navbar-logo {
	height: 38px;
	max-width: 150px;
}
}

/* Simple Cookie Banner */
#simple-cookie-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: #fff;
	border-top: 2px solid var(--brand-orange);
	box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
	z-index: 10000;
	padding: 20px;
	max-width: 100%;
	box-sizing: border-box;
}

.cookie-banner-content {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}

.cookie-banner-text {
	flex: 1;
	min-width: 300px;
}

.cookie-banner-text h3 {
	margin: 0 0 10px 0;
	font-size: 1.2rem;
	color: #000000;
}

.cookie-banner-text p {
	margin: 0 0 15px 0;
	font-size: 0.9rem;
	color: #666;
}

.cookie-toggles {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 10px;
}

.cookie-toggle-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.9rem;
	cursor: pointer;
}

.cookie-toggle-item input[type="checkbox"] {
	width: 18px;
	height: 18px;
	cursor: pointer;
}

.cookie-toggle-item span:first-child {
	font-weight: 600;
	color: #000000;
}

.toggle-label {
	color: #666;
	font-size: 0.85rem;
}

.cookie-banner-buttons {
	display: flex;
	gap: 10px;
	flex-shrink: 0;
}

.cookie-btn {
	padding: 10px 20px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 0.9rem;
	font-weight: 600;
	transition: background 0.2s;
}

.cookie-btn-primary {
	background: var(--brand-orange);
	color: #fff;
}

.cookie-btn-primary:hover {
	background: #d97700;
}

.cookie-btn-secondary {
	background: #e5e5e5;
	color: #000000;
}

.cookie-btn-secondary:hover {
	background: #d0d0d0;
}

@media (max-width: 768px) {
	.cookie-banner-content {
		flex-direction: column;
		align-items: stretch;
	}
	
	.cookie-banner-buttons {
		width: 100%;
		flex-direction: column;
	}
	
	.cookie-btn {
		width: 100%;
	}
}

/* Careers page */
.careers-intro {
  margin-bottom: 30px;
}
.careers-intro h2 {
  margin-top: 0;
}
.careers-section {
  margin-bottom: 40px;
}
.careers-section h2 {
  margin-bottom: 20px;
}
.careers-benefits-list {
  list-style: none;
  padding: 0;
  margin: 20px 0 0 0;
}
.careers-benefit-item {
  padding: 20px 24px 20px 28px;
  border-left: 4px solid var(--brand-orange);
  margin-bottom: 12px;
  background: #fafafa;
}
.careers-benefit-item:last-child {
  margin-bottom: 0;
}
.careers-benefit-title {
  display: block;
  color: var(--brand-orange);
  font-size: 1.05rem;
  margin-bottom: 6px;
}
.careers-benefit-desc {
  display: block;
  line-height: 1.6;
  color: #000000;
}
.careers-vacancy-callout {
  padding: 25px 30px;
  background: #ffffff;
  border-left: 4px solid var(--brand-orange);
  margin-bottom: 40px;
}
.careers-vacancy-callout h3 {
  margin: 0 0 15px 0;
}
.careers-vacancy-callout a {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.careers-vacancy-callout a.btn {
  white-space: normal;
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 767px) {
  .careers-vacancy-callout a.btn {
    display: block;
    width: 100%;
    line-height: 1.35;
  }
}
.careers-cta-section {
  padding: 30px 0;
  text-align: center;
  border-top: 1px solid #E5EAEA;
}
.careers-cta-section h3 {
  margin-top: 0;
  margin-bottom: 15px;
}
.careers-cta-section p {
  margin-bottom: 20px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.careers-cta-footnote {
  margin-top: 20px !important;
  font-size: 0.9rem;
  color: #666;
}

/* Honeypot: hidden from users, visible to bots - do not use inline styles */
.form-website-field {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}

/* === CTI brand chrome (Omnipack reskin 2026) === */
/* Icon sizing is defined once at top of file — do not reintroduce padding/margin on glyphs */

.site-footer-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--icon-hit);
	height: var(--icon-hit);
	margin: 0;
	padding: 0;
	color: #fff;
}
.site-footer-social-link .ph-light {
	font-size: var(--icon-size);
	width: var(--icon-size);
	height: var(--icon-size);
	line-height: 1;
	margin: 0;
	padding: 0;
}

.cti-gradient-band,
.header-image,
.hero-static {
	position: relative;
	overflow: hidden;
	background-color: var(--cti-gradient-base);
	isolation: isolate;
}
.cti-gradient-band::before,
.header-image::before,
.hero-static::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	width: auto;
	height: auto;
	background-color: var(--cti-gradient-base);
	background-image: var(--cti-gradient-image);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: var(--cti-gradient-opacity);
	pointer-events: none;
}
.cti-gradient-band > *,
.header-image > .hero-graphic,
.header-image .container,
.hero-static > * {
	position: relative;
	z-index: 1;
}
.header-image {
	height: var(--hero-band-height);
	min-height: var(--hero-band-height);
	max-height: var(--hero-band-height);
	margin-bottom: var(--hero-band-margin);
	padding-top: 0;
	box-sizing: border-box;
}
/* Gradient-only pages: no photo; brand gradient comes from ::before */
.header-image:not(.header-image--photo) {
	background-image: none !important;
}
.header-image > .hero-graphic { position: absolute; }

.hero-graphic {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: min(52vw, 560px);
	max-width: 100%;
	pointer-events: none;
	line-height: 0;
	transform: translate(28%, 32%);
}
.hero-graphic picture,
.hero-graphic img {
	display: block;
	width: 100%;
	height: auto;
}
@media (max-width: 767px) {
	.hero-graphic {
		width: min(70vw, 360px);
		transform: translate(22%, 28%);
	}
}

.hero-static {
	position: relative;
	height: 50vh;
	min-height: 50vh;
	max-height: none;
	display: block;
	overflow: hidden;
	margin-bottom: var(--hero-band-margin);
	background-color: var(--cti-gradient-base);
	box-sizing: border-box;
}
.hero-static-media {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.hero-static-media::before {
	display: none; /* gradient comes from .hero-static::before */
}
.hero-static-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0; /* visual from shared ::before; img kept for LCP */
}
.hero-static .hero-graphic { z-index: 2; }
.hero-static-content {
	position: relative;
	z-index: 3;
	padding-bottom: clamp(48px, 8vh, 96px);
	color: #fff;
}
.hero-static-title {
	font-family: var(--font-light);
	font-weight: 300;
	font-size: clamp(2.4rem, 6vw, 4rem);
	line-height: 1.05;
	color: #fff;
	margin: 0 0 16px;
	max-width: 36rem;
}
.hero-static-text {
	max-width: 28rem;
	color: #fff;
	font-weight: 300;
	font-size: 1.15rem;
	line-height: 1.45;
	margin: 0 0 28px;
}

/* Dual navbar logos */
.navbar-wrapper { width: 100%; }
.cti-navbar-brand {
	display: flex;
	align-items: center;
	position: relative;
	padding: 0 0 0 15px;
	height: auto;
}
.cti-navbar-logo {
	height: 42px;
	width: auto;
	max-width: 190px;
	object-fit: contain;
}
.cti-navbar-logo--dark { display: none !important; }
.cti-navbar-logo--light { display: block !important; }

#topNav.navbar-fixed-top.navbar-transparent {
	background-color: transparent !important;
	box-shadow: none !important;
	border: none !important;
	border-width: 0 !important;
}
#topNav.navbar-fixed-top:not(.navbar-transparent) {
	background-color: #fff !important;
	box-shadow: none !important;
}
/* Scrolled solid bar only — at rest over heroes stay white logo/links */
#topNav.navbar-fixed-top:not(.navbar-transparent) .cti-navbar-logo--dark {
	display: block !important;
}
#topNav.navbar-fixed-top:not(.navbar-transparent) .cti-navbar-logo--light {
	display: none !important;
}
/* Over heroes (all pages): white logo + links + lang buttons */
#topNav.navbar-transparent .nav > li > a,
#topNav.navbar-transparent #menu-toggle-button,
#topNav.navbar-transparent .navbar-toggle,
#topNav.navbar-transparent #menu-button::before,
#topNav.navbar-transparent .navbar-lang,
#topNav.navbar-transparent .navbar-lang-btn,
.top-header.navbar-top .nav > li > a,
.top-header.navbar-top #menu-toggle-button,
.top-header.navbar-top .navbar-toggle,
.top-header.navbar-top #menu-button::before,
.top-header.navbar-top .navbar-lang,
.top-header.navbar-top .navbar-lang-btn {
	color: #fff;
}
.top-header.navbar-top .cti-navbar-logo--dark {
	display: none !important;
}
.top-header.navbar-top .cti-navbar-logo--light {
	display: block !important;
}
#topNav.navbar-fixed-top:not(.navbar-transparent) .nav > li > a,
#topNav.navbar-fixed-top:not(.navbar-transparent) #menu-toggle-button,
#topNav.navbar-fixed-top:not(.navbar-transparent) .navbar-toggle,
#topNav.navbar-fixed-top:not(.navbar-transparent) #menu-button::before,
#topNav.navbar-fixed-top:not(.navbar-transparent) .navbar-lang,
#topNav.navbar-fixed-top:not(.navbar-transparent) .navbar-lang-btn {
	color: var(--brand-dark);
}
/* ==== Language picker — one behavior in EVERY navbar state ====
   OPEN (toggle + every option) or active  → white fill, black text.
   HOVER (same selector + :hover, so it always wins) → text flips to orange.
   `.is-open .navbar-lang-btn` covers both the toggle and the menu options. */
#topNav .navbar-lang.is-open .navbar-lang-btn,
#topNav .navbar-lang-btn.is-active {
	color: var(--brand-dark) !important;
	background-color: #fff !important;
	border-color: var(--brand-orange) !important;
}
#topNav .navbar-lang.is-open .navbar-lang-btn:hover,
#topNav .navbar-lang.is-open .navbar-lang-btn:focus,
#topNav .navbar-lang-btn.is-active:hover,
#topNav .navbar-lang-btn.is-active:focus,
#topNav .navbar-lang .navbar-lang-btn:hover,
#topNav .navbar-lang .navbar-lang-btn:focus {
	color: var(--brand-orange) !important;
	background-color: #fff !important;
	border-color: currentColor !important;
}
/* Dropdown options sit in a column under the toggle */
#topNav .navbar-lang-menu {
	padding: 8px 0 0;
	background: transparent;
	box-shadow: none;
}
.navbar-default .navbar-nav > li > a,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover {
	border-bottom: none !important;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
	color: inherit;
}

.hero-graphic img { opacity: 1 !important; }

/* Footer on gradient band — CSS grid (no Bootstrap columns) */
footer.site-footer,
.site-footer {
	color: #fff;
	font-family: var(--font-light);
	font-size: 0.95rem;
	font-weight: 300;
	line-height: 1.55;
	height: auto;
	min-height: 0;
	overflow: hidden;
	margin-top: clamp(48px, 8vw, 80px);
	/* Orange fallback only — gradient should cover fully */
	background-color: var(--brand-orange);
}

footer.site-footer.cti-gradient-band,
.site-footer.cti-gradient-band {
	height: auto;
	min-height: 0;
	overflow: hidden;
	background-color: var(--brand-orange);
}

/* Footer: same brand gradient image, always cover */
footer.site-footer.cti-gradient-band::before,
.site-footer.cti-gradient-band::before {
	background-image: var(--cti-gradient-image);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.site-footer-main {
	padding: clamp(40px, 7vw, 72px) 0 clamp(28px, 5vw, 48px);
	background: transparent;
}
.site-footer-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(28px, 4vw, 40px) clamp(20px, 3vw, 36px);
	align-items: start;
}
.site-footer-col {
	min-width: 0;
	margin: 0;
	float: none;
	width: auto;
}
.site-footer-brand {
	display: inline-block;
	margin-bottom: 18px;
}
.site-footer-brand img {
	display: block;
	height: 36px;
	width: auto;
	max-width: 180px;
	object-fit: contain;
	margin: 0;
}
.site-footer-address,
.site-footer address {
	margin: 0;
	font-style: normal;
	font-size: 0.9rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.88);
}
.site-footer-address a,
.site-footer address a {
	color: rgba(255, 255, 255, 0.88);
	text-decoration: none;
}
.site-footer-address a:hover,
.site-footer-address a:focus {
	color: #fff;
}
.site-footer-heading {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	font-family: var(--font-light);
	font-size: 0.8rem;
	font-weight: 300;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
}
.site-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-footer-links li {
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
}
.site-footer-links a {
	color: rgba(255, 255, 255, 0.88);
	text-decoration: none;
	font-weight: 300;
}
.site-footer-links a:hover,
.site-footer-links a:focus {
	color: #fff;
}
.site-footer .footer-doc {
	display: inline-block;
	max-width: 100%;
}
.site-footer .footer-img {
	display: block;
	width: 100%;
	max-width: 220px;
	height: auto;
}
.site-footer-social {
	display: flex;
	gap: 4px;
	margin-top: 18px;
	align-items: center;
}
.site-footer-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--icon-hit);
	height: var(--icon-hit);
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: var(--icon-size);
}
.site-footer-social-link .ph-light {
	font-size: var(--icon-size);
	width: var(--icon-size);
	height: var(--icon-size);
	margin: 0;
	padding: 0;
	line-height: 1;
}
.site-footer-bar {
	padding: 18px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	border-bottom: none;
	color: rgba(255, 255, 255, 0.75);
}
.site-footer-bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}
.site-footer-legal {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 0;
	padding: 0;
}
.site-footer-legal a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
	font-weight: 300;
}
.site-footer-legal a:hover,
.site-footer-legal a:focus {
	color: #fff;
}
.site-footer-member {
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	color: rgba(255, 255, 255, 0.75);
}
.site-footer-member img {
	display: inline-block;
	height: 22px;
	width: auto;
	vertical-align: middle;
}

@media screen and (max-width: 1199px) {
	.site-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 32px 24px;
	}
	.site-footer-bar-inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media screen and (max-width: 767px) {
	.site-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 24px 16px;
	}
	.site-footer .footer-img {
		max-width: 100%;
	}
	.site-footer-legal {
		flex-direction: column;
		gap: 10px;
	}
}
.header-text {
	z-index: 2;
	color: var(--brand-dark);
}
.header-text h1,
.header-text h3 {
	color: var(--brand-dark);
}

.header-image--photo {
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-color: transparent;
}
/* Product heroes need the photo visible for hotspots — no brand-gradient wash */
.header-image--photo::before {
	display: none;
}
/* Title/hotspot overlay sits over the photo hero */
.header-image--photo + main > .header-objekte,
main > .header-objekte {
	z-index: 2;
}

/* Absolute overlay navbar (matches CTI Group) */
.navbar-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
	width: 100%;
}
.top-header.navbar,
#topNav {
	background-color: transparent;
	border: 0;
	box-shadow: none;
}

/* Hero static — homepage: taller viewport band */
.hero-static {
	position: relative;
	overflow: hidden;
	height: 50vh;
	min-height: 50vh;
	max-height: none;
	margin-bottom: var(--hero-band-margin);
	background-color: var(--cti-gradient-base);
	color: #fff;
	display: block;
	box-sizing: border-box;
}
.hero-static-media {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.hero-static-media::before { display: none; }
.hero-static-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0; /* visual from shared ::before */
}
.hero-static-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
	padding-top: 90px;
	padding-bottom: clamp(24px, 4.5vh, 44px);
}
.hero-static-title {
	margin: 0 0 clamp(10px, 1.8vh, 18px);
	font-family: var(--font-light);
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 300;
	line-height: 1.05;
	color: #fff;
	max-width: 36rem;
}
.hero-static-text {
	max-width: 28rem;
	margin: 0 0 clamp(14px, 2.2vh, 22px);
	font-family: var(--font-light);
	font-size: clamp(0.95rem, 1.4vw, 1.125rem);
	font-weight: 300;
	line-height: 1.45;
	color: #fff;
}

/* Gradient headers: white title text */
.header-text h1,
.header-text h3,
.header-text .header-subtext {
	color: #fff;
}

/* Title block lives inside the band (desktop: pin bottom, align with page .container) */
.header-image {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center; /* don't stretch .container to full bleed */
}
.header-image > .container.header-image-content,
.header-image-content.container {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 90px;
	padding-bottom: clamp(20px, 3.5vh, 40px);
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
	align-self: center;
	flex: 0 0 auto;
}
.header-image .header-text {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	padding: 0;
	margin: 0;
	max-width: 36rem;
}
.header-image .header-text h1 {
	margin: 0 0 0.35em;
	font-family: var(--font-light);
	font-weight: 300;
	font-size: clamp(1.85rem, 4.5vw, 3rem);
	line-height: 1.15;
	color: #fff;
}
.header-image .header-text h3,
.header-image .header-text .header-subtext {
	margin: 0;
	font-family: var(--font-light);
	font-weight: 300;
	font-size: clamp(1rem, 2.2vw, 1.35rem);
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.92);
	max-width: 28rem;
}

/* Homepage hero copy: same container alignment + text measure */
.hero-static-content.container {
	width: 100%;
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}
.hero-static-title {
	max-width: 36rem;
}
.hero-static-text {
	max-width: 28rem;
}

/* Gradient / photo headers share one band size — no extra padding */
.header-image,
.header-image.header-image--photo {
	height: var(--hero-band-height) !important;
	min-height: var(--hero-band-height) !important;
	max-height: var(--hero-band-height) !important;
	margin-bottom: var(--hero-band-margin) !important;
	padding-top: 0 !important;
	box-sizing: border-box !important;
}

/* Default over heroes: white logo + chrome (all pages) */
.cti-navbar-logo--dark { display: none !important; }
.cti-navbar-logo--light { display: block !important; }
#topNav {
	--nav-chrome: #fff;
}
#topNav .nav > li > a,
#topNav #menu-toggle-button,
#topNav .navbar-toggle,
#topNav #menu-button,
#topNav #menu-button::before,
#topNav .navbar-lang,
#topNav .navbar-lang-btn {
	color: var(--nav-chrome) !important;
	font-weight: 300;
	transition: none;
}

/* Scrolled solid bar: dark logo + chrome — same instant flip */
#topNav.navbar-fixed-top:not(.navbar-transparent) {
	--nav-chrome: var(--brand-dark);
	background-color: #fff !important;
	box-shadow: none !important;
}
#topNav.navbar-fixed-top:not(.navbar-transparent) .cti-navbar-logo--dark {
	display: block !important;
}
#topNav.navbar-fixed-top:not(.navbar-transparent) .cti-navbar-logo--light {
	display: none !important;
}
/* Scrolled-bar language picker states handled by the unified rules above
   (search "Language picker — one behavior in EVERY navbar state"). */

/* === Uniform hero band (final lock) — one breakpoint below desktop === */
@media screen and (max-width: 1199px) {
	:root {
		--hero-band-height: clamp(240px, 42vw, 360px);
		--hero-band-margin: clamp(40px, 8vw, 64px);
	}
}
.header-image,
.header-image.header-image--photo {
	height: var(--hero-band-height) !important;
	min-height: var(--hero-band-height) !important;
	max-height: var(--hero-band-height) !important;
	margin-bottom: var(--hero-band-margin) !important;
	padding-top: 0 !important;
	box-sizing: border-box !important;
}
.hero-static {
	height: 50vh !important;
	min-height: 50vh !important;
	max-height: none !important;
	margin-bottom: var(--hero-band-margin) !important;
	padding-top: 0 !important;
	box-sizing: border-box !important;
}


/* === Contact page details + Phosphor icon replacements === */
.contact-page-intro {
	margin-top: 20px;
}
.contact-address-block .contact-detail {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 0 0 1rem;
}
.contact-address-block .contact-detail .ph-light {
	flex: 0 0 auto;
	margin-top: 0.2em;
	color: var(--brand-primary);
	font-size: 1.5rem;
	width: 1.5rem;
	height: 1.5rem;
}
.contact-address-block .contact-detail a {
	color: inherit;
}
.contact-sidebar-icon-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.5rem;
	height: 4.5rem;
	min-width: 4.5rem;
	min-height: 4.5rem;
	border-radius: 50%;
	border: none;
	box-shadow: inset 0 0 0 1.5px var(--brand-orange);
	color: var(--brand-orange);
	text-decoration: none;
	background-color: transparent;
	background-image: none !important;
	box-sizing: border-box;
	overflow: hidden;
	line-height: 0;
	transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.contact-sidebar-icon-link:hover,
.contact-sidebar-icon-link:focus {
	color: #fff;
	background-color: var(--brand-orange);
	background-image: none !important;
	box-shadow: inset 0 0 0 1.5px var(--brand-orange);
	text-decoration: none;
}
.contact-sidebar-icon {
	font-size: 1.75rem !important;
	width: 1.75rem !important;
	height: 1.75rem !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit;
	display: block !important;
}
/* Questions? column: center content horizontally */
.contact-sidebar {
	text-align: center;
}
.contact-sidebar h3 {
	text-align: center;
}
.contact-sidebar .item-box,
.contact-sidebar .item-linkbox {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.contact-sidebar .item-floatbox {
	float: none !important;
	display: block;
	width: 100%;
	margin: 0 auto;
	padding-left: 0 !important;
	padding-right: 0 !important;
	text-align: center;
}
.contact-sidebar .item-floatbox-pull-right,
.contact-sidebar .item-floatbox-pull-right-tel {
	float: none !important;
	margin: 0 auto !important;
}
.contact-sidebar .btn {
	margin-left: auto;
	margin-right: auto;
}
.featured-box .featured-box-icon {
	display: inline-block;
	font-size: 3.25rem !important;
	width: 3.25rem !important;
	height: 3.25rem !important;
	line-height: 1 !important;
	color: #fff;
}

/* === Mobile layout hard lock (navbar / map / footer) === */
@media screen and (max-width: 1199px) {
	#mobile-menu-overlay {
		z-index: 1040;
	}
	.navbar-wrapper,
	.navbar-wrapper .navbar,
	#topNav {
		width: 100% !important;
		max-width: none !important;
	}
	.navbar-header {
		width: 100%;
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		float: none;
	}
	.navbar-header::before,
	.navbar-header::after,
	.navbar .container::before,
	.navbar .container::after,
	.navbar::before,
	.navbar::after {
		content: "" !important;
		display: none !important;
	}
	.cti-navbar-brand {
		padding-left: 0;
		max-width: calc(100% - 7.5rem);
	}
}

@media screen and (max-width: 767px) {
	.map {
		width: 100% !important;
		margin: 0 auto !important;
		left: auto !important;
		overflow: hidden !important;
	}
	.map-image {
		min-width: 0 !important;
		width: 100% !important;
	}
	.map-caption > a {
		min-width: 18px;
		min-height: 18px;
	}
	.item-box {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}
	.item-linkbox {
		width: 100% !important;
		max-width: 100%;
	}
	.featured-box {
		padding: 28px 12px;
		text-align: center !important;
	}
	.featured-box img,
	.featured-box .featured-box-icon {
		float: none !important;
		padding-right: 0 !important;
		margin: 0 auto 8px;
		display: inline-block;
	}
	.featured-box h4 {
		display: block;
		text-align: center !important;
		float: none;
	}
	.site-footer-col {
		margin-bottom: 28px;
	}
	.site-footer .footer-img,
	.site-footer-col .footer-img {
		max-width: 100%;
		height: auto;
	}
	.site-footer-bar-inner {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
	.site-footer-legal,
	.site-footer-member {
		margin: 0;
		float: none;
	}
	.site-footer-member img {
		display: inline-block;
		vertical-align: middle;
		height: 22px;
		width: auto;
	}
	.header-text {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		padding: 16px 0 8px !important;
	}
	.header-image .header-text {
		padding: 0 !important;
	}
}

@media screen and (min-width: 768px) {
	.site-footer-bar-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 24px;
	}
	.site-footer-legal,
	.site-footer-member {
		margin: 0;
	}
}

.site-footer-col {
	margin-bottom: 0;
}

/* Home + interior heroes: keep copy inside the band below desktop */
@media screen and (max-width: 1199px) {
	.hero-static {
		height: 50vh !important;
		min-height: 50vh !important;
		max-height: none !important;
		overflow: hidden;
	}
	.hero-static-content {
		padding-top: clamp(72px, 12vw, 96px) !important;
		padding-bottom: clamp(20px, 4vw, 32px) !important;
		height: 100% !important;
		min-height: 0;
		justify-content: flex-end;
	}
	.hero-static-title {
		font-size: clamp(1.75rem, 6vw, 3rem) !important;
	}
	.header-image,
	.header-image.header-image--photo {
		height: auto !important;
		min-height: clamp(240px, 42vw, 360px) !important;
		max-height: none !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-end !important;
		align-items: center !important;
		overflow: hidden;
	}
	.header-image-content,
	.header-image > .container.header-image-content {
		width: 100% !important;
		max-width: 1170px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-top: clamp(72px, 12vw, 96px) !important;
		padding-bottom: clamp(16px, 3vw, 28px) !important;
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
	.header-image .header-text {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		padding: 0 !important;
		max-width: 36rem;
	}
	.header-image .header-text h1 {
		font-size: clamp(1.6rem, 7vw, 2.4rem) !important;
	}
	.header-image .header-text h3,
	.header-image .header-text .header-subtext {
		font-size: clamp(0.95rem, 3.4vw, 1.1rem) !important;
		max-width: 28rem;
	}
}

/* === Single layout breakpoint: desktop ≥1200 / clamped ≤1199 === */
@media screen and (max-width: 1199px) {
	
	#topNav #menu-toggle-button,
	#topNav .navbar-toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 2.75rem !important;
		height: 2.75rem !important;
		min-width: 2.75rem !important;
		min-height: 2.75rem !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid currentColor !important;
		border-radius: 50% !important;
		background: transparent !important;
		float: none !important;
		gap: 0 !important;
		flex: 0 0 2.75rem;
	}
	#topNav #menu-button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: var(--icon-size) !important;
		height: var(--icon-size) !important;
		margin: 0 !important;
	}
	#topNav #menu-button::before {
		margin: 0 !important;
		line-height: 1 !important;
	}
	.navbar-header {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		float: none !important;
		min-height: clamp(56px, 10vw, 72px);
	}
	.cti-navbar-logo {
		height: clamp(28px, 6vw, 36px) !important;
		max-height: clamp(28px, 6vw, 36px) !important;
		max-width: clamp(120px, 42vw, 170px) !important;
	}
	.header-text {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		padding: clamp(16px, 3vw, 28px) 0 clamp(8px, 2vw, 16px) !important;
	}
	.header-image .header-text {
		padding: 0 !important;
	}
	.map {
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		overflow: hidden !important;
	}
	.map-image {
		min-width: 0 !important;
		width: 100% !important;
	}
	/* Footer: orange fallback + gradient covers full stacked height, left-aligned */
	.site-footer,
	footer.site-footer,
	footer.site-footer.cti-gradient-band {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: hidden !important;
		background-color: var(--brand-orange) !important;
	}
	.header-image::before,
	.hero-static::before,
	.cti-gradient-band:not(.site-footer)::before,
	footer.site-footer.cti-gradient-band::before,
	.site-footer.cti-gradient-band::before {
		background-image: var(--cti-gradient-image) !important;
		background-size: cover !important;
		background-position: center !important;
		background-repeat: no-repeat !important;
		inset: 0 !important;
		width: auto !important;
		height: auto !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
	}
	.hero-static,
	.header-image,
	.site-footer,
	footer.site-footer {
		background-color: var(--brand-orange) !important;
	}
	.hero-static,
	.header-image,
	.container-wrapper {
		margin-top: 0 !important;
	}
	body > .container-wrapper {
		padding-top: 0 !important;
	}
	.site-footer-main,
	.site-footer-bar {
		height: auto;
		overflow: visible;
	}
	.site-footer-bar-inner {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: clamp(12px, 3vw, 24px);
	}
	.site-footer-col {
		margin-bottom: clamp(20px, 4vw, 32px);
	}
	.featured-box {
		padding: clamp(24px, 4vw, 40px) clamp(8px, 2vw, 16px);
		text-align: center !important;
	}
	.featured-box img,
	.featured-box .featured-box-icon {
		float: none !important;
		padding-right: 0 !important;
	}
	.featured-box h4 {
		display: block;
		text-align: center !important;
	}
	.item-box,
	.item-linkbox {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}
}

@media screen and (min-width: 1200px) {
	/* One-row navbar: logo | language | burger — overlay for nav links */
	#topNav > .container {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: nowrap;
	}
	#topNav > .container::before,
	#topNav > .container::after,
	#topNav::before,
	#topNav::after,
	#topNav .navbar-header::before,
	#topNav .navbar-header::after {
		content: none !important;
		display: none !important;
	}
	#topNav .navbar-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		float: none;
		width: 100%;
		margin: 0;
		min-height: 72px;
		padding: 8px 0;
	}
	#topNav .cti-navbar-brand {
		flex: 0 1 auto;
		margin-right: 16px;
	}
	#topNav .navbar-lang {
		display: flex;
		flex: 0 0 var(--icon-hit);
		width: var(--icon-hit);
		margin-left: auto;
		margin-right: 12px;
	}
	#topNav .navbar-lang-btn,
	#topNav .navbar-lang-toggle {
		width: var(--icon-hit);
		height: var(--icon-hit);
		min-width: var(--icon-hit);
		min-height: var(--icon-hit);
		max-width: var(--icon-hit);
		max-height: var(--icon-hit);
		border-radius: 50%;
		padding: 0;
	}
	#topNav #menu-toggle-button,
	#topNav .navbar-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex: 0 0 2.75rem;
		width: 2.75rem;
		height: 2.75rem;
		min-width: 2.75rem;
		min-height: 2.75rem;
		margin: 0;
		padding: 0;
		border: 1px solid currentColor;
		border-radius: 50%;
		background: transparent;
		float: none;
	}
}

/* Dual logo: never show both (navbar-brand > img was winning on mobile) */
#topNav .cti-navbar-logo--dark {
	display: none !important;
}
#topNav .cti-navbar-logo--light {
	display: block !important;
}
#topNav.navbar-fixed-top:not(.navbar-transparent) .cti-navbar-logo--dark,
#topNav:not(.navbar-transparent):not(.navbar-top) .cti-navbar-logo--dark {
	display: block !important;
}
#topNav.navbar-fixed-top:not(.navbar-transparent) .cti-navbar-logo--light,
#topNav:not(.navbar-transparent):not(.navbar-top) .cti-navbar-logo--light {
	display: none !important;
}
#topNav.navbar-transparent .cti-navbar-logo--dark,
#topNav.navbar-top .cti-navbar-logo--dark {
	display: none !important;
}
#topNav.navbar-transparent .cti-navbar-logo--light,
#topNav.navbar-top .cti-navbar-logo--light {
	display: block !important;
}

/* Open mobile menu: logo + circular toggle above overlay; dark logo; same-slot X */
.mobile-menu-close {
	display: none !important;
}
body.mobile-menu-open #topNav,
body.mobile-menu-open #topNav.navbar-fixed-top {
	z-index: 1060 !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	border: none !important;
}
body.mobile-menu-open #topNav .cti-navbar-logo--dark {
	display: block !important;
}
body.mobile-menu-open #topNav .cti-navbar-logo--light {
	display: none !important;
}
body.mobile-menu-open #topNav #menu-toggle-button,
body.mobile-menu-open #topNav .navbar-toggle,
body.mobile-menu-open #topNav #menu-button::before,
body.mobile-menu-open #topNav .navbar-lang,
body.mobile-menu-open #topNav .navbar-lang-btn {
	color: var(--brand-dark) !important;
}
/* Mobile-menu-open: same as every other state — open/active white fill+black text */
body.mobile-menu-open #topNav .navbar-lang.is-open .navbar-lang-btn,
body.mobile-menu-open #topNav .navbar-lang-btn.is-active {
	color: var(--brand-dark) !important;
	background-color: #fff !important;
	border-color: var(--brand-orange) !important;
}
body.mobile-menu-open #topNav .navbar-lang.is-open .navbar-lang-btn:hover,
body.mobile-menu-open #topNav .navbar-lang.is-open .navbar-lang-btn:focus,
body.mobile-menu-open #topNav .navbar-lang-btn.is-active:hover,
body.mobile-menu-open #topNav .navbar-lang .navbar-lang-btn:hover,
body.mobile-menu-open #topNav .navbar-lang .navbar-lang-btn:focus {
	color: var(--brand-orange) !important;
	background-color: #fff !important;
	border-color: currentColor !important;
}
body.mobile-menu-open #mobile-menu-overlay,
#mobile-menu-overlay.open {
	z-index: 1040 !important;
}
/* Keep toggle icon swap: list when closed, X when .active */
#topNav #menu-toggle-button.collapsed:not(.active) #menu-button::before {
	content: "\e2f0";
}
#topNav #menu-toggle-button.active #menu-button::before,
#topNav #menu-toggle-button:not(.collapsed) #menu-button::before {
	content: "\e4f6";
}

/* Wrapper creates stacking context — lift it with the open menu */
body.mobile-menu-open .navbar-wrapper {
	z-index: 1060 !important;
	position: relative;
}
body.mobile-menu-open .navbar-wrapper .navbar-fixed-top,
body.mobile-menu-open #topNav.navbar-fixed-top {
	z-index: 1061 !important;
}
body.mobile-menu-open .cti-navbar-brand {
	position: relative;
	z-index: 2;
}

/* Affiliate logos in map popovers */
.popover-content .popover-logo-link {
	display: inline-block;
	margin: 0 0 12px;
	line-height: 0;
	background-image: none !important;
}
.popover-content .popover-logo-link .popover-logo {
	margin: 0;
}
.popover-content .popover-logo-link:hover,
.popover-content .popover-logo-link:focus {
	opacity: 0.85;
	background-image: none !important;
}
.popover-content .popover-logo {
	display: block;
	height: 40px;
	width: auto;
	max-width: 200px;
	object-fit: contain;
	margin: 0 0 12px;
}
.popover-content .popover-logo--tall {
	height: 72px;
	max-width: 120px;
}

/* Buttons: only as wide as their content — no full-width / btn-block stretch */
.btn {
	width: auto !important;
	max-width: 100%;
}
.btn-block {
	display: inline-block !important;
	width: auto !important;
}

/* Remove leftover gray boxes / dividers around content (Bootstrap thumbnails,
   panels, wells, bordered tables, hr). Form inputs keep their borders. */
.thumbnail,
.img-thumbnail,
.panel,
.panel-default,
.panel-group,
.well,
.table-bordered,
.table-bordered > tbody > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td,
.table > tbody > tr > td,
.table > thead > tr > th {
	border-color: transparent !important;
	box-shadow: none !important;
}
/* hr dividers: no line at all (all sides, every state) */
hr,
hr.company,
hr.accord {
	border: 0 !important;
}
/* Decorative triangle pointers: no gray outline */

/* Contact / ¿Preguntas? sidebar containers: no box borders */
.contact-sidebar,
.contact-sidebar .item-container,
.contact-sidebar .item-box,
.contact-sidebar .item-linkbox,
.contact-sidebar .item-floatbox,
.item-container,
.item-box,
.item-linkbox {
	border: none !important;
}

/* Products page: full-width, evenly-spaced two-column product grid */
.products-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.products-grid {
		grid-template-columns: 1fr;
	}
}
/* Neutralize the Bootstrap column classes so the grid controls layout */
.products-grid > .col-md-5,
.products-grid > .col-sm-6 {
	width: auto;
	float: none;
	padding-left: 0;
	padding-right: 0;
}
/* Product-card button: sized to its text, not stretched across the card */
.products-grid .produktbox {
	margin-bottom: 20px;
}
.products-grid .btn,
.products-grid .btn-block {
	display: inline-block !important;
	width: auto !important;
	max-width: 100%;
}

/* Index hero Dot graphic — bigger, especially on mobile */
.hero-static .hero-graphic {
	width: min(62vw, 720px);
}
@media (max-width: 767px) {
	.hero-static .hero-graphic {
		width: min(96vw, 520px);
	}
}

/* In-text content links (e.g. company page CTI-group links) → orange.
   Excludes buttons; nav/footer links are unaffected. */
main p a:not(.btn),
main li a:not(.btn),
.content-split-copy a:not(.btn) {
	color: var(--brand-orange);
}
main p a:not(.btn):hover,
main p a:not(.btn):focus,
main li a:not(.btn):hover,
.content-split-copy a:not(.btn):hover,
.content-split-copy a:not(.btn):focus {
	color: var(--brand-orange);
	text-decoration: underline;
}


/* --- Navbar: compact + vertically-centered items (90px brand min-height pushed them down) --- */
#topNav .navbar-header {
	min-height: 0 !important;
	padding: 12px 0 !important;
	align-items: center !important;
}
.navbar-brand,
#topNav .navbar-brand,
#topNav .cti-navbar-brand {
	min-height: 0 !important;
}

/* --- Footer column titles: 1.2rem --- */
.site-footer-heading {
	font-size: 1.2rem !important;
}

/* --- Footer headings: 11px top padding --- */
.site-footer-heading {
	padding-top: 11px !important;
}

/* --- Index products title (matches Technology h2 size) --- */
.index-products-title {
	margin: 0 0 clamp(20px, 3vw, 36px);
}

/* --- Language picker borders: only the current (toggle) has a border, and it's
   black; the dropdown options have no border. --- */
#topNav .navbar-lang .navbar-lang-toggle,
#topNav .navbar-lang.is-open .navbar-lang-toggle,
.top-header .navbar-lang .navbar-lang-toggle,
.top-header .navbar-lang.is-open .navbar-lang-toggle {
	border: 1px solid #000 !important;
}
#topNav .navbar-lang-menu .navbar-lang-btn,
#topNav .navbar-lang.is-open .navbar-lang-menu .navbar-lang-btn,
.top-header .navbar-lang-menu .navbar-lang-btn,
.top-header .navbar-lang.is-open .navbar-lang-menu .navbar-lang-btn {
	border: none !important;
}

/* --- Language picker (final): toggle border white on transparent nav, black on
   scrolled nav; dropdown options borderless with a light shadow. --- */
#topNav.navbar-transparent .navbar-lang .navbar-lang-toggle,
#topNav.navbar-transparent .navbar-lang.is-open .navbar-lang-toggle,
.top-header.navbar-top .navbar-lang .navbar-lang-toggle,
.top-header.navbar-top .navbar-lang.is-open .navbar-lang-toggle {
	border: 1px solid #fff !important;
}
#topNav.navbar-fixed-top:not(.navbar-transparent) .navbar-lang .navbar-lang-toggle,
#topNav.navbar-fixed-top:not(.navbar-transparent) .navbar-lang.is-open .navbar-lang-toggle {
	border: 1px solid #000 !important;
}
#topNav .navbar-lang-menu .navbar-lang-btn,
#topNav .navbar-lang.is-open .navbar-lang-menu .navbar-lang-btn,
.top-header .navbar-lang-menu .navbar-lang-btn {
	border: none !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;
}

/* --- Language picker: when the full-screen menu is active, the toggle must flip
   to the dark (scrolled) look even though .navbar-transparent lingers while the
   menu is open — so the border matches the flipped logo/burger/text. --- */
body.mobile-menu-open #topNav .navbar-lang .navbar-lang-toggle,
body.mobile-menu-open #topNav.navbar-transparent .navbar-lang .navbar-lang-toggle,
body.mobile-menu-open #topNav.navbar-transparent .navbar-lang.is-open .navbar-lang-toggle {
	border: 1px solid #000 !important;
}
