/*
 Theme Name:   Paletti
 Author:       PixelProduction
 Author URI:   https://pixelproduction.de
 Template:     generatepress
 Version:      0.1
*/
@import url("fonts.css");

:root {
	--root: 16;
	--root-font-size: calc(1px * var(--root));
	--content-width: 1400;
	--font-size: calc(1rem * (20 / var(--root)));
	--gap: calc((40 / var(--root)) * 1rem);
	--gap-xs: calc(0.25 * var(--gap));
	--gap-sm: calc(0.35 * var(--gap));
	--gap-md: calc(0.75 * var(--gap));
	--gap-lg: calc(1.50 * var(--gap));
	--gap-xl: calc(2.00 * var(--gap));
	--gap-x: calc(1.00 * var(--gap));
	--gap-y: calc(1.00 * var(--gap));
}

@media only screen and (max-width: 767px) {
	:root {
		--root: 24;
		--gap-y: calc(1.5 * var(--gap));
	}
}

/* -- CORE -- */


* {
	box-sizing: border-box;
}

html {
	background-color: #090909;
}

a :hover {
	color: #ffffff;
}

hr.wp-block-separator {
	border-bottom: 0;
}

body {
	position: relative;
}

body:not(.wp-admin) {
	margin: 0 auto;
	max-width: 1920px;
	background-color: var(--color-base);
}

body:not(.wp-admin) main {
	overflow: hidden;
}

body #page {
	position: relative;
}

body #content {
	overflow: hidden;
}

@media only screen and (min-width: 1700px) {
	body:not(.wp-admin) main::before {
		content: "";
		position: absolute;
		top: 13rem;
		left: 0;
		background-repeat: no-repeat;
		background-image: url("/wp-content/uploads/watermark-profile.webp");
		background-size: contain;
		height: min(260px, 20vw);
		width: min(260px, 20vw);
		z-index: 5;
	}
}

@media only screen and (min-width: 769px) {
	.site-main {
		border-top: 3px solid var(--color-brand);
	}
}

.site-main .entry-content>.section:not(.masthead):first-child .content,
.site-main>.section:not(.masthead):first-child .content {
	padding-top: 8rem;
}

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

	.site-main .entry-content>.section:not(.masthead):first-child .content,
	.site-main>.section:not(.masthead):first-child .content {
		padding-top: 5rem;
	}
}

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

	.site-main .entry-content>.section:not(.masthead):first-child .content,
	.site-main>.section:not(.masthead):first-child .content {
		padding-top: 0;
	}
}

body .site .site-content {
	padding: 0;
}

hr {
	margin: calc(3 * var(--gap-y)) 0;
	background-color: var(--color-text);
	height: 0;
}

hr.is-style-xs {
	margin: calc(0.5 * var(--gap-y)) 0;
}

hr.is-style-sm {
	margin: calc(1.5 * var(--gap-y)) 0;
}

hr.is-style-md {
	margin: calc(2.25 * var(--gap-y)) 0;
}

hr.is-style-lg {
	margin: calc(4.5 * var(--gap-y)) 0;
}

hr.is-style-off {
	margin: 0;
}

hr.is-style-fill {
	flex-grow: 1;
	margin: 0;
	border: none;
	background-color: transparent;
}

@media only screen and (max-width: 1280px) {
	hr {
		margin: calc(2 * var(--gap-y)) 0;
	}
}

@media only screen and (max-width: 768px) {
	hr {
		margin: calc(1.25 * var(--gap-y)) 0;
	}
}

.is-width-medium {
	max-width: 800px;
}

.gb-grid-wrapper {
	display: flex;
	flex-flow: row wrap;
	width: calc(100% + var(--gap-x));
	margin-left: calc(var(--gap-x) * -0.5);
	margin-right: calc(var(--gap-x) * -0.5);
	margin-top: calc(var(--gap-y) * -0.5);
	margin-bottom: calc(var(--gap-y) * -0.5);
}

.gb-grid-wrapper+.gb-grid-wrapper {
	margin-top: calc(var(--gap-y) / 2);
}

.gb-grid-wrapper.gap-off {
	margin: 0;
	width: 100%;
}

@media only screen and (min-width: 1024px) {
	.gb-grid-wrapper.gap-lg {
		margin: calc(-1 * var(--gap-y)) calc(-1 * var(--gap-x));
	}

	.gb-grid-wrapper.gap-y-lg {
		margin: calc(-1 * var(--gap-y)) calc(-1 * var(--gap-x) / 2);
	}
}

.gb-grid-column,
.grid-item {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	margin: 0;
	padding-left: calc(var(--gap-x) * 0.5);
	padding-right: calc(var(--gap-x) * 0.5);
	padding-top: calc(var(--gap-y) * 0.5);
	padding-bottom: calc(var(--gap-y) * 0.5);
}

.gb-container.is-style-border {
	border: 1px solid var(--color-text) !important;
	padding: var(--gap);
}

.gb-container.is-style-fill {
	padding: var(--gap);
}

.section--color-base .gb-container.is-style-fill {
	background-color: var(--color-alternate);
}

.section--color-alternate .gb-container.is-style-fill {
	background-color: var(--color-base);
}

.gb-grid-column>.gb-container {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	flex-grow: 1;
}

.gb-grid-column>.gb-container>.gb-inside-container {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	flex-grow: 1;
}

.gb-grid-wrapper.gap-off .gb-grid-column {
	padding: 0;
}

@media only screen and (min-width: 1024px) {
	.gb-grid-wrapper.gap-lg .gb-grid-column {
		padding: var(--gap-y) var(--gap-x);
	}

	.gb-grid-wrapper.gap-y-lg .gb-grid-column {
		padding: var(--gap-y) calc(var(--gap-x) / 2);
	}
}

img {
	image-rendering: auto;
	transform: translateZ(1px);
}

.icon {
	width: 3.25rem;
	height: auto;
}

.icon-large .icon {
	width: 5.625rem;
	height: auto;
}

.gp-icon {
	display: inline;
}

.is-style-border {
	border: 1px solid var(--color-text) !important;
}

@media only screen and (min-width: 768px) {
	.is-style-border-right {
		border-right: 1px solid var(--color-text) !important;
		padding-right: var(--gap-x);
	}
}

#menu-item-80 {
	position: absolute;
	top: 1.125rem;
	right: 0;
}

#menu-item-80 a {
	color: var(--brand);
}

a.generate-back-to-top {
	border-radius: 0;
}

.align-center {
	text-align: center;
}

.align-left {
	text-align: left;
}

.align-right {
	text-align: right;
}

body.single-post #post {
	margin-bottom: 0;
}

body.single-post #post>.content {
	padding-top: var(--gap-md);
}

@media only screen and (min-width: 768px) and (max-width: 1400px) {
	body.single-post #post {
		margin-top: 3rem;
	}
}

@media only screen and (max-width: 767px) {
	body.single-post #post {
		padding-top: 0;
	}
}

body.single-post article.post {
	max-width: 890px;
	width: 100%;
	margin: 0 auto;
}

body.single-post article.post .entry-content {
	display: flex;
	flex-flow: column nowrap;
}

body.single-post article.post .single-post-image {
	margin-bottom: var(--gap-md);
}

html {
	font-family: "pt-sans";
}

p {
	margin: 0 0 var(--gap-md);
}

p:first-child {
	margin-top: 0 !important;
}

p:last-child {
	margin-bottom: 0 !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.headline .title {
	color: #ffffff;
	margin: 0 0 calc(0.6 * var(--gap-y)) 0;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
.headline .title:first-child {
	margin-top: 0;
}

ol+h1,
li+h1,
ol+h2,
li+h2,
ol+h3,
li+h3,
ol+h4,
li+h4,
ol+h5,
li+h5,
ol+h6,
li+h6,
ol+.headline .title,
li+.headline .title {
	margin-top: var(--gap-md);
}

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

	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	.headline .title {
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
}

strong {
	color: inherit;
	font-weight: 700;
}

h1,
.title.is-h1,
.masthead-title.title {
	font-family: "tisa-sans";
	font-weight: 500;
	text-transform: uppercase;
	font-size: 3.625rem;
	letter-spacing: 0.05rem;
	line-height: 1.2;
}

body:not(.wp-admin) h1 strong,
body:not(.wp-admin) .title.is-h1 strong,
body:not(.wp-admin) .masthead-title.title strong {
	font-weight: 600;
}

h2,
.title.is-h2 {
	font-family: "tisa-sans";
	font-weight: 500;
	text-transform: uppercase;
	font-size: 2.875rem;
	letter-spacing: 0.05rem;
	line-height: 1.2;
}

h3,
.title.is-h3 {
	font-family: "tisa-sans";
	font-weight: 500;
	text-transform: uppercase;
	font-size: 2.375rem;
	letter-spacing: 0.04rem;
	line-height: 1.2;
}

h4,
.title.is-h4 {
	font-family: "pt-sans";
	color: var(--color-invert);
	display: block;
	font-size: 1.75rem;
	font-weight: 600;
	letter-spacing: 0.03rem;
	text-transform: uppercase;
}

h5,
.title.is-h5 {
	font-family: "pt-sans";
	color: var(--color-invert);
	display: block;
	font-size: 1.3125rem;
	font-weight: 400;
	letter-spacing: 0.03rem;
	text-transform: uppercase;
}

.subtitle {
	color: var(--color-brand);
	font-size: 1.375rem;
	font-weight: 400;
	text-transform: uppercase;
}

@media only screen and (max-width: 1600px) {
	html {
		font-size: 15px;
	}

	h1,
	.title.is-h1,
	.masthead-title.title {
		font-size: 3.25rem;
	}

	h2,
	.title.is-h2 {
		font-size: 2.5rem;
	}

	h3,
	.title.is-h3 {
		font-size: 2rem;
	}

	h4,
	.title.is-h4 {
		font-size: 1.75rem;
	}

	h5,
	.title.is-h5 {
		font-size: 1.3125rem;
	}
}

@media only screen and (max-width: 1280px) {
	html {
		font-size: 15px;
	}

	h1,
	.title.is-h1,
	.masthead-title.title {
		font-size: 2.75rem;
	}

	h2,
	.title.is-h2 {
		font-size: 2.125rem;
	}

	h3,
	.title.is-h3 {
		font-size: 1.875rem;
	}

	h4,
	.title.is-h4 {
		font-size: 1.5rem;
	}

	h5,
	.title.is-h5 {
		font-size: 1.0625rem;
	}
}

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

	h1,
	.title.is-h1,
	.masthead-title.title {
		font-size: 2.25rem;
	}
}

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

	h1,
	.title.is-h1,
	.masthead-title.title {
		font-size: 1.875rem;
	}

	h2,
	.title.is-h2 {
		font-size: 1.75rem;
	}

	h3,
	.title.is-h3 {
		font-size: 1.65rem;
	}

	h4,
	.title.is-h4 {
		font-size: 1.25rem;
	}
}

@media only screen and (max-width: 500px) {
	html {
		font-size: 14px;
	}
}

/* -- LAYOUT -- */
.site-header {
	display: block;
	position: absolute;
	width: 100%;
	max-width: 1920px;
	z-index: 9999;
	transition: 0;
}

@media only screen and (max-width: 768px) {
	.site-header {
		position: relative;
		border-top: 3px solid var(--color-brand);
	}
}

.site-header .inside-header {
	height: 12rem;
	margin: 0 auto;
	max-width: calc(var(--content-width) * 1px + var(--gap-x) * 2);
	padding: 0 var(--gap-x);
	position: relative;
}

@media only screen and (min-width: 769px) {
	.is-scrolled .site-header {
		position: fixed;
		background-color: var(--color-base);
		transition: 0;
	}

	.is-scrolled .site-header .inside-header {
		height: auto;
		padding-top: calc(var(--gap-x) * 0.5);
		padding-bottom: calc(var(--gap-x) * 0.5);
	}

	.is-scrolled .site-header .topbar {
		position: relative;
		flex-grow: 1;
	}
}

@media only screen and (max-width: 1280px) {
	.site-header .inside-header {
		height: auto;
		padding-top: calc(var(--gap-x) * 0.5);
		padding-bottom: calc(var(--gap-x) * 0.5);
	}
}

@media only screen and (max-width: 768px) {
	.site-header .inside-header {
		padding-left: 40px;
		padding-right: 40px;
	}
}

.site-logo {
	max-width: 200px;
	width: 200px;
	left: 3px;
	position: relative;
	display: block;
	transition: 200ms;
}

.site-logo a {
	display: block;
}

.site-logo:hover {
	opacity: 0.8;
}

@media only screen and (max-width: 1200px) {
	.site-logo {
		width: 180px;
	}
}

@media only screen and (max-width: 768px) {
	.site-logo {
		width: 150px;
	}
}

@media only screen and (max-width: 500px) {
	.site-logo {
		width: 130px;
	}
}

#site-navigation {
	display: none !important;
}

header button.menu-toggle {
	padding: 0;
}

.burger-icon {
	width: 2.75rem;
	transition: 200ms;
}

.burger-icon:hover {
	opacity: 0.7;
}

#generate-slideout-menu ul.slideout-menu {
	margin: 0;
	box-shadow: none;
}

#generate-slideout-menu ul.slideout-menu>li {
	padding: 0.6rem 0;
	border-top: 1px solid #8E9293;
}

#generate-slideout-menu ul.slideout-menu>li:first-child {
	border: none;
}

#generate-slideout-menu ul.slideout-menu>li a {
	padding: 0;
	color: #ffffff;
	font-size: 1.25rem;
	font-weight: 500;
	text-transform: none;
	line-height: 1.4;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}

#generate-slideout-menu ul.slideout-menu>li ul.sub-menu {
	margin: 0.25rem 0;
	padding: 0.25rem 0;
	box-shadow: none;
}

#generate-slideout-menu ul.slideout-menu>li ul.sub-menu li {
	padding: 0.25rem 0;
}

#generate-slideout-menu ul.slideout-menu>li ul.sub-menu a {
	padding: 0;
	color: var(--color-text);
	font-size: 1.1875rem;
	font-weight: 300;
	letter-spacing: 0.05rem;
}

#generate-slideout-menu ul.slideout-menu>li ul.sub-menu a:hover {
	color: var(--color-brand);
}

#generate-slideout-menu ul.slideout-menu>li.sfHover .gp-icon svg {
	color: var(--color-brand);
}

#generate-slideout-menu ul.slideout-menu .gp-icon svg {
	top: 0.025em;
}

body .main-navigation.offside {
	width: 28.75rem;
	padding: 0 2.5rem;
}

body .main-navigation.offside .slideout-exit {
	padding: 1.25rem 0;
}

body .main-navigation.offside.offside--right {
	right: -28.75rem;
}

.offside--right.is-open,
.offside-js--is-right .offside-sliding-element {
	transform: translate3d(-28.75rem, 0, 0) !important;
}

#menu-hauptmenu,
.menu-bar-items {
	margin-top: 3.75rem;
}

.inside-navigation {
	position: relative;
	margin-top: 1.25rem;
}

.site-header ul.topbar {
	position: relative;
	flex-grow: 1;
	top: 0;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
	margin: 0 var(--gap-x) 0 0;
	padding: 0;
	list-style-type: none;
}

@media only screen and (max-width: 767px) {
	.site-header ul.topbar .topbar-item.media,
	.site-header ul.topbar .topbar-item.shop {
		display: none;
	}
}

.site-header ul.topbar li {
	display: block;
}

.site-header ul.topbar .topbar-item {
	margin-left: var(--gap-sm);
}

.site-header ul.topbar .topbar-item .direct-link {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	font-size: 1.125rem;
	font-weight: 400;
	color: #e8e8e8;
	padding: 0 1.125rem;
	background-color: rgba(46, 48, 48, 0.4);
	height: 3rem;
}

.site-header ul.topbar .topbar-item .direct-link:hover {
	text-decoration: none;
}

.site-header ul.topbar .topbar-item:not(.shop) a:hover {
	color: #ffffff;
	background-color: #2e3030;
}

.site-header ul.topbar .topbar-item.shop {
	transform: translateY(0);
}

.site-header ul.topbar .topbar-item.shop a {
	background-color: var(--color-brand);
	color: var(--color-base);
	font-weight: 400;
	transition: 200ms;
}

.site-header ul.topbar .topbar-item.shop a::before {
	content: url("/wp-content/uploads/button-shop.svg");
	display: inline-block;
	width: 1.3rem;
	margin-right: 0.875rem;
	top: 2px;
	position: relative;
}

.site-header ul.topbar .topbar-item.shop:hover a {
	background-color: #ffffff;
}

.site-header ul.topbar a {
	font-size: 1.125rem;
	font-weight: 400;
	color: var(--color-text);
}

.site-header ul.topbar a:hover {
	color: #ffffff;
	text-decoration: none;
}

.site-footer ul {
	display: flex;
	flex-flow: row nowrap;
	justify-content: end;
	align-items: center;
	gap: 0;
}

.site-footer ul .link-linkedin::before {
	content: none;
}

.site-footer ul .link-linkedin a {
	display: inline-block;
	width: 21px;
	height: 21px;
	background-image: url("/wp-content/uploads/icon-sm-linkedin.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	opacity: 0.8;
}

.site-footer ul .link-linkedin a span {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.site-footer ul .link-linkedin a:hover {
	opacity: 1;
}

.site-footer ul li {
	margin-left: 1rem;
}

.site-footer ul li a {
	font-size: 1.0625rem;
	margin-left: 1rem;
}

.site-footer ul li:not(:first-child)::before {
	content: "|";
	display: inline-block;
	font-size: 1rem;
}

@media only screen and (max-width: 767px) {
	.site-footer ul {
		flex-flow: column nowrap;
	}

	.site-footer ul li {
		margin: 6px 0;
	}

	.site-footer ul li a {
		font-size: 1.0625rem;
		margin-left: 0;
	}

	.site-footer ul li:not(:first-child)::before {
		content: none;
		display: none;
	}
}

@media only screen and (max-width: 900px) {
	.site-footer .gb-grid-wrapper {
		flex-flow: column-reverse nowrap;
		justify-content: center;
		align-items: center;
	}

	.site-footer .gb-grid-wrapper .gb-grid-column:nth-child(1) figure {
		margin: 0.5rem auto 0;
		max-width: 170px;
	}
}

.border-top-style {
	border-top: 1px solid var(--color-text);
}

.gb-grid-column-54748862 {
	justify-content: center;
}

.section.socket {
	background-color: #0c0c0c;
}

.socket p {
	font-size: 18px;
}

@media only screen and (max-width: 900px) {
	.socket p {
		font-size: 16px;
	}
}

@media only screen and (max-width: 767px) {
	.socket p {
		font-size: 14px;
	}
}

/* -- GLOBALS -- */
.wp-block-buttons,
.buttons {
	margin-top: calc(0.4 * var(--gap-y));
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
}

.button,
.wp-block-button .wp-block-button__link,
.wpcf7-submit {
	position: relative;
	padding: 0;
	border-radius: 0;
	min-width: 14rem !important;
	border: none;
	text-align: left;
	color: var(--color-invert);
}

.button:hover,
.wp-block-button .wp-block-button__link:hover,
.wpcf7-submit:hover {
	text-decoration: none;
}

.button:hover::after,
.wp-block-button .wp-block-button__link:hover::after,
.wpcf7-submit:hover::after {
	filter: brightness(180%);
}

.button::after,
.wp-block-button .wp-block-button__link::after,
.wpcf7-submit::after {
	content: url("/wp-content/uploads/button-arrow-brand.svg");
	display: inline-block;
	width: 8px;
	position: absolute;
	right: var(--gap-md);
	transition: 200ms;
	transform: translateX(0);
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {

	.button::after,
	.wp-block-button .wp-block-button__link::after,
	.wpcf7-submit::after {
		content: none;
	}
}

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

	.button,
	.wp-block-button .wp-block-button__link,
	.wpcf7-submit {
		min-width: auto !important;
	}
}

.button:hover::after,
.wp-block-button .wp-block-button__link:hover::after,
.wpcf7-submit:hover::after {
	transform: translateX(4px);
}

.card-post .button,
.card-post .wp-block-button .wp-block-button__link,
.card-post .wpcf7-submit {
	color: #ffffff;
}

.card-post .button::after,
.card-post .wp-block-button .wp-block-button__link::after,
.card-post .wpcf7-submit::after {
	position: relative;
	right: 0;
	margin-left: 2rem;
	content: url("/wp-content/uploads/button-arrow-brand.svg");
}

.wp-block-button-details .wp-block-button__link {
	min-width: 3rem !important;
}

.wp-block-button.is-color-brand a {
	border-color: var(--color-brand) !important;
}

.wp-block-button.is-color-brand a::after {
	content: url("/wp-content/uploads/button-arrow-brand.svg");
	display: inline-block;
	width: 8px;
	position: absolute;
	right: var(--gap-md);
}

.wp-block-button.is-style-outline .wp-block-button__link,
.wpcf7-submit,
input[type=submit].wpcf7-submit {
	padding-top: calc(0.85 * var(--gap-sm));
	padding-bottom: calc(0.85 * var(--gap-sm));
	padding-left: var(--gap-md);
	padding-right: calc(2 * var(--gap-md));
	color: var(--color-invert);
	border-color: var(--color-text);
	border: 2px solid var(--color-text);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wpcf7-submit:hover,
input[type=submit].wpcf7-submit:hover {
	border-color: #ffffff;
	background-color: var(--color-text);
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {

	.wp-block-button.is-style-outline .wp-block-button__link,
	.wpcf7-submit,
	input[type=submit].wpcf7-submit {
		padding-top: calc(0.7 * var(--gap-sm));
		padding-bottom: calc(0.7 * var(--gap-sm));
		padding-left: calc(0.75 * var(--gap-md));
		padding-right: calc(0.75 * var(--gap-md));
	}
}

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

	.wp-block-button.is-style-outline .wp-block-button__link,
	.wpcf7-submit,
	input[type=submit].wpcf7-submit {
		padding-top: calc(0.6 * var(--gap-sm));
		padding-bottom: calc(0.6 * var(--gap-sm));
		padding-left: calc(0.75 * var(--gap-md));
		padding-right: calc(2 * var(--gap-md));
	}
}

body input[type=submit].wpcf7-submit {
	padding-right: var(--gap-md);
	min-width: auto !important;
}

.wp-block-button:not(.wp-block-button-shop) .wp-block-button__link {
	margin-right: 1.65rem;
}

.wp-block-button.wp-block-button-shop .wp-block-button__link {
	position: relative;
	padding: calc(0.85 * var(--gap-sm)) var(--gap-md);
	border-radius: 0;
	min-width: 14rem !important;
	border: 2px solid var(--color-brand) !important;
	text-align: left;
}

.wp-block-button+.wp-block-button.wp-block-button-shop .wp-block-button__link {
	min-width: 4.5rem !important;
	width: auto;
	padding: calc(0.85 * var(--gap-sm)) 0;
}

@media only screen and (max-width: 1280px) {
	.wp-block-button+.wp-block-button.wp-block-button-shop .wp-block-button__link {
		padding: calc(0.65 * var(--gap-sm)) 0;
	}
}

@media only screen and (max-width: 767px) {
	.wp-block-button+.wp-block-button.wp-block-button-shop .wp-block-button__link {
		padding: calc(0.5 * var(--gap-sm)) 0;
	}
}

.wp-block-button.wp-block-button-shop .wp-block-button__link:hover {
	text-decoration: none;
}

.wp-block-button.wp-block-button-shop .wp-block-button__link:hover::after {
	filter: brightness(180%);
	transform: none;
}

.wp-block-button.wp-block-button-shop .wp-block-button__link::after {
	content: url("/wp-content/uploads/button-shop-brand.svg");
	display: inline-block;
	width: 2rem;
	position: absolute;
	right: 1.25rem;
}

@media only screen and (max-width: 1280px) {
	.wp-block-button.wp-block-button-shop .wp-block-button__link::after {
		width: 1.75rem;
	}
}

@media only screen and (max-width: 1280px) {
	.wp-block-button.wp-block-button-shop .wp-block-button__link {
		padding: calc(0.75 * var(--gap-sm)) var(--gap-md);
	}
}

@media only screen and (max-width: 767px) {
	.wp-block-button.wp-block-button-shop .wp-block-button__link {
		padding: calc(0.5 * var(--gap-sm)) var(--gap-md);
	}
}

.single-jobs .wpcf7 label {
	position: relative;
}

.form-field {
	position: relative;
	width: 100%;
	margin-bottom: calc(0.75 * var(--gap-y));
	padding-top: 1rem;
}

.single-jobs .form-field {
	margin: 0 0 calc(0.5 * var(--gap-y));
	padding: 0;
}

.form-fields {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

.form-fields .form-field {
	width: calc(50% - 1.25rem);
}

@media only screen and (max-width: 1023px) {
	.form-fields {
		flex-flow: column nowrap;
		justify-content: flex-start;
	}

	.form-fields .form-field {
		width: 100%;
	}
}

.single-jobs .form-footer {
	display: flex;
	flex-flow: column nowrap;
}

@media only screen and (max-width: 1023px) {
	.form-footer {
		display: flex;
		flex-flow: column nowrap;
	}

	.form-footer .form-privacy {
		margin-bottom: 2rem;
	}
}

.form-submit,
.form-privacy {
	flex-grow: 1;
}

.form-submit {
	display: flex;
	flex-flow: row-reverse;
	margin-bottom: 0;
}

.form-privacy a {
	color: var(--color-text);
	text-decoration: underline;
	margin-bottom: 0;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=tel],
input[type=number],
textarea,
select {
	font-family: pt-sans;
	font-weight: 300;
	font-size: 1.3125rem;
	letter-spacing: 0rem;
	border-width: 0 0 2px 0;
	border-bottom: 2px solid #8E9293;
	border-color: #8E9293;
	background: transparent;
	border-radius: 0;
	width: 100%;
	padding: 0.65rem 0;
	color: #f2f2f2;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=number]:focus,
textarea:focus,
select:focus {
	border-color: var(--color-brand);
	color: #ffffff;
}

input[type=text]:focus-visible,
input[type=email]:focus-visible,
input[type=url]:focus-visible,
input[type=password]:focus-visible,
input[type=search]:focus-visible,
input[type=tel]:focus-visible,
input[type=number]:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: none !important;
}

.single-jobs input[type=text],
.single-jobs input[type=email],
.single-jobs input[type=url],
.single-jobs input[type=password],
.single-jobs input[type=search],
.single-jobs input[type=tel],
.single-jobs input[type=number],
.single-jobs textarea,
.single-jobs select {
	border: none;
	background-color: rgba(0, 0, 0, 0.3);
	padding-left: 20px;
	padding-right: 20px;
}

select {
	background: var(--color-base);
	padding: 0.77rem 0;
}

select option {
	font-family: "pt-sans", "arial";
	font-size: 1.25rem;
}

.section--color-alternate select.wpcf7-select
	{	background-color: var(--color-alternate);
		color: var(--color-text);
	}

	
.route-planner input[type=text] {
	padding: 10px 20px;
	background-color: rgba(0, 0, 0, 0.4);
	margin-bottom: 1.25rem;
	border: none;
	font-size: 18px;
}

textarea {
	height: 10rem;
	min-height: 5rem;
	resize: vertical;
}

.wpcf7-list-item {
	margin: 0;
}

.wpcf7 label {
	position: absolute;
	left: 0;
	transform: translateY(7px);
	transition: 0.1s;
	z-index: 1;
	pointer-events: none;
}

.wpcf7 .focus label,
.wpcf7 .filled label {
	transform: translateY(-18px);
	font-size: 1rem;
	font-weight: 300;
	text-transform: uppercase;
}

.wpcf7 .focus label {
	color: var(--color-brand);
}

.wpcf7 form.wpcf7-form .wpcf7-response-output {
	padding: var(--gap-sm) var(--gap);
	margin: var(--gap) 0 0;
	background-color: #60ad68;
	border-radius: 0;
	border: 0;
	width: 100%;
	color: #ffffff;
	font-size: 1.125rem;
	text-align: center;
}

.wpcf7 form.wpcf7-form.invalid .wpcf7-response-output {
	background-color: #bb3f3f;
}

input.wpcf7-not-valid {
	border-color: #bb3f3f;
}

.wpcf7-not-valid-tip {
	display: none !important;
}

/* -- ELEMENTS -- */
#kontakt .contactblock-person {
	align-self: flex-start;
}

.contactblock .contactblock-person {
	width: 33.33%;
}

.contactblock .contactblock-form {
	width: 66.667%;
}
.contactblock .contactblock-wrapper.form .contactblock-form {
	width: 100%;
}

.lang-select {
	position: relative;
}

.lang-select .lang-switch {
	margin: 0;
	opacity: 0;
	transition: 200ms;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
}

.lang-select:hover {
	cursor: pointer;
}

.lang-select:hover .lang-switch {
	opacity: 1;
}

.otgs-development-site-front-end {
	display: none !important;
}

.has-bg-worldmap {
	background-image: url("/wp-content/uploads/bg-worldmap-small.png.webp");
	background-position: right top;
	background-repeat: no-repeat;
	background-size: 820px;
}

.is-cta-career {
	padding: calc(1.35 * var(--gap)) calc(1.25 * var(--gap));
	background-image: url("/wp-content/uploads/cta-career.jpg.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.is-cta-career p {
	color: #ffffff;
}

.bg-worldmap {
	background-repeat: no-repeat;
	background-position: left top;
}

@media only screen and (min-width: 1281px) {
	.bg-worldmap {
		background-image: url("/wp-content/uploads/bg-worldmap.jpg.webp");
		background-position: left top;
	}
	.bg-worldmap.map-en-us {
		background-image: url("/wp-content/uploads/bg-worldmap_en-us.jpg");
	}
	.bg-worldmap.map-fr {
		background-image: url("/wp-content/uploads/bg-worldmap_fr.jpg");
	}
	.bg-worldmap.map-es {
		background-image: url("/wp-content/uploads/bg-worldmap_es.jpg");
	}
	.bg-worldmap.map-pl {
		background-image: url("/wp-content/uploads/bg-worldmap_pl.jpg");
	}
}

@media only screen and (max-width: 1600px) {
	.bg-worldmap {
		background-position: 50% top;
	}
}

@media only screen and (max-width: 1280px) {
	.bg-worldmap {
		background-image: url("/wp-content/uploads/bg-worldmap-mobile.jpg.webp");
		background-position: left top;
	}
}

@media only screen and (max-width: 767px) {
	.bg-worldmap {
		background-image: none;
	}
}

address {
	font-style: normal;
	padding: var(--gap);
	flex-grow: 1;
}

address .company {
	font-size: 1.75rem;
	font-weight: 600;
	color: #ffffff;
	display: block;
	text-transform: uppercase;
}

.section-color--base address {
	background-color: var(--color-alternate);
}

.section-color--alternate address {
	background-color: var(--color-base);
}

address a {
	color: var(--color-text);
}

ol,
ul:not(.is-grid) {
	margin: 0 0 0 1.3rem;
}

ol:first-child,
ul:not(.is-grid):first-child {
	margin-top: 0 !important;
}

ol:last-child,
ul:not(.is-grid):last-child {
	margin-bottom: 0 !important;
}

ol.is-checkmarks,
ul:not(.is-grid).is-checkmarks {
	list-style-type: none;
	margin: var(--gap-md) 0 0 0;
}

ol.is-checkmarks li,
ul:not(.is-grid).is-checkmarks li {
	position: relative;
	margin: 0.25rem 0;
	padding: 0 0 0 var(--gap);
}

ol.is-checkmarks li::before,
ul:not(.is-grid).is-checkmarks li::before {
	display: inline-block;
	content: url("/wp-content/uploads/list-checkmark.svg");
	position: absolute;
	left: 0;
	width: 16px;
}

ol.is-dashed,
ul:not(.is-grid).is-dashed {
	list-style-type: none;
	margin: var(--gap-md) 0 0 0;
}

ol.is-dashed li,
ul:not(.is-grid).is-dashed li {
	position: relative;
	margin: 0.25rem 0;
	padding: 0 0 0 calc(0.8 * var(--gap));
}

ol.is-dashed li::before,
ul:not(.is-grid).is-dashed li::before {
	display: inline-block;
	content: "-";
	position: absolute;
	left: 0;
	width: 16px;
	color: var(--color-brand);
	font-weight: 700;
	font-size: 1.25rem;
}

.services {
	margin-left: -2px;
	margin-right: -2px;
}

.services ul {
	list-style-type: none;
	margin: 0;
	display: flex;
	flex-flow: row wrap;
}

.services ul li {
	margin: 0;
	padding: 0;
	display: block;
}

.services .service {
	display: block;
	width: calc(20% - 4px);
	margin: 1px;
}

@media only screen and (max-width: 1280px) {
	.services .service {
		width: calc(25% - 4px);
	}
}

@media only screen and (max-width: 1023px) {
	.services .service {
		width: calc(33.33% - 4px);
	}
}

@media only screen and (max-width: 768px) {
	.services .service {
		width: calc(50% - 4px);
	}
}

@media only screen and (max-width: 500px) {
	.services .service {
		width: 100%;
		margin: 0 0 20px;
		height: 140px;
		max-height: 140px;
		overflow: hidden;
		position: relative;
	}
}

.services .service a {
	transition: 0.2s;
	position: relative;
	display: block;
	width: 100%;
	line-height: 0;
	border: 1px solid rgba(255, 255, 255, 0);
	overflow: hidden;
	height: 100%;
}

.services .service a img {
	z-index: 1;
}

.services .service a::before {
	transition: 0.2s;
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 2;
}

.services .service span {
	transition: 0.2s;
	position: absolute;
	display: block;
	line-height: 1.2;
	padding: var(--gap-md);
	bottom: 0;
	left: 0;
	width: 100%;
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.02rem;
	text-transform: uppercase;
	min-height: 7.35rem;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	z-index: 3;
}

.services .service:hover a {
	border-color: var(--color-brand);
}

.services .service:hover a::before {
	opacity: 0;
}

.services .service:hover span {
	color: var(--color-base);
	opacity: 0;
}

.card,
.edit-post-visual-editor__content-area .card {
	display: flex;
	flex-flow: column nowrap;
	flex-grow: 1;
	transition: 0;
	overflow: hidden;
	padding: 0;
	border: none;
	width: 100%;
	max-width: min(100%, 680px);
	background-color: transparent;
	margin: 0;
}

.card .card-media,
.edit-post-visual-editor__content-area .card .card-media {
	display: block;
	width: 100%;
	line-height: 0;
	position: relative;
}

.card .card-media+.card-content,
.edit-post-visual-editor__content-area .card .card-media+.card-content {
	padding: var(--gap) 0 0;
}

.card .card-media:hover .card-hover,
.edit-post-visual-editor__content-area .card .card-media:hover .card-hover {
	opacity: 1;
}

.card .card-hover,
.edit-post-visual-editor__content-area .card .card-hover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0;
	transition: 200ms;
	z-index: 2;
}

.card .card-content {
	hyphens: auto;
}

.card .card-content,
.edit-post-visual-editor__content-area .card .card-content {
	display: flex;
	flex-flow: column nowrap;
	flex-grow: 1;
	width: 100%;
	align-content: flex-start;
	box-sizing: border-box;
}

.card .card-inner,
.edit-post-visual-editor__content-area .card .card-inner {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	flex-grow: 1;
}

.card .card-title,
.card a.card-title,
.edit-post-visual-editor__content-area .card .card-title,
.edit-post-visual-editor__content-area .card a.card-title {
	display: block;
	width: 100%;
	font-size: 1.5rem;
	font-weight: 400;
	text-transform: uppercase;
	color: #ffffff;
}

.card .card-title+.card-inner,
.card a.card-title+.card-inner,
.edit-post-visual-editor__content-area .card .card-title+.card-inner,
.edit-post-visual-editor__content-area .card a.card-title+.card-inner {
	margin-top: 0.25rem;
}

.card .card-title:hover,
.card a.card-title:hover,
.edit-post-visual-editor__content-area .card .card-title:hover,
.edit-post-visual-editor__content-area .card a.card-title:hover {
	text-decoration: none;
}

.card .card-subtitle,
.edit-post-visual-editor__content-area .card .card-subtitle {
	display: block;
	width: 100%;
	font-size: 1.3125rem;
	font-weight: 300;
	color: var(--color-brand);
}

.card .card-list,
.edit-post-visual-editor__content-area .card .card-list {
	margin-top: var(--gap-sm);
}

.card .card-action,
.edit-post-visual-editor__content-area .card .card-action {
	width: 100%;
	align-self: flex-end;
	margin-top: calc(0.75 * var(--gap-y));
}

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

	.card .card-action,
	.edit-post-visual-editor__content-area .card .card-action {
		margin-top: calc(0.45 * var(--gap-y));
	}
}

.card.card-product:not(.is-style-full-width) .card-action,
.edit-post-visual-editor__content-area .card.card-product:not(.is-style-full-width) .card-action {
	justify-content: space-between;
}

.card.card-product.is-style-full-width,
.edit-post-visual-editor__content-area .card.card-product.is-style-full-width {
	width: 100%;
	max-width: 1500px;
	flex-flow: row nowrap;
}

.card.card-product.is-style-full-width .card-list,
.edit-post-visual-editor__content-area .card.card-product.is-style-full-width .card-list {
	margin: 0;
	list-style-type: none;
}

.card.card-product.is-style-full-width .card-list li,
.edit-post-visual-editor__content-area .card.card-product.is-style-full-width .card-list li {
	display: flex;
	flex-flow: row nowrap;
}

.card.card-product.is-style-full-width .card-list strong,
.edit-post-visual-editor__content-area .card.card-product.is-style-full-width .card-list strong {
	display: inline-block;
	font-weight: 700;
	min-width: 250px;
}

.card.card-product.is-style-full-width .card-list b,
.edit-post-visual-editor__content-area .card.card-product.is-style-full-width .card-list b {
	font-weight: 700;
}

.card.card-product.is-style-full-width .card-media,
.edit-post-visual-editor__content-area .card.card-product.is-style-full-width .card-media {
	width: 33.3333333333%;
	margin-right: var(--gap-x);
	flex-shrink: 0;
	flex-grow: 1;
	align-self: flex-start;
}

.card.card-product.is-style-full-width .card-content,
.edit-post-visual-editor__content-area .card.card-product.is-style-full-width .card-content {
	width: 66.6666666667%;
	padding: 0;
	flex-shrink: 1;
	flex-grow: 1;
}

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

	.card.card-product.is-style-full-width,
	.edit-post-visual-editor__content-area .card.card-product.is-style-full-width {
		flex-flow: column nowrap;
	}

	.card.card-product.is-style-full-width .card-media,
	.edit-post-visual-editor__content-area .card.card-product.is-style-full-width .card-media {
		width: 100%;
		margin: 0;
	}

	.card.card-product.is-style-full-width .card-content,
	.edit-post-visual-editor__content-area .card.card-product.is-style-full-width .card-content {
		width: 100%;
		margin: 2rem 0 0;
	}
}

.card.card-product .card-subtitle,
.edit-post-visual-editor__content-area .card.card-product .card-subtitle {
	color: var(--color-text);
	font-weight: 700;
	margin: 0.25rem 0;
}

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

	.card.card-product .card-action,
	.edit-post-visual-editor__content-area .card.card-product .card-action {
		flex-flow: column nowrap;
	}

	.card.card-product .card-action>div,
	.edit-post-visual-editor__content-area .card.card-product .card-action>div {
		margin-top: 0.5rem;
	}
}

.card.card-jobs p,
.edit-post-visual-editor__content-area .card.card-jobs p {
	flex-grow: 1;
	margin-top: var(--gap-xs);
}

.card.card-contacts a:not(.wp-block-button__link),
.edit-post-visual-editor__content-area .card.card-contacts a:not(.wp-block-button__link) {
	color: var(--color-text);
}

.card.card-contacts a:not(.wp-block-button__link):hover,
.edit-post-visual-editor__content-area .card.card-contacts a:not(.wp-block-button__link):hover {
	text-decoration: none;
	color: #ffffff;
}

.card.card-contacts .contact-info,
.edit-post-visual-editor__content-area .card.card-contacts .contact-info {
	display: block;
	font-size: 1rem;
}

.card.card-contacts .contact-info strong,
.edit-post-visual-editor__content-area .card.card-contacts .contact-info strong {
	min-width: 3rem;
	display: inline-block;
}

.card.card-post,
.edit-post-visual-editor__content-area .card.card-post {
	transition: 200ms;
}

.card.card-post.is-style-border:hover,
.edit-post-visual-editor__content-area .card.card-post.is-style-border:hover {
	border-color: var(--color-brand) !important;
}

.card.card-post.is-style-border .wp-block-button__link,
.edit-post-visual-editor__content-area .card.card-post.is-style-border .wp-block-button__link {
	border: none;
	padding: 0;
}

.card.card-post.is-style-border .wp-block-button__link::after,
.edit-post-visual-editor__content-area .card.card-post.is-style-border .wp-block-button__link::after {
	margin-left: 0.75rem;
}

.card.card-post.is-style-col .wp-block-button__link,
.edit-post-visual-editor__content-area .card.card-post.is-style-col .wp-block-button__link {
	border: none;
	padding: 0;
}

.card.card-post.is-style-col .wp-block-button__link:hover,
.edit-post-visual-editor__content-area .card.card-post.is-style-col .wp-block-button__link:hover {
	background-color: transparent;
}

.card.card-post.is-style-col .wp-block-button__link::after,
.edit-post-visual-editor__content-area .card.card-post.is-style-col .wp-block-button__link::after {
	margin-left: 0.75rem;
}

.card.is-style-row,
.edit-post-visual-editor__content-area .card.is-style-row {
	flex-flow: row nowrap;
}

.card.is-style-row .card-media,
.edit-post-visual-editor__content-area .card.is-style-row .card-media {
	max-width: 240px;
	width: 35%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.card.is-style-row .card-content,
.edit-post-visual-editor__content-area .card.is-style-row .card-content {
	max-width: 100%;
	width: 65%;
	padding: 0 var(--gap) 0;
}

.card.is-style-row.card-post .card-inner,
.edit-post-visual-editor__content-area .card.is-style-row.card-post .card-inner {
	margin-top: 0.25rem;
}

.card.is-style-row.card-post .card-action.wp-block-buttons,
.edit-post-visual-editor__content-area .card.is-style-row.card-post .card-action.wp-block-buttons {
	margin-top: calc(0.5 * var(--gap-y));
}

.card.is-style-border,
.edit-post-visual-editor__content-area .card.is-style-border {
	border: 1px solid var(--color-text) !important;
}

.card.is-style-border .card-content,
.edit-post-visual-editor__content-area .card.is-style-border .card-content {
	padding: var(--gap);
}

.section--color-base .card.is-style-fill,
.section--color-base .edit-post-visual-editor__content-area .card.is-style-fill {
	background-color: var(--color-alternate);
}

.section--color-alternate .card.is-style-fill,
.section--color-alternate .edit-post-visual-editor__content-area .card.is-style-fill {
	background-color: var(--color-base);
}

.card.is-style-fill .card-content,
.edit-post-visual-editor__content-area .card.is-style-fill .card-content {
	padding: var(--gap);
}

.mwd {
	font-weight: 300 !important;
	color: var(--color-text) !important;
}

@media only screen and (max-width: 1200px) {
	.contactblock .contactblock-person {
		width: 40%;
	}

	.contactblock .contactblock-form {
		width: 60%;
	}
}

@media only screen and (max-width: 989px) {
	.contactblock .contactblock-person {
		width: 50%;
		align-self: flex-start;
	}

	.contactblock .contactblock-form {
		width: 50%;
	}
}

@media only screen and (max-width: 768px) {
	.gb-grid-wrapper-5f138e19 .gb-grid-column {
		width: 100% !important;
	}
}

@media only screen and (max-width: 767px) {
	.contactblock .contactblock-wrapper {
		flex-flow: column-reverse nowrap;
	}

	.contactblock .contactblock-header {
		order: 3;
	}

	.contactblock .contactblock-person {
		width: 100%;
		order: 1;
		margin-top: 1.5rem;
	}

	.contactblock .contactblock-form {
		width: 100%;
		order: 2;
	}

	.gb-container.gb-container-d5fb9a97 {
		background: none !important;
	}

	.gb-container.gb-container-d5fb9a97>.gb-inside-container {
		padding: 0 !important;
	}
}

.fssolutions {
	display: flex;
	flex-flow: row wrap;
	position: relative;
	font-weight: 700;
}

.fssolutions::after {
	content: "";
	display: block;
	width: 118px;
	height: 30px;
	background: url('/wp-content/uploads/fssolutions-brand.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: relative;
	top: 3px;
	margin-left: 3px;
}

.nowrap {
	white-space: nowrap;
}

.simple table,
.simple table * {
	border: 0;
}

.simple table {
	thead tr th {
		font-size: 1.1rem;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		text-align: left;
		color: var(--color-base);
		padding: 12px;
		background: var(--color-brand);
		border-bottom: 1px solid var(--color-alternate);
	}
	tbody tr {
		&:nth-child(odd) {
			background: #3d3f3f;
		}
		td {
			padding: 12px;
			border-bottom: 1px solid var(--color-alternate);
			border-right: 1px solid var(--color-alternate);
			&:first-child {
				font-weight: 700;
				background: #3d3f3f;
			}
		}
	}
}

.masthead .masthead-action.wp-block-buttons {
flex-flow: column wrap;
gap: 20px;
}


.single .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover {
	color: #ffffff;
}