/* ###	© Jan Pietruska Internetagentur - 2023 ### 
#		created: 01/2023						 #
#		Version: 1.03                            #
#       Updated 11.01.2024                       #
#################################################*/

:root {
	--text-color: #000000;
	--white-color: #ffffff;
	--light-color: #999999;
	--theme-color: #01072b;
	--theme-color: #010418;
	--theme-color-2: #030b35;
	--theme-color-2: #02061d;
	--theme-color-3: #0cfaa9;
	--border-color: #dddddd;
	--theme-transition: cubic-bezier(0,.78,.59,.99);
	--gfont-color-green: #00d02e;
	--gfont-color-red: #fe0c49;
}


/* inter-200 - latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url('../fonts/inter-v12-latin-200.eot');
  src: local(''),
       url('../fonts/inter-v12-latin-200.eot?#iefix') format('embedded-opentype'),
       url('../fonts/inter-v12-latin-200.woff2') format('woff2'),
       url('../fonts/inter-v12-latin-200.woff') format('woff'), 
      /* url('../fonts/inter-v12-latin-200.ttf') format('truetype'), */
       url('../fonts/inter-v12-latin-200.svg#Inter') format('svg'); 
}
/* inter-300 - latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/inter-v12-latin-300.eot'); 
  src: local(''),
       url('../fonts/inter-v12-latin-300.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/inter-v12-latin-300.woff2') format('woff2'),
       url('../fonts/inter-v12-latin-300.woff') format('woff'),
      /* url('../fonts/inter-v12-latin-300.ttf') format('truetype'),*/
       url('../fonts/inter-v12-latin-300.svg#Inter') format('svg'); 
}
/* inter-regular - latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-v12-latin-regular.eot'); 
  src: local(''),
       url('../fonts/inter-v12-latin-regular.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/inter-v12-latin-regular.woff2') format('woff2'), 
       url('../fonts/inter-v12-latin-regular.woff') format('woff'), 
       /*url('../fonts/inter-v12-latin-regular.ttf') format('truetype'), */
       url('../fonts/inter-v12-latin-regular.svg#Inter') format('svg'); 
}
/* inter-500 - latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-v12-latin-500.eot'); 
  src: local(''),
       url('../fonts/inter-v12-latin-500.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/inter-v12-latin-500.woff2') format('woff2'), 
       url('../fonts/inter-v12-latin-500.woff') format('woff'), 
      /*url('../fonts/inter-v12-latin-500.ttf') format('truetype'), */
       url('../fonts/inter-v12-latin-500.svg#Inter') format('svg'); 
}
/* inter-600 - latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/inter-v12-latin-600.eot'); 
  src: local(''),
       url('../fonts/inter-v12-latin-600.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/inter-v12-latin-600.woff2') format('woff2'), 
       url('../fonts/inter-v12-latin-600.woff') format('woff'), 
      /* url('../fonts/inter-v12-latin-600.ttf') format('truetype'), */
       url('../fonts/inter-v12-latin-600.svg#Inter') format('svg'); 
}
/* inter-700 - latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/inter-v12-latin-700.eot'); 
  src: local(''),
       url('../fonts/inter-v12-latin-700.eot?#iefix') format('embedded-opentype'), 
       url('../fonts/inter-v12-latin-700.woff2') format('woff2'), 
       url('../fonts/inter-v12-latin-700.woff') format('woff'), 
      /* url('../fonts/inter-v12-latin-700.ttf') format('truetype'), */
       url('../fonts/inter-v12-latin-700.svg#Inter') format('svg'); 
}

strong {
	font-weight:600;
}

html {
	scroll-behavior: smooth;
}	

html,body{
    margin: 0px;
    padding: 0px;
	font-size: 11px;
    font-weight: 400;
    color: var(--text-color);
    font-family: 'Inter', Helvetica, Arial, sans-serif;
	letter-spacing: 0.01rem;
	letter-spacing: 0.02rem;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	cursor: default;
}

/* ### --- SOME GLOBAL STYLES --- ### */
::-moz-selection {
    color: var(--white-color);
	background: var(--theme-color-2);
}
::-webkit-selection {
    color: var(--white-color);
	background: var(--theme-color-3);
}
::selection {
    color: var(--white-color);
	background: var(--theme-color-2);
}

::-webkit-scrollbar {
  width: 0.5rem;
}

::-webkit-scrollbar-track {
  background: var(--theme-color);
}

::-webkit-scrollbar-thumb {
  background: var(--theme-color-3);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--white-color);
}

::-moz-scrollbar {
  width: 0.5rem;
}

::-moz-scrollbar-track {
  background: var(--theme-color);
}

::-moz-scrollbar-thumb {
  background: var(--theme-color-3);
}

::-moz-scrollbar-thumb:hover {
  background: var(--white-color);
}

::scrollbar {
  width: 0.5rem;
}

::scrollbar-track {
  background: var(--theme-color);
}

::scrollbar-thumb {
  background: var(--theme-color-3);
}

::scrollbar-thumb:hover {
  background: var(--white-color);
}

section {
	position: relative;
	padding: 9rem 0;
}

section.pt-half {
	padding-top: 3rem;
}

section.pb-half {
	padding-bottom: 3rem;
}

.flat-section {
	padding: 5rem 0;
}

.bg-light-blue {
	background: var(--theme-color-3);
}

.bg-blue {
	background: var(--theme-color);
}

.light-text {
	color: var(--white-color);
}

.light-text p,
.light-text p a {
    color: var(--white-color);
}

.container {
	width:100%;
	max-width: 1800px;
	padding-left: 5rem;
	padding-right: 5rem;
	padding-left: 7rem;
	padding-right: 7rem;
}

.text-right {
	text-align: right !important;
}

.text-center {
	text-align: center !important;
}

.text-big {
	font-size: 1.25em;
	line-height: 1.25em;
}

.align-center > * {
	display: inline-block;
	margin-right: 0;
	margin-left: 0;
}

.align-right > * {
	display: inline-block;
	margin-right: 0;
	margin-left: auto;
}

.mt-big {
	margin-top: 10rem;
}

.row.space-bw-big {
	--bs-gutter-x: 6rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}

.row.row-no-margin {
	margin: 0;
}

.row.row-no-margin > div[class*="col"]{
	padding-left: 0;
	padding-right: 0;
}

.pt-normal {
	padding-top: 4rem;
}

.pt-big {
	padding-top: 9rem;
}

.pb-normal {
	padding-bottom: 4rem;
}

.pb-big {
	padding-bottom: 9rem;
}

.pr-0 {
	padding-right: 0 !important;
}

::placeholder { 
  color: var(--light-color) !important;
  opacity: 1; 
}

:-ms-input-placeholder { 
  color: var(--light-color) !important;
}

::-ms-input-placeholder { 
  color: var(--light-color) !important;
}

/* ### --- FONTS --- ### */
/*
h1, h2, h3 {
	transform: translateX(-1px);
}*/

h1 strong, h2 strong, h3 strong, header h1 {
	font-weight: 600;
}

h1 {
	font-size: 3rem;
	font-weight: 300;
	line-height: 4.5rem;
	margin-bottom: 2rem;
}

h2 {
	font-size: 2.5rem;
	font-weight: 300;
	line-height: 3.5rem;
	margin-bottom: 2rem;
}

h3 {
	font-size: 1.75rem;
	/*font-weight: 300;*/
	line-height: 2.5rem;
	margin-bottom: 1.75rem;
}

h4 {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 2.00rem;
	margin-bottom: 1.5rem;
}

p,
p a,
.frame-type-text ul, .frame-type-text ul li,
ol, ol li, .frame-layout-0 UL LI {
	font-size: 1.25rem;
	line-height: 2.25rem;
}

 ol li {
	margin-bottom: 1rem;
 }

p {
	margin-bottom: 1.5rem;
}

p a {
	position: relative;
	text-decoration: none;
}

p a:before {
	position: absolute;
	left: 0;
	bottom: -20%;
	width: 100%;
	height: 1px;
	content: " ";
	background: var(--theme-color-3);
	-ms-transition: height 300ms var(--theme-transition) 0ms;
	-moz-transition: height 300ms var(--theme-transition) 0ms;
	-webkit-transition: height 300ms var(--theme-transition) 0ms;
	transition: height 300ms var(--theme-transition) 0ms;
	z-index: -1
}

p a:hover:before,
p a:focus:before {
	height: 140%;
}

p.text-big,
p.text-big a,
.frame-type-text.frame-layout-1 p,
.frame-type-text.frame-layout-1 p a {
	font-size: 1.75rem;
	line-height: 2.75rem;
}

a:hover,
a:focus,
a:active {
	color: var(--theme-color);
}

em {
	font-style: normal !important;
}

p em,
p a {
	font-weight: 600;
	color: var(--theme-color);
}

.frame ul {
	padding-left: 1.5rem;
}

.frame ul,
.frame ul li,
.frame ul li a {
	color: var(--text-color);
	/*text-decoration: none;*/
}

.frame ul li::marker {
	color: var(--theme-color-3);
}

.frame .article ul li::marker {
	color: #000 !important;
}

.frame .article A {
	color: #000 !important;
}

.frame ul li a:hover,
.frame ul li a:focus,
.frame ul li a:active {
	color: var(--theme-color-3);
}

.light-text p em {
	color: var(--theme-color-3);
}

sub {
    bottom: -0.75em;
	font-size: .6em;
}

.news sub {
	font-size: 1em;
	bottom: initial;
}

/* ### - Links & Buttons - ### */

.jp-link,
.gfontbtn {
	display: inline-block;
	font-size: 1.5rem;
	line-height: 2.5rem;
	color: var(--text-color);
	font-weight: 600;
	letter-spacing: 0.03rem;
	text-decoration: none;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

p + .jp-link {
	margin-top: 1rem;
}

.jp-link svg {
	display:inline-block;
	width: 1.75rem;
	height: auto;
	margin-left: 1.25rem;
	margin-top: -0.2rem;
	-moz-transition: margin 300ms var(--theme-transition) 0ms;
	-webkit-transition: margin 300ms var(--theme-transition) 0ms;
	transition: margin 300ms var(--theme-transition) 0ms;
}

.jp-link:hover,
.jp-link:focus,
.jp-link:active {
    color: var(--theme-color-3);
}

.jp-link:hover svg,
.jp-link:focus svg,
.jp-link:active svg {
    -ms-fill: var(--theme-color-3);
    fill: var(--theme-color-3);
	margin-left: 1.75rem;
}

.jp-link-btn,
form button[type="submit"],
.gfontbtn {
	position: relative; 
	padding: 1.5rem 2.25rem;
	background: var(--white-color);
	-ms-transition: color 100ms var(--theme-transition) 0ms, box-shadow 1000ms var(--theme-transition) 0ms;
	-moz-transition: color 100ms var(--theme-transition) 0ms, box-shadow 1000ms var(--theme-transition) 0ms;
	-webkit-transition: color 100ms var(--theme-transition) 0ms, box-shadow 1000ms var(--theme-transition) 0ms;
	transition: color 100ms var(--theme-transition) 0ms, box-shadow 1000ms var(--theme-transition) 0ms;
	/*box-shadow: 0 0 5rem 0 rgba(0,0,0, .3);*/
	-webkit-box-shadow: 0px .2rem .2rem 0px rgba(0,0,0,0.15); 
	box-shadow: 0px .2rem .2rem 0px rgba(0,0,0,0.15);
	border: 0;
	border-radius: 4px;
	z-index:2;
}
/*
.jp-link-btn:before,
.jp-link-btn:after {
	position: absolute; 
	height: 100%;
	top: 0;
	left: 0;
	content: " ";
	-ms-transition: width 100ms var(--theme-transition) 0ms;
	-moz-transition: width 100ms var(--theme-transition) 0ms;
	-webkit-transition: width 100ms var(--theme-transition) 0ms;
	transition: width 100ms var(--theme-transition) 0ms;
}

.jp-link-btn:before { 
	width:100%;
	background: var(--white-color);
	z-index:-2;
}

.jp-link-btn:after {
	position: absolute; 
	width:0;
	height:100%;
	content: " ";
	background: var(--theme-color);
	z-index:-1;
}*/

.jp-link-btn:hover,
.jp-link-btn:focus,
.jp-link-btn:active,
form button[type="submit"]:hover,
form button[type="submit"]:focus,
form button[type="submit"]:active,
.gfontbtn:hover,
.gfontbtn:focus,
.gfontbtn:active {
	color: var(--theme-color-3);
	background: var(--theme-color-2);
	box-shadow: 0 2rem 5rem 0 rgba(0,0,0, .25);
}


.jp-link-btn:hover:after,
.jp-link-btn:focus:after,
.jp-link-btn:active:after {
	width: 100%;
}

.jp-link-btn.alt,
form button[type="submit"] {
	color: var(--theme-color-3);
	background: var(--theme-color-2);
	/*box-shadow: none;*/
	/*-webkit-box-shadow: 0px .2rem .2rem 0px rgba(0,0,0,0.15); 
	box-shadow: 0px .2rem .2rem 0px rgba(0,0,0,0.15);*/
}

.jp-link-btn.alt:hover,
.jp-link-btn.alt:focus,
.jp-link-btn.alt:active,
form button[type="submit"]:hover,
form button[type="submit"]:focus,
form button[type="submit"]:active {
	color: var(--text-color);
	background: var(--white-color);
	/*box-shadow: 0 0 7rem 0 rgba(0,0,0, .5);*/
}

.jp-link-btn.scheme,
.gfontbtn {
	color: var(--theme-color);
	background: var(--theme-color-3);
}

.jp-link-btn.scheme:hover,
.jp-link-btn.scheme:focus,
.jp-link-btn.scheme:active,
.gfontbtn:hover,
.gfontbtn:focus,
.gfontbtn:active {
	color: var(--text-color);
	background: var(--white-color);
}

.jp-link-btn svg {
	-ms-fill: var(--text-color);
	fill: var(--text-color);
	margin-left: 0rem !important;
	margin-right: 0.75rem;
}

.jp-link-btn:hover svg,
.jp-link-btn:focus svg,
.jp-link-btn:active svg {
	-ms-fill: var(--white-color);
	fill: var(--white-color);
}

.jp-link-btn.alt svg {
	-ms-fill: var(--white-color);
	fill: var(--white-color);
}

.jp-link-btn.alt:hover svg,
.jp-link-btn.alt:focus svg,
.jp-link-btn.alt:active svg {
	-ms-fill: var(--text-color);
	fill: var(--text-color);
}

#content {
  min-height:100vh;
}

/* ### --- SPINNER --- ### */
.lds-ring {
  display: inline-block;
  position: fixed;
  top: 50%;
  left: 0;
  right: 0;
  margin:0 auto;
  transform: translateY(-50%);
  width: 8rem;
  height: 8rem;
  z-index: 0;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 8rem;
  height: 8rem;
  margin: .5rem;
  border: .25rem solid var(--theme-color-3);
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: var(--theme-color-3) transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


/* ### --- INTRO --- ### */

#intro-wrapper {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #fff;
	-moz-transition: transform 600ms var(--theme-transition) 0ms;
	-webkit-transition: transform 600ms var(--theme-transition) 0ms;
	transition: transform 600ms var(--theme-transition) 0ms;
	z-index: 1002;
}

#intro-wrapper #intro-wrapper-content {
	position: absolute;
	display: flex;
	max-width: 1200px;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 50%;
	transform: translateY(-50%);
	justify-content: center;
	opacity: 0;
	overflow: hidden;
}

#intro-wrapper #intro-wrapper-content.loaded {
	opacity: 1;
	-ms-transition: opacity 1000ms var(--theme-transition) 0ms;
	-moz-transition: opacity 1000ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 1000ms var(--theme-transition) 0ms;
	transition: opacity 1000ms var(--theme-transition) 0ms;
}

#intro-wrapper #intro-wrapper-content #logo-animation {
	position: relative;
	width: 16rem;
	/*user-select: none;*/
	margin: 0 auto;
	padding: 10rem 0;
}

#intro-wrapper #intro-wrapper-content #logo-animation img{
	width: 12rem;
	height: auto;
	transform: scale(1, 0);
	opacity: 1;
}

#intro-wrapper #intro-wrapper-content.loaded #logo-animation img{
	transform: scale(1, 1);
	opacity: 0;
	-ms-transition: transform 450ms var(--theme-transition) 600ms, opacity 600ms var(--theme-transition) 2800ms;
	-moz-transition: transform 450ms var(--theme-transition) 600ms, opacity 600ms var(--theme-transition) 2800ms;
	-webkit-transition: transform 450ms var(--theme-transition) 600ms, opacity 600ms var(--theme-transition) 2800ms;
	transition: transform 450ms var(--theme-transition) 600ms, opacity 600ms var(--theme-transition) 2800ms;
}

#intro-wrapper #intro-wrapper-content .logo-ani {
	position: absolute;
	height: 100%;
	top: 0;
	background: var(--theme-color);
}

#intro-wrapper #intro-wrapper-content #colorscheme-select {
	position: absolute;
	display: none;
	width: 100%;
	max-width: 760px;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	opacity: 0;
	text-align: center;
}

#intro-wrapper #intro-wrapper-content.loaded #colorscheme-select {
	opacity: 1;
	-ms-transition: opacity 600ms var(--theme-transition) 3400ms;
	-moz-transition: opacity 600ms var(--theme-transition) 3400ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 3400ms;
	transition: opacity 600ms var(--theme-transition) 3400ms;
}

#intro-wrapper #intro-wrapper-content #colorscheme-select .row > div {
	padding-top: 3rem;
	padding-bottom: 3rem;
}

#intro-wrapper #intro-wrapper-content #colorscheme-select .scheme-select {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 250px;
	outline: 0;
	margin-bottom: 0;
}

#intro-wrapper #intro-wrapper-content #colorscheme-select .scheme-select .scheme-box {
	display: inline-block;
	width: 2rem;
	height: 2rem;
	margin-top: -0.25rem;
	margin-right: 1rem;
	border-radius: 100%;
	vertical-align: middle;
}

#intro-wrapper #intro-wrapper-content #colorscheme-select .scheme-select:hover,
#intro-wrapper #intro-wrapper-content #colorscheme-select .scheme-select:focus,
#intro-wrapper #intro-wrapper-content #colorscheme-select .scheme-select:active {
	color: var(--white-color);
	box-shadow: 0 0 5rem 0 rgba(0,0,0, .5);
	-ms-transition: box-shadow 600ms var(--theme-transition) 0ms;
	-moz-transition: box-shadow 600ms var(--theme-transition) 0ms;
	-webkit-transition: box-shadow 600ms var(--theme-transition) 0ms;
	transition: box-shadow 600ms var(--theme-transition) 0ms;
}


#intro-wrapper #intro-wrapper-content #colorscheme-select .scheme-select.mint  .scheme-box {
	background: #0cfaa9;
}

#intro-wrapper #intro-wrapper-content #colorscheme-select .scheme-select.sun .scheme-box {
	background: #ff4918;
}


#intro-wrapper #intro-wrapper-content #colorscheme-select .scheme-select.raps .scheme-box {
	background: #ffeb3f;
}

#intro-wrapper #intro-wrapper-content #colorscheme-select .scheme-select.treibholz {
	color: var(--text-color) !important;
	background: transparent !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	border: 0 !important;
	outline: 0 !important;
	text-decoration: underline;
	padding: 0;
}

#intro-wrapper #intro-wrapper-content p {
	font-size: 2rem;
	line-height: 2.5rem;
	margin-bottom: 4rem;
}

#intro-wrapper #intro-wrapper-content .scheme-select {
	display: block;
	font-size: 1.5rem;
	color: var(--text-color);
	text-align: center;
	text-decoration: none;
}

#intro-wrapper #intro-wrapper-content .scheme-select img {
	display: block;
	margin-bottom: 2rem;
}


#intro-wrapper.swish {
	opacity: 1;
	transform: translateX(100%);
}
/*
#intro-wrapper #intro-wrapper-content img{
	width: 300px;
	height: auto;
}*/

#page-wrap {
	position: relative;
	background: var(--white-color);
	opacity: 0;
	z-index: 1;
}

#page-wrap.loaded {
	opacity: 1;
}

#page-22 #page-wrap,
#page-23 #page-wrap {
	background: var(--theme-color-3);
}

#page-wrap.fade-out {
	opacity: 0;
	-ms-transition: opacity 300ms var(--theme-transition) 0ms;
	-moz-transition: opacity 300ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 300ms var(--theme-transition) 0ms;
	transition: opacity 300ms var(--theme-transition) 0ms;
}

/* ### --- HEADER --- ### */
#header {
	position: absolute;
	display: flex;
	width: 100%;
	top: 0;
	right: 0;
	padding: 0;
	align-items: center;
	-moz-transition: padding 300ms ease-out 0ms, background 300ms ease-out 0ms;
	-webkit-transition: padding 300ms ease-out 0ms, background 300ms ease-out 0ms;
	transition: padding 300ms ease-out 0ms, background 300ms ease-out 0ms;
	z-index: 1000;
}

.navbar {
	padding: 0;
}

.navbar .navbar-brand {
	position:absolute;
	top: 4rem;
	height: 44px;
	padding: 0;
	margin: 0;
}

.navbar .navbar-brand img,
.navbar .navbar-brand svg {
	width: 18.625rem;
	height: auto;
}

.subpage .navbar .navbar-brand svg .signet {
	-ms-fill: var(--theme-color-3);
	fill: var(--theme-color-3);
}

#page-22 .subpage .navbar .navbar-brand svg .signet,
#page-23 .subpage .navbar .navbar-brand svg .signet {
	-ms-fill: var(--white-color);
	fill: var(--white-color);
}

.navbar-right {
	position: fixed;
	top: 3rem;
	right: 5rem;
	right: 7rem;
	display: flex;
	-ms-transition: 600ms var(--theme-transition) 0ms;
	-moz-transition: 600ms var(--theme-transition) 0ms;
	-webkit-transition: 600ms var(--theme-transition) 0ms;
	transition: 600ms var(--theme-transition) 0ms;
	box-shadow: 0 0 1rem 0 rgba(0,0,0, 0);
	z-index: 4;
}

#header.shrink .navbar-right {
	box-shadow: 0 0 5rem 0 rgba(0,0,0, .20);
}

#header.shrink.main-nav-open .navbar-right {
	box-shadow: none;
}

.navbar-toggler {
	position:relative;
	border: 0;
	outline: 0 !important;
	box-shadow: none !important;
	padding: 0;
	border-radius: 0 !important;
	z-index:2;
}

.navbar-toggler .icon-bar{
	display: block;
	width: 3rem;
	height: 2px;
	border-radius: 2px;
	background: var(--text-color);
	margin-bottom: 0.6rem;
	-ms-transition: all 300ms var(--theme-transition) 0ms;
	-moz-transition: all 300ms var(--theme-transition) 0ms;
	-webkit-transition: all 300ms var(--theme-transition) 0ms;
	transition: all 300ms var(--theme-transition) 0ms;
}

#header.shrink .navbar-toggler .icon-bar{
	background: var(--text-color);
}

.navbar-toggler:hover .icon-bar{
	background: var(--theme-color);
}

#header.shrink .navbar-toggler:hover .icon-bar{
	background: var(--theme-color);
}

.navbar-right button,
.navbar-right a.service-toggler,
.jp-link.home {
	font-size: 1.35rem;
	font-weight: 700;
	font-weight: 600;
	color: var(--text-color);
	border: 0;
	background: none;
	padding: 1.75rem 1.25rem;
	-ms-transition: color 300ms var(--theme-transition) 0ms, background 300ms var(--theme-transition) 0ms;
	-moz-transition: color 300ms ease-out 0ms, background 300ms var(--theme-transition) 0ms;
	-webkit-transition: color 300ms ease-out 0ms, background 300ms var(--theme-transition) 0ms;
	transition: color 300ms ease-out 0ms, background 300ms var(--theme-transition) 0ms;
}

#header.subpage .navbar-right button,
#header.subpage .navbar-right a.service-toggler {
	background: var(--white-color);
}

#header.shrink .navbar-right button,
#header.shrink .navbar-right a.service-toggler {
	background: var(--white-color) !important;
}

#page-22 #header.subpage .navbar-right button,
#page-22 #header.subpage .navbar-right button,
#page-22 #header.subpage .navbar-right a.service-toggler  {
	background: none;
}

.navbar-right button:hover,
.navbar-right button:focus,
.navbar-right button:active,
.navbar-right a.service-toggler:hover,
.navbar-right a.service-toggler:focus,
.navbar-right a.service-toggler:active {
	color: var(--theme-color);
}

#header.shrink .navbar-right button:hover,
#header.shrink .navbar-right button:focus,
#header.shrink .navbar-right button:active,
#header.shrink .navbar-right a.service-toggler:hover,
#header.shrink .navbar-right a.service-toggler:focus,
#header.shrink .navbar-right a.service-toggler:active {
	color: var(--theme-color);
}

.navbar-right button.service-toggler,
.navbar-right a.service-toggler {
	position: relative;
	border: 0 !important;
	margin-right: 0.2rem;
	text-decoration: none !important;
	z-index: 3;
}

.menu {
	position: absolute;
	top: calc(50% - 1px);
	left: 1.25rem;
	transform: translateY(-50%);
}

.navbar-right .navbar-toggler {
	padding-left: 6rem;
}

.navbar-right button.service-toggler.open {
	color: var(--text-color);
}

.navbar-right button.service-toggler.open:hover {
	color: var(--theme-color);
}

.navbar-right button.service-toggler svg{
	width: 1.75rem;
	height: auto;
}

.navbar-right button.service-toggler.open svg {
	transform: rotate(180deg);
}

.navbar-right button.service-toggler.open:hover svg {
	color: var(--theme-color);
}

.navbar-toggler {
	position: relative;
	z-index: 4;
}

.navbar-toggler .icon-bar.bottom{
	width: 2rem;
	margin-bottom: 0px;
}

.navbar-toggler.open .icon-bar {
	background: var(--text-color) !important;
}

.navbar-toggler.open .icon-bar.top,
.navbar-toggler.open .icon-bar.bottom{
	opacity: 0;
}

.navbar-toggler .icon-bar.middle {
	position: relative;
	overflow: hidden;
}

.navbar-toggler .icon-bar.middle:after{
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	content: " ";
	transform: translateX(0);
	background: var(--white-color);
	z-index: 1;
}

.navbar-toggler.open:hover .icon-bar.middle:after{
	width: 100%;
	transform: translateX(100%);
	transition: width 300ms ease 0ms, transform 300ms ease 500ms; 
}

#main-nav,
#service-nav {
	position: fixed;
	display: flex;
	align-items:center;
	will-change: transform;
	background: var(--white-color);
	-ms-transition: transform 400ms var(--theme-transition) 0ms;
	-moz-transition: transform 400ms var(--theme-transition) 0ms;
	-webkit-transition: transform 400ms var(--theme-transition) 0ms;
	transition: transform 400ms var(--theme-transition) 0ms;
	overflow: hidden;
}

#main-nav {
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	transform:translateX(100%);
	z-index:3;
}

#service-nav {
	width: 100%;
	height: 100%;
	top: 0rem;
	left: 0rem;
	transform: translateY(-130%);
	z-index:1;
}

#main-nav.open,
#service-nav.open {
	-ms-transition: transform 600ms var(--theme-transition) 0ms;
	-moz-transition: transform 600ms var(--theme-transition) 0ms;
	-webkit-transition: transform 600ms var(--theme-transition) 0ms;
	transition: transform 600ms var(--theme-transition) 0ms;
}

#main-nav.open{
	transform: translateX(0);
}

#service-nav.open {
	transform: translateY(0);
}

#service-nav .jp-link-btn {
	margin-top: 0;
	margin-bottom: 5rem;
}

#service-nav .menu-col {
	border-right: 1px solid var(--border-color);
}

#service-nav .contact-col {
	padding-left: 5rem;
}

.jp-link.home {
	position: absolute;
	top:0;
	left: 5rem;
	opacity: 0;
}

#main-nav.open .jp-link.home {
	opacity: 1;
	-ms-transition: opacity 600ms var(--theme-transition) 300ms;
	-moz-transition: opacity 600ms var(--theme-transition) 300ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 300ms;
	transition: opacity 600ms var(--theme-transition) 300ms;
}

.jp-link.home svg {
	transform: rotate(90deg);
	margin-left: 0 !important;
	margin-right: 1.25rem;
	-ms-transition: transform 600ms var(--theme-transition) 0ms;
	-moz-transition: transform 600ms var(--theme-transition) 0ms;
	-webkit-transition: transform 600ms var(--theme-transition) 0ms;
	transition: transform 600ms var(--theme-transition) 0ms;
}

.jp-link.home:hover svg,
.jp-link.home:focus svg,
.jp-link.home:active svg {
	transform: rotate(90deg) translateY(0.5rem);
}

#main-nav ul,
#main-nav ul li{
	padding: 0;
	list-style: none;
}

#main-nav ul.main-nav {
	font-size: 3rem;
}

#main-nav ul li a {
	display: block;
	color: var(--text-color);
	text-decoration: none !important;
	opacity: 0;
	margin-bottom: 0.25rem;
	will-change: transform;
	transform: translateX(20%); 
	-ms-transition: opacity 300ms var(--theme-transition) 0ms, transform 300ms var(--theme-transition) 0ms, padding 300ms var(--theme-transition) 0ms;
	-moz-transition: opacity 300ms var(--theme-transition) 0ms, transform 300ms var(--theme-transition) 0ms, padding 300ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 300ms var(--theme-transition) 0ms, transform 300ms var(--theme-transition) 0ms, padding 300ms var(--theme-transition) 0ms;
	transition: opacity 300ms var(--theme-transition) 0ms, transform 300ms var(--theme-transition) 0ms, padding 300ms var(--theme-transition) 0ms;
}

#main-nav.open ul.main-nav li:nth-child(1) a {
	-ms-transition: opacity 600ms var(--theme-transition) 300ms, transform 600ms var(--theme-transition) 300ms, padding 300ms var(--theme-transition) 0ms;
	-moz-transition: opacity 600ms var(--theme-transition) 300ms, transform 600ms var(--theme-transition) 300ms, padding 300ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 300ms, transform 600ms var(--theme-transition) 300ms, padding 300ms var(--theme-transition) 0ms;
	transition: opacity 600ms var(--theme-transition) 300ms, transform 600ms var(--theme-transition) 300ms, padding 300ms var(--theme-transition) 0ms;
}

#main-nav.open ul.main-nav li:nth-child(2) a {
	-ms-transition: opacity 600ms var(--theme-transition) 350ms, transform 600ms var(--theme-transition) 350ms, padding 300ms var(--theme-transition) 0ms;
	-moz-transition: opacity 600ms var(--theme-transition) 350ms, transform 600ms var(--theme-transition) 350ms, padding 300ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 350ms, transform 600ms var(--theme-transition) 350ms, padding 300ms var(--theme-transition) 0ms;
	transition: opacity 600ms var(--theme-transition) 350ms, transform 600ms var(--theme-transition) 350ms, padding 300ms var(--theme-transition) 0ms;
}

#main-nav.open ul.main-nav li:nth-child(3) a {
	-ms-transition: opacity 600ms var(--theme-transition) 400ms, transform 600ms var(--theme-transition) 400ms, padding 300ms var(--theme-transition) 0ms;
	-moz-transition: opacity 600ms var(--theme-transition) 400ms, transform 600ms var(--theme-transition) 400ms, padding 300ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 400ms, transform 600ms var(--theme-transition) 400ms, padding 300ms var(--theme-transition) 0ms;
	transition: opacity 600ms var(--theme-transition) 400ms, transform 600ms var(--theme-transition) 400ms, padding 300ms var(--theme-transition) 0ms;
}

#main-nav.open ul.main-nav li:nth-child(4) a {
	-ms-transition: opacity 600ms var(--theme-transition) 450ms, transform 600ms var(--theme-transition) 450ms, padding 300ms var(--theme-transition) 0ms;
	-moz-transition: opacity 600ms var(--theme-transition) 450ms, transform 600ms var(--theme-transition) 450ms, padding 300ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 450ms, transform 600ms var(--theme-transition) 450ms, padding 300ms var(--theme-transition) 0ms;
	transition: opacity 600ms var(--theme-transition) 450ms, transform 600ms var(--theme-transition) 450ms, padding 300ms var(--theme-transition) 0ms;
}

#main-nav.open ul.main-nav li:nth-child(5) a {
	-ms-transition: opacity 600ms var(--theme-transition) 500ms, transform 600ms var(--theme-transition) 500ms, padding 300ms var(--theme-transition) 0ms;
	-moz-transition: opacity 600ms var(--theme-transition) 500ms, transform 600ms var(--theme-transition) 500ms, padding 300ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 500ms, transform 600ms var(--theme-transition) 500ms, padding 300ms var(--theme-transition) 0ms;
	transition: opacity 600ms var(--theme-transition) 500ms, transform 600ms var(--theme-transition) 500ms, padding 300ms var(--theme-transition) 0ms;
}

#main-nav.open ul.main-nav li:nth-child(6) a {
	-ms-transition: opacity 600ms var(--theme-transition) 550ms, transform 600ms var(--theme-transition) 550ms, padding 300ms var(--theme-transition) 0ms;
	-moz-transition: opacity 600ms var(--theme-transition) 550ms, transform 600ms var(--theme-transition) 550ms, padding 300ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 550ms, transform 600ms var(--theme-transition) 550ms, padding 300ms var(--theme-transition) 0ms;
	transition: opacity 600ms var(--theme-transition) 550ms, transform 600ms var(--theme-transition) 550ms, padding 300ms var(--theme-transition) 0ms;
}

#main-nav.open ul li a {
	opacity: 1;
	transform: translateX(0); 
}

#main-nav ul li a:hover,
#main-nav ul li a:focus,
#main-nav ul li a:active,
#main-nav ul li.active a {
	color: var(--theme-color-3);
}

#main-nav ul.shortcuts {
	font-size: 1.5rem;
	margin-top: 4rem;
	will-change: transform;
	transform: translateX(100%);
	opacity: 0;
	-ms-transition: transform 400ms var(--theme-transition) 0ms;
	-moz-transition: transform 400ms var(--theme-transition) 0ms;
	-webkit-transition: transform 400ms var(--theme-transition) 0ms;
	transition: transform 400ms var(--theme-transition) 0ms;
}

#main-nav.open ul.shortcuts {
	transform: translateX(0);
	opacity: 1;
	-ms-transition: transform 600ms var(--theme-transition) 900ms, opacity 600ms var(--theme-transition) 900ms;
	-moz-transition: transform 600ms var(--theme-transition) 900ms, opacity 600ms var(--theme-transition) 900ms;
	-webkit-transition: transform 600ms var(--theme-transition) 900ms, opacity 600ms var(--theme-transition) 900ms;
	transition: transform 600ms var(--theme-transition) 900ms, opacity 600ms var(--theme-transition) 900ms;
}

#main-nav ul.shortcuts li{
	display: inline-block;
	margin-right: 1.5rem;
}

#main-nav ul.contact-nav,
#service-nav ul.contact-nav {
	font-size: 1.75rem;
}
#main-nav .contact-col {
	padding-top: 0.5rem;
	opacity: 0;
	transform: translateX(20%); 
	transition: opacity 600ms var(--theme-transition) 300ms, transform 600ms var(--theme-transition) 300ms;
}

#main-nav.open  .contact-col {
	opacity: 1;
	transform: translateX(0%); 
	transition: opacity 600ms var(--theme-transition) 300ms, transform 600ms var(--theme-transition) 300ms;
}

#main-nav ul.contact-nav li a,
#servicenav ul.contact-nav li a {
	position: relative;
	display: inline-block;
	text-decoration: none !important;
	margin-top: 2rem;
}

#main-nav ul.contact-nav li a:hover,
#main-nav ul.contact-nav li a:focus,
#main-nav ul.contact-nav li a:active{
	color: var(--text-color);
}

#main-nav ul.contact-nav li a:after {
	position: absolute;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	content: " ";
	background: var(--theme-color-3);
	-ms-transition: height 300ms var(--theme-transition) 0ms;
	-moz-transition: height 300ms var(--theme-transition) 0ms;
	-webkit-transition: height 300ms var(--theme-transition) 0ms;
	transition: height 300ms var(--theme-transition) 0ms;
	z-index: -1;
}

#main-nav ul.contact-nav li a:hover:after {
	width: 100%;
	height: 100%;
}

.color-palette {
	position: fixed;
	display: flex;
	width: 24rem;
	height: 5.5rem;
	right: -18.5rem;
	top: 50%;
	align-items: center;
	transform: translateY(-50%);
	background: var(--white-color);
	-ms-transition: right 300ms var(--theme-transition) 0ms;
	-moz-transition: right 300ms var(--theme-transition) 0ms;
	-webkit-transition: right 300ms var(--theme-transition) 0ms;
	transition: right 300ms var(--theme-transition) 0ms;
	z-index: 12;
}

#content .color-palette{
	display: none !important;
}

.color-palette.hidden {
	right: -24rem;
}

.color-palette:hover {
	right: -17.5rem;
}

#main-nav .color-palette {
	position: absolute;
	display: block !important;
	top: -10rem;
	right: 8rem;
	right: 36rem;
	width: 5rem;
	height: 4.5rem;
	transform: none;
	overflow: hidden;
	text-align: right;
	will-change: opacity;
	opacity: 0;
}

#main-nav.open .color-palette {
	top: 3.5rem;
	opacity: 1;
	-ms-transition: opacity 600ms var(--theme-transition) 900ms, top 600ms var(--theme-transition) 900ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 900ms, top 600ms var(--theme-transition) 900ms;
	-moz-transition: opacity 600ms var(--theme-transition) 900ms, top 600ms var(--theme-transition) 900ms;
	transition: opacity 600ms var(--theme-transition) 900ms, top 600ms var(--theme-transition) 900ms;
}

#main-nav .color-palette.open {
	width: 19.5rem;
	-ms-transition: width 600ms var(--theme-transition) 0ms;
	-webkit-transition: width 600ms var(--theme-transition) 0ms;
	-moz-transition: width 600ms var(--theme-transition) 0ms;
	transition: width 600ms var(--theme-transition) 0ms;
    box-shadow: -1.5rem 0 1rem 0 rgba(0, 0, 0, .1);
}

#main-nav .color-palette .row {
	position: absolute;
	top: 1.125rem;
	right: 5.5rem;
	visibility: hidden;
	opacity: 0;
}

#main-nav .color-palette.open .row {
	visibility: visible;
	opacity: 1;
	-ms-transition: opacity 600ms var(--theme-transition) 600ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 600ms;
	-moz-transition: opacity 600ms var(--theme-transition) 600ms;
	transition: opacity 600ms var(--theme-transition) 600ms;
}

#main-nav .palette-toggler {
	display: block;
	width: 3rem;
	height: 3rem;
	border-radius: 3rem;
	margin-top: .75rem;
	margin-right: 1rem;
	margin-left: auto;
	background-size: 48% auto;
	border: 1px solid var(--theme-color) !important;
}

#main-nav .color-palette .scheme-select {
	width: 2rem;
	height: 2rem;
	border-radius: 2rem;
}

#content.subpage .color-palette {
	box-shadow: 0 0 3rem 0 rgba(0, 0, 0, .10);
}

.color-palette.open {
	right:0;
	box-shadow: 0 0 5rem 0 rgba(0, 0, 0, .30);
}

.palette-toggler {
	display: flex;
	width: 5.5rem;
	height: 5.5rem;
	margin-right: 1rem;
	align-items: center;
	background: transparent;
	border: 0 !important;
	outline: 0 !important;
	background: url("../images/palette-icon.svg")no-repeat center;
	background-size: 50% auto;
}

.color-palette .scheme-select {
	width: 3rem;
	height: 3rem;
	border-radius: 3rem;
	border: 0 !important;
	outline: 0 !important;
}

.color-palette .scheme-select:hover {
	transform: scale(1.05);
}

.color-palette .scheme-select.mint {
	background: #0cfaa9;
}

.color-palette .scheme-select.sun {
	background: #ff4918;
}

.color-palette .scheme-select.raps {
	color: var(--text-color);
	background: #ffeb3f;
}

.color-palette .scheme-select.treibholz {
	background: #f4ebde;
}

.color-palette .scheme-select.active {
	-webkit-box-shadow: inset 0px 0px 0px 2px var(--theme-color); 
	box-shadow: inset 0px 0px 0px 2px var(--theme-color);
}

/* ### --- BANNER --- ### */
.jp-banner {
	position: relative;
	display: flex;
	width: 100%;
	height: 100vh;
	padding: 0;
}

.jp-banner.half-size {
	height: 50vh;
}

.jp-banner img {
	object-fit: cover;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	width: 100%;
	height: auto;
}

.jp-banner .jp-video-wrapper,
.jp-banner .jp-video-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	z-index: 1;
}

.jp-banner .jp-video-wrapper video{
	position: absolute;
	width: 100%;
	height: auto;
	min-height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	object-fit: cover;
	pointer-events: none;
	/*transform: scale(1.3);*/
}

main.subpage {
	padding-top:9rem;
}

.jp-banner .jp-video-overlay {
	position:relative;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	z-index: 2;
}

.jp-banner .jp-video-overlay:before {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: " ";
	background: var(--theme-color-3);
	opacity: .92;
}

/* SNOW-FX */

.jp-banner .jp-video-overlay:after {
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;
  content: " ";
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0AgMAAAC2uDcZAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURQAAAP///////////zjAO6gAAAAEdFJOUwAuxHKQ3Q8qAAADW0lEQVR42u3dP26jQByGYUbaEe0Wi+jgKj5CirjFp9gGKXAfkOUmW+YOW2QvgdtN45XlHMAgB2aYz955nzrJp2AYM39/SYJrmTLcbDfK9MtvYbod3oXp6fCqTO8iTpdeeaNNP/1VprfKJy7ZPinTLV91AAAAAAAAAAD4kkkH/XfKCQ/TSCd7Tm/K9GHv9+89KdOzrTK9PM/68dpverXfzPnxxu9d1/Sz0ncfXtPreenZszLd+G1pq17Zchfz/nfPyoMyPT0r0802AQDMYZWt9uS7R5jWfOK9y7wEuSYT75z2EuQNph5/QU67IItrJ14S0+5dmv4aQfpBmT7RLUuHIGMO+XiXNNCCcjve1pk2TI9lIkW6lB8AAACITcxTza12qvmXMt3zdCvpX//clelJ/SZ93j+U6bl0J6+VtrQAAAAAAADwxz4r03PpGNtOOr7YLN2D8MNHer1w/4WfA00Xp3tZ8bk03R59DMo2C9PTzscUUHFYmu5j1WN+VqbbhWul/aSbhS2t5UBTFfGBppsEAAAA+Mp7qzJcW/Ik0J7QqZ7ioCy4EmhP6Kq9ZNKX3HXaEQLtwmjlEyfeE/qNrzoAc1+SmPQTaaQHj9U96RqVNF172F4uPe7OSlsbI21pAQAAAPyPjHSlWibt5WgPami0R2QwnhRleqMtn7BXpudn5ROnHTtPOJgFAIA7c58VQgL1wpT7xHxXpZvZ+a73MadH3Adc83+/OaRTrXnP39wrW6456nJzycCqvbCb1QFXHW0rxEtF3NbTun0whWNNJbfKiq7pblUlXa+8232TH9zuabdrZx2XCLmlu1bEdLxvvkvTXVvqXrrj5aJsK81P6fs+S8sAAAAAAAAAAAAAPJKYS3430pP3B0p+R5lOyW8VSn4DAAAAANbt80t3EljpLoqAO0hGLnPA3TMjGzoD7hwa2dAZMH1kY17A9KK/GlrJA6ZfR6XSdHtRpps22DhXOfJwh6sXkx6VA3pWeua7kRZAw0OSlnIK2CyNpf9TTj1oC5xri6dZ8TRrxOknadG8Vnpc0k7a48uULS0AAHhQDFiL5L2yn6o96irm9LzTFraXph/d0t1Oi3QdGcr+OP2646hYKa3VUEmrozRRV0eRfk/EXG1Xes8z7wMAAHAHPgHhchfsTyUPMgAAAABJRU5ErkJggg==) center center repeat scroll, url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0AgMAAAC2uDcZAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURQAAAP///////////zjAO6gAAAAEdFJOUwAXO2Yymfg6AAAId0lEQVR42u1dS27jOBA1gWFO0NTCcxkfwYtIwMjrXrS08FVmEd9gvIgMtG7Qukxn4dwgXljDIIOeWCYlip96nbjeMgH8bIksFlmvHhcLBuNTQq6Q7Pk9kr3cA8lFfQQ+etGe11D2v5HsPZJ9i2Rf1P0DcsYh3/sia4BjfiFzbKjlte5Drs/QFTJHjllR7IHzVVaPSPbDM/DFZ+0JuEpk3ZmGXSHZRW4aXgUVe/UAZJft3vjkTyRj/q47Gsf885qG/cUQU1XzOB1p5ToC+3llinW7aXYVnkFII7vIHT65dHg+07sO02fk009V1KfgR68/w/MXiG2ErNn7+en9SnhM8B87Mdj9cyjsbmkDZc9+INkldK8msHu1L7zvYTAYDAaDwWAwGAwGg8GAQ9iONBVFpV1+W5n/kecE52ZZYz6QFsUjQQUnsxyLyqohYF/2T2b2A0XNdNkfzezteUfB/mJ+I12/o3jvVnYCIZ+5akhVLxaHPZK9NL9eRaMTUOZpLRuSGoGwRGCoPkRAlTmLHKomUxcP3lLdIyrhWFZ7FbAMK/dVzFLVzf2XYTHj1W6MGmJRNt5BQRQ757dmrs2K6vyPd1I1Y0qb69Ky7r3Z1cFdgFL3P41JgD+7Ft84s2+isxczpD9LI00Ie9m7L6L/VcUHczSQ3fm3y7cMdxD8dfL34M/u/t7fJGvDOSqr5wl2e5dHMWPUvcn1hnNUR5u1b0Ar2rlL+HCOTkpUZbm3BTTV7GeuUFqWeT9Yhsc/QavKbF9PVbvZEWIwyqZkNSOKOjm78acwzlG1WvgMrdmLszlCjPyIOdPK77eLak/EborNoj3SsGft8frDZGfX0kVlN8oytYrRylB2x3jsRlmmGGEvvoerJMcD51jn1ruApsIPYkxzdEwJqcpfX7dIdBywsY+sdwGtjPgOLmbCyOf+vw7Uifr6nLqXkvW2CZfxFEWp6o+tfwoYY2xC2ZdYpWoDVap+QypVF1ilKoPBYDAYDAaDwWAwGAwGg8FgMBiMD4QRZQUBoL6wY8oKAvYt1hf2FIHd11R4TNuQfvBo9vDqtfSVRkdxeVLV3vPR1xHYM6uJ2ZRzWRlBs1NYpTdTrySLoOS3y46m9CAxfGGt7NOuYxEirZ19S+AyPcIeXY1yrWsq+6OVPbYq4boLp+xsgyu6c5morqgKq4I1unOZYV1SjU3BGt25zOCWrqyrTHTnMoPmTloVrNHbXkyzSNknyCI9e6LMx/Q+N1R+5cr02sj8yo1EMpGO8TqsmR6yoOow24AtHn9C2Z+A7H8Gsoug1CULZFeWQOv2pWQbJte0tPlLt84Gs/uz+4Mvzf2FynHnFWZRYGvzLxy7/2XY/s7ca6XbkAg64F97cHbG93ne49h10yMRu7Hlsu1997yfgp0iOWmN3ZlE7NLcxCZrCscLHW2M71dUJJpzS/OiDsAkmaE5ngsSj5mRpW+FI1fgnw4kBx+Lt8hj8bGGQ4Lf3kEva+tu+Kq4LfTCsvKEjDbZI3DMOxyLi5Sx+H76+yFrlKpBLgX64Bc4J0uSlNvGXvfHW2WXWPYt+LdjRx10xpEcbtjZkZE2/4pcgxW0vVdAL5+MM2+h7NDdoiiRlQ1RP0K3iy/Q7eKn2bDNdnKJuWETsw88Ym7YZLmbO4Yiuq+MeHfZsIxXL/a4DVPFy4/mmBH+Girxdt39CbjuzbEDTMGOPHJAsye6AVa6sSc603fKQepzmt2NUw4iUpVybK7ZgyUjkXm57BxykGSmVea7dodIZVrllgHVidjdMqBUllluqtdklllOOYjNMkuExqCycRh14q+1ZbcbmjQ5RTHLnjr4vDsoBymRWwbwRcc12DrvdjV4Syh71iHfu4TaBgro2VDS/j65Qv4ybO9gCRVJ1B+/dzBtzpfut2NlCj1SpoBln+rRSFson+jRkGmj/IRIQqWNhRP5boHUKIBrlhWyXoutVWtZ8NMNsyPfO5adRpBtnXHIbN7WEUOV8uZYjQIy3V/Mme3Qbyqx2vGvyBFa0KzG5mo1VS5gadag0W7pq6hMM0Gr5ihyAcvVeUSrsb6W6x7HnnXI9ihsa5j5Wi6qXMBycZ8guQjaphPQl2BTxHnb/WY07VHGa7nIcgHVIFsTjNdyEWYR0CQGe2rNYDAYDAaDwWD8TlBQ7QF0Z+DRLRF3RwjcmHh0SxCcBNDgtjsGbpg95k3n88d8izwByhpgfV2bfEPjPFRf9ymuO5bQEzyFHLt0nrbmoHXGmr1iZe5PN8sOlrlD2eV3qCS5Qs44cLniD/RKgzXwwJqXQEVREUxrpP8HyPACeOFfv7dYJM9ap/2ze9WGSg9EgItD1oU2E4c4WMRg928EtChR5iCEPXzUBbQhWiyS523nvb+/bIKz6sxfPivL4B1FwJ0pIlzwEnJnSv7xLbIYDAbjpgC931RAVw2sglBf2wZ89AX05F57POHYtW8y2Ll4DWVfMTtm1CWfcfkIe/LOnzEfjyJ5H8KYh0n6u0ruuv3IKpP6td/1R/s/vyySsyMdZu96pNcG+joUKDvUY2VRQqu39K2+772EBHkCkYP1fMg5XkE1Llg9X/fMqjJmvy12rJ4Pq6hDegXpRRV6rR9WIoH1DmEwGL8rBNYhFdtnj1UvIbNvWSEv/NJKDqBiMYKG5lOzSyR7wlTJgT1h2S5rJ3ceCVNkh73++PZAhoQLh3OOshsr26mQBzPds/latht5PGVQRXHyfGuibBd239WkT7hmHztkT+w7fF04u5BTb9NemXDNfiGn3qbtJXk1sF3ZE5LEnSy6bLcf/uHdo18m7qMZGhdfeotmP9KukUPTZnl4L2iWifunhmW7Sx85kfpE+n6YjF242BH3U6gO6acLZm+Rbr7ygEzCsRsQfYUE1CcW27TzoeTU/wJHgZKTCUhpgwAAAABJRU5ErkJggg==) center center repeat fixed transparent;
  -webkit-background-size: 450px auto;
  -moz-background-size: 450px auto;
  -o-background-size: 450px auto;
  background-size: 450px auto;
  -webkit-animation: snowing 20s linear infinite;
  -moz-animation: snowing 20s linear infinite;
  -ms-animation: snowing 20s linear infinite;
  -o-animation: snowing 20s linear infinite;
  animation: snowing 20s linear infinite;
  z-index: 1;
}


@-webkit-keyframes snowing {
  from {
    background-position-y: 0px, 0px;
  }
  to {
    background-position-y: 900px, 450px;
  }
}
@-moz-keyframes snowing {
  from {
    background-position-y: 0px, 0px;
  }
  to {
    background-position-y: 900px, 450px;
  }
}
@-ms-keyframes snowing {
  from {
    background-position-y: 0px, 0px;
  }
  to {
    background-position-y: 900px, 450px;
  }
}
@-o-keyframes snowing {
  from {
    background-position-y: 0px, 0px;
  }
  to {
    background-position-y: 900px, 450px;
  }
}
@keyframes snowing {
  from {
    background-position-y: 0px, 0px;
  }
  to {
    background-position-y: 900px, 450px;
  }
}


.jp-banner.v2 .jp-video-overlay:before {
	position: absolute;
    width: 150%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: -29%;
	left:0;
    content: " ";
    background: rgba(12, 250, 169,.9);
	opacity: 1;
}


@keyframes banner-ani-1 {
	0% {
		transform: translateX(-20%) scale(1);
		opacity: 1;
	}
	50% {
		transform: translateX(-60%) scale(1.5);
	}
	100% {
		transform: translateX(-20%) scale(1);
	}
}

.jp-banner .jp-video-overlay > * {
	position:relative;
	-ms-flex:0 0 100%;
	flex:0 0 100%;
	z-index:3;
}

.jp-banner .jp-video-overlay p.banner-title {
	font-size: 4rem;
	line-height: 5.5rem;
	font-weight: 200;
	margin-bottom: 0;
}

.jp-banner .jp-video-overlay p.banner-title span {
	position: relative;
	display: inline-block;
	color: var(--text-color);
}
.jp-banner .jp-video-overlay p.banner-title span:after {
	position: relative;
	display: block;
	width: 0;
	height: 1px;
	content: "";
	background: var(--white-color);
}
/*
.jp-banner .jp-video-overlay .overlay-animation.finished p.banner-title span {
	color: var(--white-color);
	transition: color 600ms var(--theme-transition) 2400ms;
}*/
.jp-banner .jp-video-overlay .overlay-animation.finished p.banner-title span:after {
	width: 100%;
	transition: width 600ms var(--theme-transition) 1200ms;
}

.jp-banner .jp-video-overlay .bottom-line {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 4rem;
	margin: auto;
}

.jp-banner .jp-video-overlay .bottom-line p{
	font-size: 1.5rem;
	line-height: 2rem;
}

.jp-banner .jp-video-overlay .bottom-line p span{
	position: relative;
	display: inline-block;
	margin-right: 2.5rem;
}

.jp-banner .jp-video-overlay .bottom-line p span:before{
	display: inline-block;
	content: "";
	margin-right: 1.25rem;
	width: 1.75rem;
	height: 1.75rem;
	background: url("../images/check-circle.svg")no-repeat center;
	background-size: cover;
	vertical-align: middle;
}

.t-caret {
	display: none !important;
}

.jp-banner .jp-video-overlay .bottom-line .intro-scroller {
	position: absolute;
	top: 1rem;
	right: 7rem;
	color: var(--text-color);
	padding: 1.75rem;
	transform: translateY(-50%);
}

.jp-banner .jp-video-overlay .bottom-line .intro-scroller svg {
	width: auto;
	height: 2rem;
	-moz-animation: 2s ease-in 1s infinite running scroll-down-ani;
	-webkit-animation: 2s ease-in 1s infinite running scroll-down-ani;
	animation: 2s ease-in 1s infinite running scroll-down-ani;
}

@-moz-keyframes scroll-down-ani {
	0% {
		transform: translateY(0);
		opacity: 1;
	}
	
	100% {
		transform: translateY(200%);
		opacity: 0;
	}
}

@-webkit-keyframes scroll-down-ani {
	0% {
		transform: translateY(0);
		opacity: 1;
	}
	
	100% {
		transform: translateY(200%);
		opacity: 0;
	}
}

@keyframes scroll-down-ani {
	0% {
		transform: translateY(0);
		opacity: 1;
	}
	
	100% {
		transform: translateY(200%);
		opacity: 0;
	}
}

#intro .headline-col,
#intro .headline-col > .frame-type-text {
	position: sticky;
	top: 9rem;
}

#intro .headline-col img {
	display: block;
	margin: 4rem 0;
}

#references {
	background: var(--theme-color);
}

#references > .container > h2,
#references > .container > .frame#c11 {
	position: sticky;
	top: 2.5rem;
	padding-bottom: 2rem;
	margin-bottom: 0;
	background: var(--theme-color);
	background: rgba(1, 4, 24, .9);
	-webkit-box-shadow: 0px -2.5rem 0px 0px rgba(1, 4, 24, .9); 
	box-shadow: 0px -2.5rem 0px 0px rgba(1, 4, 24, .9);
	z-index: 3;
}

#references .container #c11 h2 {
	margin-bottom: 0;
    line-height: 5rem;
}

#references em {
	color: var(--theme-color-3);
}

#references .reference-row {
	padding: 7rem 0;
}

#references .reference-row .mobile {
	display: none;
}

#references .reference-row .reference-desc {
	position: relative;
	z-index: 2;
}

#references h3 {
	font-size: 2.5rem;
}

#references .add-border {
	position: relative;
	padding-right: 10rem;
	padding-bottom: 2rem;
}

#references .add-border.switch {
	padding-left: 10rem;
	padding-right: calc(var(--bs-gutter-x) * .5);
}

#references .add-border:before,
#references .add-border:after {
	position: absolute;
	content: " ";
	transform: rotate(45deg);
}

#references .add-border:before {
	width: 10rem;
    height: 10rem;
    right: 5rem;
    bottom: -4rem;
	background: var(--theme-color);
}

#references .add-border:after {
	width: 1px;
    height: 13rem;
    right: 13rem;
    bottom: -1.5rem;
	margin-right:1px;
	background: var(--theme-color-3);
}


#references .add-border.switch:before,
#references .add-border.switch:after {
    right: initial;
	transform: rotate(-45deg);
}

#references .add-border.switch:after {
    left: 13rem;
	margin-left:1px;
}

#references .add-border.switch:before {
    left: 5rem;
}

#references .jp-link:not(.jp-link-btn),
#references .jp-link:not(.jp-link-btn) svg {
	color: var(--theme-color-3) !important;
	-ms-fill: var(--theme-color-3) !important;
	fill: var(--theme-color-3) !important;
}

#references #additional-references {
	position: relative;
	height: 45rem;
	overflow: hidden;
}

#references #additional-references.show-all {
	height: auto;
}

#references #additional-references:after {
	position: absolute;
	width: 100%;
	height: 30%;
	left: 0;
	right: 0;	
	bottom: 0;
	content: " ";
	background: rgb(1,7,24);
	background: -moz-linear-gradient(180deg, rgba(1,4,24,0) 0%, rgba(1,4,24,1) 100%);
	background: -webkit-linear-gradient(180deg, rgba(1,4,24,0) 0%, rgba(1,4,24,1) 100%);
	background: linear-gradient(180deg, rgba(1,4,24,0) 0%, rgba(1,4,24,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#010418",endColorstr="#010418",GradientType=1);
}

#references #additional-references.show-all:after {
	display: none;
}

#references #additional-references > .row {
	/*margin: 0;*/
}

#references .reference-col {
	position: relative;
	-ms-flex: 0 0 20%;
	flex: 0 0 20%;
	/*padding: 0;*/
	margin-bottom: var(--bs-gutter-x);
}

#references .reference-col.hidden {
    display:none;
}

#references .reference-col .reference-box {
	position: relative;
    display: flex;
	margin: 0 auto;
	height: 18rem;
    align-items: center;
	background: var(--theme-color-2);
}

#references .reference-col .reference-box .reference-box-inner {
	position: absolute;
	display: flex;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	align-items: center;
	flex-wrap: wrap;
	background: var(--theme-color-2);
}

#references .reference-col .reference-box:hover .reference-box-inner,
#references .reference-col .reference-box:hover {
	background: var(--theme-color);
}

#references .reference-col .reference-box:hover .reference-desc p {
    color: var(--theme-color-3);
}


#references .reference-col .reference-box .reference-desc {
	position: absolute;
	left: 2rem;
	right: 2rem;
	bottom: 2rem;
	margin: 0;
	color: var(--text-color);
	opacity: 0;
	-ms-transition: all 600ms var(--theme-transition) 0ms;
	-moz-transition: all 600ms var(--theme-transition) 0ms;
	-webkit-transition: all 600ms var(--theme-transition) 0ms;
	transition: all 600ms var(--theme-transition) 0ms;
}

#references .reference-col .reference-box:hover .reference-desc {
	opacity: 1;
}

#references .reference-col .reference-box .reference-desc h3 {
	font-size: 1.75rem;
    color: var(--white-color);
	-webkit-hyphens: auto;
	hyphens: auto;
}

#references .reference-col .reference-box .reference-desc p {
	position: relative;
	font-weight: 600;
    letter-spacing: 0.03rem;
	margin-bottom: 0;
}

#references .reference-col .reference-box .reference-desc p svg {
	position: absolute;
	display: inline-block;
    width: 1.75rem;
    height: auto;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

#references .reference-col .reference-box .reference-logo {
	margin: 0 auto;
}

#references .reference-col .reference-box .reference-logo img {
	display: block;
	width: 80%;
    height: auto;
    max-height: 8rem;
	margin: 0 auto;
	opacity: .7;
	-ms-transition: all 600ms var(--theme-transition) 0ms;
	-moz-transition: all 600ms var(--theme-transition) 0ms;
	-webkit-transition: all 600ms var(--theme-transition) 0ms;
	transition: all 600ms var(--theme-transition) 0ms;
}

#references .reference-col .reference-box:hover .reference-logo img {
	opacity: 0;
	transform: translateY(-100%);
}

#references #references-overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	max-height: 100vh;
	top: 0;
	left: -100%;
	padding: 5rem;
	opacity: 0;
	background: var(--theme-color);
	will-change: left;
	-ms-transition: left 0ms var(--theme-transition) 600ms, opacity 600ms var(--theme-transition) 0ms;
	-moz-transition: left 0ms var(--theme-transition) 600ms, opacity 600ms var(--theme-transition) 0ms;
	-webkit-transition: left 0ms var(--theme-transition) 600ms, opacity 600ms var(--theme-transition) 0ms;
	transition: left 0ms var(--theme-transition) 600ms, opacity 600ms var(--theme-transition) 0ms;
	z-index: 1000;
}

#references #references-overlay.open {
	left: 0;
	opacity: 1;
	-ms-transition: left 600ms var(--theme-transition) 0ms, opacity 600ms var(--theme-transition) 0ms;
	-moz-transition: left 600ms var(--theme-transition) 0ms, opacity 600ms var(--theme-transition) 0ms;
	-webkit-transition: left 600ms var(--theme-transition) 0ms, opacity 600ms var(--theme-transition) 0ms;
	transition: left 600ms var(--theme-transition) 0ms, opacity 600ms var(--theme-transition) 0ms;
}

#references #references-overlay .references-closer {
	position: absolute;
	width: 5.5rem;
    height: 5.5rem;
	right: 5rem;
	top: 3rem;
	/*background: var(--theme-color-3);*/
	cursor: pointer;
	z-index: 2;
}

#references #references-overlay .references-closer:before {
	position: absolute;
	top: 50%;
	width: 0rem;
    height: 2px;
	left: 0;
	right: 0;
	content: " ";
	margin:0 auto;
	background: var(--theme-color-3);
	transform: translate(0, -50%) rotate(90deg);
}

#references #references-overlay .references-closer:after {
	position: absolute;
	top: 50%;
	width: 0rem;
    height: 2px;
	left: 0;
	right: 0;
	content: " ";
	margin:0 auto;
	background: var(--theme-color-3);
	transform: translateY(-50%);
}

#references #references-overlay.open .references-closer:before,
#references #references-overlay.open .references-closer:after {
	width: 3rem;
	-ms-transition: width 300ms var(--theme-transition) 600ms, transform 300ms var(--theme-transition) 600ms;
	-moz-transition: width 300ms var(--theme-transition) 600ms, transform 300ms var(--theme-transition) 600ms;
	-webkit-transition: width 300ms var(--theme-transition) 600ms, transform 300ms var(--theme-transition) 600ms;
	transition: width 300ms var(--theme-transition) 600ms, transform 300ms var(--theme-transition) 600ms;
}

#references #references-overlay.open .references-closer:before {
	transform: translate(0, -50%) rotate(135deg);
}

#references #references-overlay.open .references-closer:after {
	transform: translate(0, -50%) rotate(45deg);
}

#references #references-overlay.open .references-closer:hover:before,
#references #references-overlay.open .references-closer:hover:after {
	-ms-transition: transform 300ms var(--theme-transition) 0ms;
	-moz-transition: transform 300ms var(--theme-transition) 0ms;
	-webkit-transition: transform 300ms var(--theme-transition) 0ms;
	transition: transform 300ms var(--theme-transition) 0ms;
}

#references #references-overlay.open .references-closer:hover:before {
	transform: translate(0, -50%) rotate(495deg);
}

#references #references-overlay.open .references-closer:hover:after {
	transform: translate(0, -50%) rotate(405deg);
}

#references #references-overlay #reference-preview {
	position: relative;
	padding-right: 3rem;
}

#references #references-overlay .reference-overlay-row {
	opacity: 1;
	-ms-transition: opacity 300ms var(--theme-transition) 0ms;
	-moz-transition: opacity 300ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 300ms var(--theme-transition) 0ms;
	transition: opacity 300ms var(--theme-transition) 0ms;
}

#references #references-overlay #reference-preview img.tablet,
#references #references-overlay #reference-preview img.smartphone{
	display: none;
	height: auto;
	position: absolute;
	box-shadow: 0 0 3rem 0 rgba(0,0,0,.5);
}

#references #references-overlay #reference-preview img.tablet{
	width: 43%;
	left: 17%;
    top: 55%;
	z-index: 1;
}

#references #references-overlay #reference-preview img.smartphone{
	width: 14%;
	left: 5%;
    top: 67%;
	z-index: 2;
}

#references #references-overlay #reference-preview.right img.tablet,
#references #references-overlay #reference-preview.right img.smartphone{
	left: initial;
}

#references #references-overlay #reference-preview.right img.tablet{
	right: 17%;
}

#references #references-overlay #reference-preview.right img.smartphone{
	right: 10%;
}

#references #references-overlay #reference-text h3{
	font-size: 1.25rem;
	color: var(--theme-color-3);
}

#references #references-overlay .references-nav {
  	position: absolute;
	display: flex;
    justify-content: space-between;
  	left: 0;
  	right: 0;
  	bottom: 0;
  	padding: 1rem 5.5rem;
  	text-align: right;
  	background: rgba(0,0,0,.05);
    transform: translateY(100%);
	z-index: 2;
}

#references #references-overlay.open .references-nav {
    transform: translateY(0);
	-ms-transition: transform 600ms var(--theme-transition) 600ms;
	-moz-transition: transform 600ms var(--theme-transition) 600ms;
	-webkit-transition: transform 600ms var(--theme-transition) 600ms;
	transition: transform 600ms var(--theme-transition) 600ms;
}

#references #references-overlay .references-nav .jp-link {
	cursor: pointer;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: 0 !important;
	background: transparent !important;
}

#references #references-overlay .references-nav .jp-link svg {
	-ms-transition: transform 300ms var(--theme-transition) 0ms;
	-moz-transition: transform 300ms var(--theme-transition) 0ms;
	-webkit-transition: transform 300ms var(--theme-transition) 0ms;
	transition: transform 300ms var(--theme-transition) 0ms;
}

#references #references-overlay .references-nav .jp-link.prev svg {
	margin-right: 1.25rem !important;
	margin-left: 0 !important;
}

#references #references-overlay .references-nav .jp-link.next svg {
	margin-left: 1.25rem !important;
	margin-right: 0 !important;
}

#references #references-overlay .references-nav .jp-link.prev:hover svg,
#references #references-overlay .references-nav .jp-link.prev:focus svg,
#references #references-overlay .references-nav .jp-link.prev:active svg {
	-ms-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	transform: translateX(-50%);
}

#references #references-overlay .references-nav .jp-link.next:hover svg,
#references #references-overlay .references-nav .jp-link.next:focus svg,
#references #references-overlay .references-nav .jp-link.next:active svg {
	-ms-transform: translateX(50%);
	-webkit-transform: translateX(50%);
	-moz-transform: translateX(50%);
	transform: translateX(50%);
}

#references #references-overlay .reference-overlay-row.loading {
	opacity: 0;
}

.partner-slider {
	margin-top: 6rem;
}

.subpage .partner-slider {
	margin-top: 0;
}

.partner-slider .slick-track {
    display: flex !important;
}

.partner-slider .slick-slide {
    height: inherit !important;
}

.partner-slider .slick-list {
	border-left: 1px solid var(--border-color);
}
	
.partner-slider .slider-item {
	padding: 3rem;
	margin: 0;
	text-align: center;
	outline: 0;
	border-right: 1px solid var(--border-color);
}

.partner-slider .slider-item img{
	max-height: 4.5rem;
	max-width: 280px;
	width: auto;
	height: auto;
	margin: 0 auto;
	outline: 0;
	vertical-align: middle;
	/*opacity:0;
	-moz-transition: opacity 600ms var(--theme-transition) 200ms, transform 600ms var(--theme-transition) 200ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 200ms, transform 600ms var(--theme-transition) 200ms;
	transition: opacity 600ms var(--theme-transition) 200ms, transform 600ms var(--theme-transition) 200ms;
	transform:translateY(-100%);*/
}
/*
.partner-slider .slider-item.slick-active img{
	opacity:1;
	transform:translateY(0);
}*/

.subpage .partner-slider .slider-item img{
	max-width: 180px;
	max-height: 3.5rem;
}

#news {
	overflow: hidden;
}

#news .container {
	position: relative;
}

#news .news-container:before {
	position: absolute;
	height: 100%;
	width: 100%;
	content: " ";
	z-index: 1;
}

#news.bg-light-blue .news-container:before {
	background: var(--theme-color-3);
}

#news .news-container:before {
	left: 0;
	transform: translateX(-98%);
}

#news .container:after {
	right: -92%;
    top: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
}

#news h2 {
	margin-bottom:6rem;
}

#news .slick-list {
	overflow: visible;
}

.news-item {
	margin: 0 5rem 4rem 0;
	outline: 0 !important;
}

.subpage #news {
	padding-top: 0;
	overflow :visible;
}

.subpage .news-container {
	padding-left: 0;
	padding-right: 0;
}

.subpage .news-container:before {
	display: none;
}

.row .news-item {
	margin: 0 0 4rem 0;
}

.news-item a {
	display: block;
	color: var(--text-color);
	text-decoration: none !important;
}

.news-item .news-img{
	position: relative;
	margin: 0 0 2.5rem 0;
}

.news-item .news-img svg {
	position: absolute;
	left: 0;
	right: 0;
	top: 45%;
	width: 3rem;
	height: auto;
	margin: auto;
	-ms-fill: var(--white-color);
	fill: var(--white-color);
	-ms-fill: var(--theme-color-3);
	fill: var(--theme-color-3);
	transform: translateX(-100%);
	opacity: 0;	
	-ms-transition: transform 200ms var(--theme-transition) 0ms, opacity 100ms var(--theme-transition) 0ms;
	-moz-transition: transform 200ms var(--theme-transition) 0ms, opacity 100ms var(--theme-transition) 0ms;
	-webkit-transition: transform 200ms var(--theme-transition) 0ms, opacity 100ms var(--theme-transition) 0ms;
	transition: transform 200ms var(--theme-transition) 0ms, opacity 100ms var(--theme-transition) 0ms;
	z-index:2;
}

.news-item:hover .news-img svg {
	transform: translateX(0);
	-ms-transition: transform 300ms var(--theme-transition) 200ms, opacity 300ms var(--theme-transition) 200ms;
	-moz-transition: transform 300ms var(--theme-transition) 200ms, opacity 300ms var(--theme-transition) 200ms;
	-webkit-transition: transform 300ms var(--theme-transition) 200ms, opacity 300ms var(--theme-transition) 200ms;
	transition: transform 300ms var(--theme-transition) 200ms, opacity 300ms var(--theme-transition) 200ms;
	opacity:1;
	
}

.news-item .news-img:after{
	position: absolute;
	top:0;
	left:0;
	width:0;
	height:100%;
	content: " ";
	-ms-transition: width 300ms var(--theme-transition) 0ms;
	-webkit-transition: width 300ms var(--theme-transition) 0ms;
	-moz-transition: width 300ms var(--theme-transition) 0ms;
	transition: width 300ms var(--theme-transition) 0ms;
	background: var(--theme-color);
	opacity: .7;
	z-index:1;
}

#news .slick-slide.slick-active + .slick-slide:not(.slick-active) {
	opacity: .3;
}

#news .slick-active {
	opacity: 1;
}

#news .slick-prev, #news .slick-next {
	width: 5.5rem;
	height: 5.5rem;
	top: 6.5rem;
	transform: none;
	background: var(--theme-color) !important;
	z-index: 2;
}

#news .slick-prev {
	display: none !important;
}

#news .slick-next {
    right: -2.75rem;
    right: -2.75rem;
}

#news .slick-next:before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='27' fill='%2300ff96' class='bi bi-arrow-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z'/%3E%3C/svg%3E");
}

.news h1 {
	margin-bottom: 4rem;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.news .article h3 {
	margin-bottom: 1.75rem;
}

.news.news-single .col-sm-4 img {
	margin-bottom: 1rem;
}

.news .news-list-date {
	display: block;
	margin-bottom: 1rem;
}

.news .news-teaser {
	font-weight: 600;
}

.news-related {
	display: block;
    width: 100%;
    padding: 2.25rem 0;
    border: none;
	border-top: 1px solid rgba(0,0,0,.3);
	border-bottom: 1px solid rgba(0,0,0,.3);
	margin: 2rem 0;
}

.news-related h2{
}

.news-related ul,
.news-related ul li {
	padding-left: 0;
	list-style: none;
}

.news-related ul li a {
	margin: 0;
}

.news-related ul li a:hover,
.news-related ul li a:focus,
.news-related ul li a:active,
.news-related ul li a:hover svg,
.news-related ul li a:focus svg,
.news-related ul li a:active svg {
	color: var(--text-color);
	-ms-fill: var(--text-color);
	fill: var(--text-color);
	opacity: .8;
}

#cta {
	background: var(--theme-color);
	z-index: 1;
}
/*
#cta:before {
	position: absolute;
	content:" ";
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: url("../images/jp-cta-bg.jpg")no-repeat center center;
	background-size: cover;
	background-attachment: fixed;
	z-index: -1;
}*/

#cta p {
	font-size: 1.5rem;
}

#services {
	overflow-x: hidden;
}

#services .container {
	overflow: hidden;
}

#services .img-box {
	height: 100%;
}

#services .img-box img{
	width: auto;
	height: 100%;
	object-fit: cover;
}

#services-list div[class*="col"] > .frame .jp-link {
	margin-bottom: 3rem;
}

.services-row .service-col.highlight1 {
	color: var(--white-color);
	background: var(--theme-color);
	border-color:  var(--theme-color)
}

.services-row .service-col.highlight1 a {
	color: var(--theme-color-3);
}

.services-row .service-col.highlight1 a:hover,
.services-row .service-col.highlight1 a:focus,
.services-row .service-col.highlight1 a:active {
	color: var(--theme-color);
}

.services-row {
	margin-left: 0;
	margin-right: 0;
}

.services-row .service-col {
	border: 1px solid var(--border-color);
	overflow: hidden;
}

.services-row .service-col header {
	position: relative;
}

.services-row .service-col header:before {
	position: relative;
	display: block;
    width: 6rem;
    height: 6rem;
	font-size: 6rem;
	background-color: var(--theme-color-3);
	line-height: 6rem;
	font-weight: 600;
    content: " ";
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50% auto;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='48' fill='%23000000' class='bi bi-code-slash' viewBox='0 0 16 16'%3E%3Cpath class='service-icon' d='M10.478 1.647a.5.5 0 1 0-.956-.294l-4 13a.5.5 0 0 0 .956.294l4-13zM4.854 4.146a.5.5 0 0 1 0 .708L1.707 8l3.147 3.146a.5.5 0 0 1-.708.708l-3.5-3.5a.5.5 0 0 1 0-.708l3.5-3.5a.5.5 0 0 1 .708 0zm6.292 0a.5.5 0 0 0 0 .708L14.293 8l-3.147 3.146a.5.5 0 0 0 .708.708l3.5-3.5a.5.5 0 0 0 0-.708l-3.5-3.5a.5.5 0 0 0-.708 0z'/%3E%3C/svg%3E");
	margin-bottom: 3rem;
}

.services-row .service-col header h2 {
	font-weight: 600;
}

.services-row .service-col.webdesign header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%2301072b' class='bi bi-tv' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zM13.991 3l.024.001a1.46 1.46 0 0 1 .538.143.757.757 0 0 1 .302.254c.067.1.145.277.145.602v5.991l-.001.024a1.464 1.464 0 0 1-.143.538.758.758 0 0 1-.254.302c-.1.067-.277.145-.602.145H2.009l-.024-.001a1.464 1.464 0 0 1-.538-.143.758.758 0 0 1-.302-.254C1.078 10.502 1 10.325 1 10V4.009l.001-.024a1.46 1.46 0 0 1 .143-.538.758.758 0 0 1 .254-.302C1.498 3.078 1.675 3 2 3h11.991zM14 2H2C0 2 0 4 0 4v6c0 2 2 2 2 2h12c2 0 2-2 2-2V4c0-2-2-2-2-2z'/%3E%3C/svg%3E");
}

.services-row .service-col.maintainance header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%23000000' class='bi bi-clipboard-check' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z'/%3E%3Cpath d='M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z'/%3E%3Cpath d='M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z'/%3E%3C/svg%3E");
}

.services-row .service-col.hosting header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%23000000' class='bi bi-hdd-rack' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm2 7a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z'/%3E%3Cpath d='M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h1v2H2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-1V7h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm13 2v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm0 7v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm-3-4v2H4V7h8z'/%3E%3C/svg%3E");
}

.services-row .service-col.privacy header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%23000000' class='bi bi-shield-check' viewBox='0 0 16 16'%3E%3Cpath d='M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z'/%3E%3Cpath d='M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
}

.services-row .service-col.seo header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%23000000' class='bi bi-graph-up-arrow' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M0 0h1v15h15v1H0V0Zm10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V4.9l-3.613 4.417a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61L13.445 4H10.5a.5.5 0 0 1-.5-.5Z'/%3E%3C/svg%3E");
}

.services-row .service-col.smm header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%23000000' class='bi bi-chat' viewBox='0 0 16 16'%3E%3Cpath d='M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z'/%3E%3C/svg%3E");
}

.services-row .service-col.graphics header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%23000000' class='bi bi-droplet' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M7.21.8C7.69.295 8 0 8 0c.109.363.234.708.371 1.038.812 1.946 2.073 3.35 3.197 4.6C12.878 7.096 14 8.345 14 10a6 6 0 0 1-12 0C2 6.668 5.58 2.517 7.21.8zm.413 1.021A31.25 31.25 0 0 0 5.794 3.99c-.726.95-1.436 2.008-1.96 3.07C3.304 8.133 3 9.138 3 10a5 5 0 0 0 10 0c0-1.201-.796-2.157-2.181-3.7l-.03-.032C9.75 5.11 8.5 3.72 7.623 1.82z'/%3E%3Cpath fill-rule='evenodd' d='M4.553 7.776c.82-1.641 1.717-2.753 2.093-3.13l.708.708c-.29.29-1.128 1.311-1.907 2.87l-.894-.448z'/%3E%3C/svg%3E");
}

.services-row .service-col.ecommerce header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%23000000' class='bi bi-bag' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z'/%3E%3C/svg%3E");
}

.services-row .service-col.editorial header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%23000000' class='bi bi-blockquote-left' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm5 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm-5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm.79-5.373c.112-.078.26-.17.444-.275L3.524 6c-.122.074-.272.17-.452.287-.18.117-.35.26-.51.428a2.425 2.425 0 0 0-.398.562c-.11.207-.164.438-.164.692 0 .36.072.65.217.873.144.219.385.328.72.328.215 0 .383-.07.504-.211a.697.697 0 0 0 .188-.463c0-.23-.07-.404-.211-.521-.137-.121-.326-.182-.568-.182h-.282c.024-.203.065-.37.123-.498a1.38 1.38 0 0 1 .252-.37 1.94 1.94 0 0 1 .346-.298zm2.167 0c.113-.078.262-.17.445-.275L5.692 6c-.122.074-.272.17-.452.287-.18.117-.35.26-.51.428a2.425 2.425 0 0 0-.398.562c-.11.207-.164.438-.164.692 0 .36.072.65.217.873.144.219.385.328.72.328.215 0 .383-.07.504-.211a.697.697 0 0 0 .188-.463c0-.23-.07-.404-.211-.521-.137-.121-.326-.182-.568-.182h-.282a1.75 1.75 0 0 1 .118-.492c.058-.13.144-.254.257-.375a1.94 1.94 0 0 1 .346-.3z'/%3E%3C/svg%3E");
}

.services-row .service-col.newsletter header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%23000000' class='bi bi-envelope-paper' viewBox='0 0 16 16'%3E%3Cpath d='M4 0a2 2 0 0 0-2 2v1.133l-.941.502A2 2 0 0 0 0 5.4V14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V5.4a2 2 0 0 0-1.059-1.765L14 3.133V2a2 2 0 0 0-2-2H4Zm10 4.267.47.25A1 1 0 0 1 15 5.4v.817l-1 .6v-2.55Zm-1 3.15-3.75 2.25L8 8.917l-1.25.75L3 7.417V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v5.417Zm-11-.6-1-.6V5.4a1 1 0 0 1 .53-.882L2 4.267v2.55Zm13 .566v5.734l-4.778-2.867L15 7.383Zm-.035 6.88A1 1 0 0 1 14 15H2a1 1 0 0 1-.965-.738L8 10.083l6.965 4.18ZM1 13.116V7.383l4.778 2.867L1 13.117Z'/%3E%3C/svg%3E");
}

.services-row .service-col.concept header:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' fill='%23000000' class='bi bi-lightbulb' viewBox='0 0 16 16'%3E%3Cpath d='M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13a.5.5 0 0 1 0 1 .5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1 0-1 .5.5 0 0 1 0-1 .5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm6-5a5 5 0 0 0-3.479 8.592c.263.254.514.564.676.941L5.83 12h4.342l.632-1.467c.162-.377.413-.687.676-.941A5 5 0 0 0 8 1z'/%3E%3C/svg%3E");
}

section.pt-half .intro-col {
	padding-top: 4.5rem;
	padding-bottom: 4.5rem;
}

.contact p em,
#service-nav p em {
	display: inline-block;
	min-width: 1.5rem;
}

#service-nav p em {
	color: var(--theme-color-3);
}

.contact p a + em {
	margin-left: 4rem;
}

.contact-form > .frame-type-form_formframework,
.contact-form .frame-type-form_formframework,
.tx-domaincheck-search-form {
	padding: 4rem 5rem;
	background: var(--white-color);
	box-shadow: 0 0 5rem 0 rgba(0, 0, 0, .15);
}

.tx-domaincheck-search-form {
	margin-top: 5rem;
	align-items: center;
	justify-content: space-between;
}

.tx-domaincheck-search-form input {
	margin-bottom: 0 !important;
}

.tx-domaincheck-search-form .row > div > label {
	display: block;
}

.tx-domaincheck-search-form .multiselect-dropdown {
    width: 100% !important;
	max-width: 245px;
	font-size: 1.25rem;
    color: var(--text-color);
    line-height: 2.25rem;
    border: 0!important;
    padding: 1rem 1rem 1rem 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23010418' class='bi bi-chevron-down' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") !important;
}

.tx-domaincheck-search-form .multiselect-dropdown-list-wrapper {
	box-shadow: 0 0 2rem 0 rgba(0,0,0,.1);
	border: 0;
}

.tx-domaincheck-search-form .multiselect-dropdown-list > div{
	display: flex;
	align-items: center;
}

.tx-domaincheck-search-form .multiselect-dropdown-list div:hover {
    background-color: var(--theme-color-3) !important;
}
.tx-domaincheck-search-form .multiselect-dropdown span.placeholder {
	margin-right: 1rem !important;
}

.multiselect-dropdown span.optext {
	margin: 0 .125rem .125rem 0 !important;
    background-color: var(--theme-color-3) !important;
}

.multiselect-dropdown span.optext .optdel {
	margin-top: 1px !important;
}

.tx-domaincheck-search-form .text-right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.tx-domaincheck-search-form .btn-primary {
	font-size: 1.25rem;
}

.tx-domaincheck-search-form .btn-primary:hover,
.tx-domaincheck-search-form .btn-primary:focus,
.tx-domaincheck-search-form .btn-primary:active {
	color: var(--theme-color);
	background: var(--theme-color-3);
}

.tx-domaincheck-search-result {
	margin-top: 5rem;
}

.tx-domaincheck-search-result .table>:not(caption)>*>* {
	background-color: var(--white-color) !important;
}

.tx-domaincheck-search-result .table {
	font-size: 1.25rem;
    line-height: 2.25rem;
}

.tx-domaincheck-search-result .table td {
	vertical-align: middle;
}

.tx-domaincheck-search-result .btn-success {
	font-size: 1.25rem;
    line-height: 2.25rem;
	color: var(--theme-color);
	background: var(--theme-color-3);
	border: 0 !important;
	padding: 1rem 1.5rem;
}

.tx-domaincheck-search-result .btn-success:hover,
.tx-domaincheck-search-result .btn-success:focus,
.tx-domaincheck-search-result .btn-success:active {
	color: var(--theme-color-3);
	background: var(--theme-color);
}

.table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-accent-bg: #f3f3f3;
}

#page-31 h2 {
	display: inline-block;
	padding: .75rem 1.5rem;
	color: var(--theme-color);
	background-color: var(--theme-color-3);
}

form {
    font-size: 1.25rem;
	color: var(--text-color);
    line-height: 2.25rem;
}

form input:not([type="checkbox"]):not([type="submit"]),
form select,
form textarea,
.form-control {
	position: relative;
	display: block;
	width: 100%;
    font-size: 1.25rem;
	color: var(--text-color);
    line-height: 2.25rem;
	border: 0 !important;
	padding: 1rem 0;
	margin-bottom: 3rem;
	border-bottom: 1px solid var(--border-color) !important;
	-ms-transition: border 600ms var(--theme-transition) 0ms;
	-moz-transition: border 600ms var(--theme-transition) 0ms;
	-webkit-transition: border 600ms var(--theme-transition) 0ms;
	transition: border 600ms var(--theme-transition) 0ms;
	outline: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

form textarea.form-control {
	min-height: 15rem;
}

form input:not([type="checkbox"]):focus,
form select:focus,
form textarea:focus {
	border-bottom: 1px solid var(--theme-color-3) !important;
}
/*
form input:not([type="checkbox"]):not([type="submit"]):after,
form select:after,
form textarea:after,
.form-control:after {
	position: absolute;
	width: 0;
	height: 1px;
	content: " ";
	left: 0;
	bottom: 0;
	background: var(--theme-color-3);
	-ms-transition: width 600ms var(--theme-transition) 0ms;
	-moz-transition: width 600ms var(--theme-transition) 0ms;
	-webkit-transition: width 600ms var(--theme-transition) 0ms;
	transition: width 600ms var(--theme-transition) 0ms;
}

form input:not([type="checkbox"]):not([type="submit"]):focus:after,
form select:focus:after,
form textarea:focus:after,
.form-control:focus:after {
	width: 100%;
}*/

form select {
	max-width: 50%;
	padding-left: 0;
}

form button[type="submit"],
form input[type="submit"] {
	font-size: 1.5rem;
	min-width: 13rem;
	font-weight: 600;
	border: 0 !important;
	background: var(--theme-color-2);
}

.h-captcha {
	margin-bottom: 2rem;
}

form .inputs-list .radio,
form .inputs-list input[type="radio"] {
	display: inline-block;
}

form .inputs-list .radio {
	min-width: 8rem;
}

.inputs-list label {
	display: inline-block;
	color: var(--text-color);
	line-height: 2rem;
}

form .inputs-list input[type="radio"] {
	width: 2rem;
	height: 2rem;
	margin-top: 0;
	margin-right: 0.25rem;
	border: 1px solid #ccc !important;
}

form .control-label {
	display: none;
}

form .form-group:nth-child(2) .control-label {
	display: block;
	margin-bottom: 1rem;
}

form .form-check {
	position: relative;
	padding: 0;
}

form .form-check label {
	position: relative;
}

form .form-check span {
	vertical-align: top;
}

form .form-check label input{
	position: relative;
	opacity: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 0;
	margin-right: 0.5rem;
	border: 1px solid #ccc;
	z-index:2;
}

form .form-check label:before{
	position: absolute;
	top: 0;
	left: 0;
	content: " ";
	opacity: 1;
	width: 2rem;
	height: 2rem;
	border-radius: 0;
	margin-right: 0.5rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
	border: 1px solid var(--border-color);
	-ms-transition: background 600ms var(--theme-transition) 0ms, border 600ms var(--theme-transition) 0ms;
	-moz-transition: background 600ms var(--theme-transition) 0ms, border 600ms var(--theme-transition) 0ms;
	-webkit-transition: background 600ms var(--theme-transition) 0ms, border 600ms var(--theme-transition) 0ms;
	transition: background 600ms var(--theme-transition) 0ms, border 600ms var(--theme-transition) 0ms;
	z-index:1;
}

form .form-check label.checked:before {
	background-color: var(--theme-color-3);
	border: 1px solid var(--theme-color-3);
	background-image: url("../images/check-lg.svg");
}

form .frame-type-text p {
	color: var(--text-color);
	margin: 2rem 0;
}

form .frame-type-text p a{
	color: var(--text-color) !important;
	font-weight: 400;
	text-decoration: underline;
}

form .frame-type-text p a:hover,
form .frame-type-text p a:focus,
form .frame-type-text p a:active{
	text-decoration: none;
}

form .frame-type-text p,
form .frame-type-text p a {
	font-size: 1rem !important;
	line-height: 1.75rem !important; 
}

.form-center form{
	max-width: 1100px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

#angebot .frame-type-form_formframework {
	position: relative;
}

#angebot .frame-type-form_formframework:before {
	position: absolute;
	width: 0;
	height: .5rem;
	top: 0;
	left: 0;
	content: " ";
	background: var(--theme-color-3);
		-ms-transition: width 600ms var(--theme-transition) 0ms;
	-moz-transition: width 600ms var(--theme-transition) 0ms;
	-webkit-transition: width 600ms var(--theme-transition) 0ms;
	transition: width 600ms var(--theme-transition) 0ms;
}

#angebot .frame-type-form_formframework.step1:before {
	width: 15%;
}

#angebot .frame-type-form_formframework.step2:before {
	width: 30%;
}

#angebot .frame-type-form_formframework.step3:before {
	width: 45%;
}

#angebot .frame-type-form_formframework.step4:before {
	width: 60%;
}

#angebot .frame-type-form_formframework.step5:before {
	width: 75%;
}

#angebot .frame-type-form_formframework.step6:before {
	width: 90%;
}

#angebot .frame-type-form_formframework.step7:before {
	width: 100%;
}

#angebot .radio label,
.typo3-funnel-container .radio label {
	position: relative;
}

#angebot .radio label input,
.typo3-funnel-container .radio label input {
	position: relative;
	opacity: 0;
	z-index: 2;
}

#angebot .radio label:before,
.typo3-funnel-container .radio label:before {
	position: absolute;
	width: 2rem;
    height: 2rem;
	top: 0;
	left: 0;
	content: " ";
    border: 1px solid #ccc!important;
	background-repeat: no-repeat;
    background-position: center;
    background-size: 70% auto;
	z-index: 0;
}

#angebot .radio label.active:before,
.typo3-funnel-container .radio label.active:before {
	background-image: url("../images/check-lg.svg");
	background-color: var(--theme-color-3);
    border: 1px solid #ccc!important;
}

#angebot form .radio:not(:last-child),
.typo3-funnel-container form .radio:not(:last-child) {
	margin-right: 1.5rem;
	margin-bottom: 1.5rem;
}

#angebot form input[type="radio"],
.typo3-funnel-container form input[type="radio"] {
	margin-right: .5rem;
	margin-bottom: 0;
}

#angeboterhalten-258-fieldset-7,
#angebot .form-actions {
	text-align: left;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

#angebot form fieldset,
#angebot form label.control-label {
	display: none;
}

#angebot form fieldset[id*="fieldset-1"] {
	display: block;
}

#angebot form fieldset legend {
	font-size: 1.75rem;
    font-weight: 300;
    line-height: 2.5rem;
    margin-bottom: 3rem;
	text-align: center;
}


#angebot form .jp-link-btn {
	min-width: 13rem;
}

#angebot .form-actions {
	display: none;
}

.form-center form > h2 {
	display: none;
}

a.disabled {
  pointer-events: none;
  cursor: default;
  opacity: .6;
}

#angebot-stoerer {
	display: none;
	position: fixed;
	max-width: 700px;
	width: calc(100% - 4rem);
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
    padding: 4rem 5rem;
	background: var(--theme-color-3);
	box-shadow: 0 0 5rem 0 rgba(0,0,0,.15);
	z-index: 9999;
}

#angebot-stoerer .closer {
    position: absolute;
    width: 4rem;
    height: 4rem;
    right: 0;
    top: 0;
    cursor: pointer;
    z-index: 2;
	background: var(--theme-color);
}

#angebot-stoerer .closer:before {
    position: absolute;
    top: 50%;
    width: 2.5rem;
    height: 2px;
    left: 0;
    right: 0;
    content: " ";
    margin: 0 auto;
    background: var(--theme-color-3);
    transform: translate(0,-50%) rotate(135deg);
}

#angebot-stoerer .closer:after {
    position: absolute;
    top: 50%;
    width: 2.5rem;
    height: 2px;
    left: 0;
    right: 0;
    content: " ";
    margin: 0 auto;
    background: var(--theme-color-3);
    transform: translateY(-50%) rotate(45deg);
}

#request {
	position: fixed;
	display: none;
	left: 50%;
	bottom: 1rem;
	transform: translateX(-50%);
	z-index: 1;
}

#page-3 main.subpage {
	padding-top: 0;
}

#agentur-intro {
	padding-top: 0;
}

#agentur-intro .container {
	max-width: 100%;
	padding:0;
}

#agentur-intro .container img{
	max-width: 100%;
	width: 100%;
}

#agentur-intro .img-box {
	position: relative;
}

#agentur-intro .img-box:before {
  	position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    content: " ";
	background: rgb(255,255,255);
	background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);   
	z-index: 1;  
}

.frame-space-before-extra-large {
    margin-top: 6rem !important;
}

.frame-space-after-extra-large {
    margin-top: 6rem !important;
}

.img-col .ce-gallery,
.img-col .ce-gallery .ce-column,
.img-col .ce-gallery figure {
	width:100%;
}

.img-col .ce-gallery img {
	width:100%;
	height:auto;
}

#page-3 .ce-col .dce.img-box {
	margin-top: 3rem;
}

#counter {
	display: flex;
	flex-wrap: wrap;
	font-size: 5rem;
	margin-top: 6rem;
}

#counter h2 {
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	font-weight: 600;
}

#counter .counter-wrap {
	min-width: 19rem;
	border-left: 1px solid var(--border-color);
	padding:0 3rem;
}

#counter .counter-wrap:last-child{
	border-right: 1px solid var(--border-color);
}

#counter .counter-wrap strong {
	color: var(--theme-color-3);
	font-weight: 600;
}

.team-member {
	position: relative;
	margin-bottom: var(--bs-gutter-x);
	overflow: hidden;
}

.team-member .img-wrap {
	position: relative;
}

.team-member img.hidden{
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
    will-change: transform;
	-ms-transition: opacity 600ms var(--theme-transition) 0ms, transform 600ms var(--theme-transition) 0ms;
	-moz-transition: opacity 600ms var(--theme-transition) 0ms, transform 600ms var(--theme-transition) 0ms;
	-webkit-transition: opacity 600ms var(--theme-transition) 0ms, transform 600ms var(--theme-transition) 0ms;
	transition: opacity 600ms var(--theme-transition) 0ms, transform 600ms var(--theme-transition) 0ms;
	z-index: 1;
}

.team-member .img-wrap:hover img.hidden{
    transform: scale(1.10);
	opacity: 1;
}

.team-member .img-wrap {
	margin-bottom: 2rem;
	margin-bottom: 0rem;
}

.team-member .text-wrap {
	position: absolute;
    bottom: 1.25rem;
    right: 1.25rem;
    background: var(--theme-color-3);
	background: rgba(12, 250, 169,.9);
    left: 1.25rem;
    padding: 1rem 1.25rem;
}

.team-member:hover .text-wrap {
	transform: translateY(100%);
	-ms-transition: transform 600ms var(--theme-transition) 0ms;
	-moz-transition: transform 600ms var(--theme-transition) 0ms;
	-webkit-transition: transform 600ms var(--theme-transition) 0ms;
	transition: transform 600ms var(--theme-transition) 0ms;
}

.team-member h3{
    font-size: 1.5rem;
	margin-bottom: 0;
}

.team-member p {
	line-height: 1.75rem;
	margin-bottom: 0;
}

blockquote {
	position: relative;
	font-size: 2rem;
	margin: 6rem 0 3rem;
	padding: 5.5rem 0;
	border-top: 1px solid var(--border-color);
	border-bottom: 1px solid var(--border-color);
}

blockquote p {
	position: relative;
	font-size: 2.5rem;
	line-height: 3.25rem;
}

blockquote p:before {
	position: absolute;
	content: '“';
	left: 0;
	top: 0;
	font-size: 5em;
	color: var(--theme-color-3);
	transform: translate(-100%,0%);
}

.tools-box-link {
	color: var(--text-color);
	text-decoration: none !important;
}

.tools-box-link .alt-color {
	color: var(--white-color);
}

.tools-box {
	position:relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 4rem;
	min-height: 13rem;
	background: var(--theme-color-3);
	-webkit-box-shadow: 0px .2rem .2rem 0px rgba(0,0,0,0.15); 
	box-shadow: 0px .2rem .2rem 0px rgba(0,0,0,0.15);
	-ms-transition: box-shadow 600ms var(--theme-transition) 0ms;
	-moz-transition: box-shadow 600ms var(--theme-transition) 0ms;
	-webkit-transition: box-shadow 600ms var(--theme-transition) 0ms;
	transition: box-shadow 600ms var(--theme-transition) 0ms;
}

.tools-box:hover {
	box-shadow: 0 0 5rem 0 rgba(0, 0, 0, .3);
}

.tools-box h2 {
	flex: 0 0 100%;
	font-weight: 600;
	margin-bottom: 0;
}

.tools-box p {
	margin-top: 1rem;
	padding-right: 4rem;
	margin-bottom: 0;
}

.tools-box.alt-color {
	background: var(--theme-color);
}

.tools-box.alt-color h2{
	color: var(--white-color);
}

.tools-box svg {
	position: absolute;
	top: 50%;
	right: 4rem;
	width: 3rem;
	height: auto;
	-ms-fill: var(--text-color);
	fill: var(--text-color);
	transform: translate(0%, -50%);
	-ms-transition: transform 600ms var(--theme-transition) 0ms;
	-moz-transition: transform 600ms var(--theme-transition) 0ms;
	-webkit-transition: transform 600ms var(--theme-transition) 0ms;
	transition: transform 600ms var(--theme-transition) 0ms;
}

.tools-box.alt-color svg {
	-ms-fill: var(--theme-color-3);
	fill: var(--theme-color-3);
}

.tools-box:hover svg {
	transform: translate(50%, -50%);
}

/* GFC */
.accordion {
	margin-top: 3rem;
	margin-bottom: 3rem;
	border-radius: 0 !important;
}

.accordion * {
	border-radius: 0 !important;
	border: 0;
	box-shadow: none !important;
	outline: 0 !important;
}

.accordion-button {
	font-size: 1.5rem;
	color: var(--text-color) !important;
	padding: 2rem 0;
	background: transparent !important;
}

.accordion .accordion-item {
	border-top: 1px solid var(--border-color);
	border-bottom: 1px solid var(--border-color);
}

.accordion .accordion-body {
	padding: 0 0 2rem;
}

.accordion .accordion-body header {
	display: none;
}

.accordion-button::after {
	width: 2.5rem;
	height: 2.5rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23000000' class='bi bi-chevron-down' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") !important;
	background-size: 2.5rem auto;
}

.tx-googlefontschecker {
	float: none !important;
	margin-top: 4rem !important;
	margin-bottom: 3rem !important;
	border: 0 !important;
}

.tx-googlefontschecker form,
#googleFontCheckerForm-175{
	/*display: flex;
	flex-wrap: wrap;*/
    padding: 4rem 5rem;
}

.tx-googlefontschecker form {
	color: var(--white-color);
    background: var(--theme-color);
}

#googleFontCheckerForm-175 {
	color: var(--text-color);
	background: var(--white-color);
    box-shadow: 0 0 5rem 0 rgba(0, 0, 0, .10);
}

.tx-googlefontschecker form .input-sword {
	width: 100%;
}

.tx-googlefontschecker form .input-sword input#website_url.form-control {
	color: var(--theme-color-3);
	line-height: 2.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
	background: transparent;
	border-bottom: 1px solid rgba(255,255,255,.3) !important;
}

.tx-googlefontschecker form .input-sword input#website_url.form-control:focus,
.tx-googlefontschecker form .input-sword input#website_url.form-control:active {
	border-bottom: 1px solid var(--theme-color-3) !important;
}

.tx-googlefontschecker form .input-sword input::placeholder {
	color: rgba(255,255,255,.4) !important;
}

.tx-googlefontschecker form .btn-group {
}

.tx-googlefontschecker.h-captcha-group {
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
}

.tx-googlefontschecker form label {
	font-size: 1.75rem;
}

.tx-googlefontschecker form .btn-group .gfontbtn {
	display:block;
	margin:0;
}

div#c175 header {
	max-width: 850px;
	margin: 6rem 0 4rem;
}

div#c175 {
	margin-bottom: 6rem;
}

.marring-top30,
.marring-top30 * {
	float: none !important;
}

.gfont-result,
.gfont-result .form-group h4 {
	font-size: 1.25rem;
	line-height: 2.25rem;
}

.gfont-result.loaded {
	padding: 4rem;
	border: 1px solid var(--border-color);
}

.gfont-result .form-group {
	margin-bottom: 1rem;
}

.gfont-result .form-group h4{
	margin-top: 1.5rem;
}

.tx-googlefontschecker .gfont-massage-green,
.tx-googlefontschecker .gfont-massage {
	position: relative;
}

.tx-googlefontschecker .gfont-massage-green {
    color: var(--gfont-color-green) !important;
}

.tx-googlefontschecker .gfont-massage,
.tx-googlefontschecker ul li::marker {
    color: var(--gfont-color-red) !important;
}

.tx-googlefontschecker .lds-ring {
	position: relative;
	margin: 2rem auto;
}

.tx-googlefontschecker .gfont-result #ajxResultStep2 {
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
    width: 100%;
	text-align: center;
}

.tx-googlefontschecker .lds-ring,
.tx-googlefontschecker .lds-ring div {
  width: 6rem;
  height: 6rem;
}

footer {
	position: relative;
	font-size: 1.125rem;
	line-height: 2.25rem;
	padding-bottom: 3rem !important;
	background: var(--white-color);
	z-index: 11;
}

footer a {
	color: var(--text-color);
}

footer a:hover,
footer a:focus,
footer a:active {
	text-decoration: none;
}

footer .footer-logo a{
	text-decoration: none !important;
}

.google-rating {
	display: inline-block;
	vertical-align: top;
	margin-left: 2.5rem;
}

.google-rating a {
	display: block;
}

.google-rating .google {
	display: inline-block;
	height: 3.5rem;
	padding: .5rem;
	background: var(--theme-color);
	margin-right: 1rem;
	vertical-align: top;
}

.google-rating .google img {
	width: 2.5rem;
	height: 2.5rem;
	vertical-align: top;
}

.google-rating .rating {
	display: inline-block;
}

.google-rating .rating span:first-child {
	display: block;
	vertical-align: top;
	line-height: 1;
}

.google-rating .star {
	margin-right: .5rem;
}

.contact-col,
.align-right {
	margin-top: -.5rem;
}

.sticky-content > div:first-child {
	position: sticky;
	top: 3rem;
}

#jpi-footer-logo {
    display: inline-block;
	width: 5rem;
	content:url("../images/jp-signet.svg");
}

.sm-container {
	width: 100%;
	max-width: 1200px;
}

#send-ani {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	font-size: 4rem;
	color: var(--theme-color-3);
	margin-bottom: 9rem;
}

#four-o-four-ani {
	margin-bottom: 9rem;
}

#send-ani .icon,
#four-o-four-ani .icon{
	opacity: 0;
	transform: scale(.25);
}

#c165,
#c169 {
	opacity: 0;
	will-change: opacity;
	transform: translateY(100%);
}

#send-ani .icon {
	-ms-flex: 0 0 20%;
	flex: 0 0 20%;
	width: 20%;
}

#send-ani .icon.send-icon svg {
	margin-right: auto;
}

#send-ani .icon.check-icon svg {
	margin-left: auto;
}

#send-ani .sending {
	-ms-flex: 0 0 60%;
	flex: 0 0 60%;
	width: 60%;
}

#send-ani .sending span {
	display: block;
	width: 0;
	height: 4rem;
	will-change: width;
	border-bottom: 0.25rem solid var(--theme-color-3);
}

#send-ani .icon svg,
#four-o-four-ani .icon svg {
	display: block;
	width: 8rem;
	height: 8rem;
	-ms-fill: var(--theme-color-3);
	fill: var(--theme-color-3);
}

#four-o-four-ani .icon svg {
	width: 12rem;
	height: 12rem;
	margin: 0 auto;
}

.loaded #send-ani .icon.send-icon {
	transform: scale(1);
	opacity: 1;
	-ms-transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
	-moz-transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
	-webkit-transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
	transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
}

.loaded #send-ani .sending span {
	width: 100%;
	-ms-transition: width 600ms var(--theme-transition) 1800ms;
	-moz-transition: width 600ms var(--theme-transition) 1800ms;
	-webkit-transition: width 600ms var(--theme-transition) 1800ms;
	transition: width 600ms var(--theme-transition) 1800ms;
}

.loaded #send-ani .icon.check-icon {
	transform: scale(1);
	opacity: 1;
	-ms-transition: transform 600ms var(--theme-transition) 2600ms, opacity 600ms var(--theme-transition) 2600ms;
	-moz-transition: transform 600ms var(--theme-transition) 2600ms, opacity 600ms var(--theme-transition) 2600ms;
	-webkit-transition: transform 600ms var(--theme-transition) 2600ms, opacity 600ms var(--theme-transition) 2600ms;
	transition: transform 600ms var(--theme-transition) 2600ms, opacity 600ms var(--theme-transition) 2600ms;
}

.loaded #c165 {
	opacity: 1;
	transform: translateY(0);
	-ms-transition: transform 600ms var(--theme-transition) 2600ms, opacity 600ms var(--theme-transition) 2600ms;
	-moz-transition: transform 600ms var(--theme-transition) 2600ms, opacity 600ms var(--theme-transition) 2600ms;
	-webkit-transition: transform 600ms var(--theme-transition) 2600ms, opacity 600ms var(--theme-transition) 2600ms;
	transition: transform 600ms var(--theme-transition) 2600ms, opacity 600ms var(--theme-transition) 2600ms;
}

.loaded #four-o-four-ani .icon {
	opacity: 1;
	transform: scale(1.5) rotate(360deg);
	-ms-transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
	-moz-transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
	-webkit-transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
	transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
}
.loaded #c169 {
	opacity: 1;
	transform: translateY(0);
	-ms-transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
	-moz-transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
	-webkit-transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
	transition: transform 600ms var(--theme-transition) 1100ms, opacity 600ms var(--theme-transition) 1100ms;
}

footer .footer-logo svg .signet {
	-ms-fill: var(--theme-color-3);
	fill: var(--theme-color-3);
}

footer .footer-logo img.t3-logo {
	width: 8rem;
    height: auto;
	margin-left: 2.5rem;
	vertical-align: top;
}

footer .footer-links {
    margin-top: 1rem;
}

footer .footer-links a{
	margin-left: 1.5rem;
	text-decoration: none;
}

footer .footer-links a:hover,
footer .footer-links a:focus,
footer .footer-links a:active{
	color: var(--theme-color-3);
}

.back-to-top {
	position: fixed;
	display: none;
	width: 5.5rem;
	height: 5.5rem;
	right: 5rem;
	right: 7rem;
	bottom: 3rem;
	color: var(--theme-color-3) !important;
	background: var(--theme-color-2);
	box-shadow: 0 0 3rem rgba(0,0,0,.3);
	text-align: center;
	z-index:10;
}

.back-to-top svg{
	position: absolute;
	width: auto;
	height: 2rem;
	top: 50%;
	left: 50%;
	right: 0;
	margin: 0;
	transform: translate(-50%,-50%);
}

/* ### Privacy & Imprint ### */
.privacy-imprint h1 {
	font-weight: 600;
}

.privacy-imprint h1,
.privacy-imprint h2 {
	margin-bottom: 3rem;
}

.privacy-imprint p + h2 {
	margin-top: 3rem;
}

#page-3 .frame-space-after-extra-large {
	margin-top: 0 !important;
}


.btn:disabled {
	color:var(--theme-color-3);
	background-color:var(--theme-color-2);
}

.img-box.shadow {
    box-shadow: 0 .5rem 2rem rgba(0,0,0,.15) !important;
}

.navbar .navbar-brand img.ho-ho-ho {
	position: absolute;
	width: 3rem;
	height: auto;
	top: 0;
	right: 0;
	transform: translate(36%,39%);
	z-index: 1;
}
 
.floating-box {
	position: fixed;
	right: 0;
	top: 50%;
	width: calc(100vw - 5rem);
	max-width: 600px;
	align-items: center;
    transform: translate(100%,-50%);
	padding: 3rem;
    background: var(--white-color);
    -ms-transition: transform 300ms var(--theme-transition) 0ms;
    -moz-transition: transform 300ms var(--theme-transition) 0ms;
    -webkit-transition: transform 300ms var(--theme-transition) 0ms;
    transition: transform 300ms var(--theme-transition) 0ms;
    z-index: 12;
}

.floating-box.open {
    transform: translate(0,-50%);
}

.floating-box button {
	position: absolute;
	top: 0;
	left: -5rem;
	background: var(--theme-color);
	padding: 1rem;
	border: 0;
    color: #fff;
}

.floating-box button img {
	width: 3rem;
	height: 3rem;
}

/* Default CSS */
.ce-align-left{text-align:left}.ce-align-center{text-align:center}.ce-align-right{text-align:right}.ce-table td,.ce-table th{vertical-align:top}.ce-textpic,.ce-image,.ce-nowrap .ce-bodytext,.ce-gallery,.ce-row,.ce-uploads li,.ce-uploads div{overflow:hidden}.ce-left .ce-gallery,.ce-column{float:left}.ce-center .ce-outer{position:relative;float:right;right:50%}.ce-center .ce-inner{position:relative;float:right;right:-50%}.ce-right .ce-gallery{float:right}.ce-gallery figure{display:table;margin:0}.ce-gallery figcaption{display:table-caption;caption-side:bottom}.ce-gallery img{display:block}.ce-gallery iframe{border-width:0}.ce-border img,.ce-border iframe{border:1px solid #000;padding:0}.ce-intext.ce-right .ce-gallery,.ce-intext.ce-left .ce-gallery,.ce-above .ce-gallery{margin-bottom:10px}.ce-image .ce-gallery{margin-bottom:0}.ce-intext.ce-right .ce-gallery{margin-left:10px}.ce-intext.ce-left .ce-gallery{margin-right:10px}.ce-below .ce-gallery{margin-top:10px}.ce-column{margin-right:10px}.ce-column:last-child{margin-right:0}.ce-row{margin-bottom:10px}.ce-row:last-child{margin-bottom:0}.ce-above .ce-bodytext{clear:both}.ce-intext.ce-left ol,.ce-intext.ce-left ul{padding-left:40px;overflow:auto}.ce-headline-left{text-align:left}.ce-headline-center{text-align:center}.ce-headline-right{text-align:right}.ce-uploads{margin:0;padding:0}.ce-uploads li{list-style:none outside none;margin:1em 0}.ce-uploads img{float:left;padding-right:1em;vertical-align:top}.ce-uploads span{display:block}.ce-table{width:100%;max-width:100%}.ce-table th,.ce-table td{padding:.5em .75em;vertical-align:top}.ce-table thead th{border-bottom:2px solid #dadada}.ce-table th,.ce-table td{border-top:1px solid #dadada}.ce-table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.ce-table-bordered th,.ce-table-bordered td{border:1px solid #dadada}.frame-space-before-extra-small{margin-top:1em}.frame-space-before-small{margin-top:2em}.frame-space-before-medium{margin-top:3em}.frame-space-before-large{margin-top:4em}.frame-space-before-extra-large{margin-top:5em}.frame-space-after-extra-small{margin-bottom:1em}.frame-space-after-small{margin-bottom:2em}.frame-space-after-medium{margin-bottom:3em}.frame-space-after-large{margin-bottom:4em}.frame-space-after-extra-large{margin-bottom:5em}.frame-ruler-before:before{content:'';display:block;border-top:1px solid rgba(0,0,0,.25);margin-bottom:2em}.frame-ruler-after:after{content:'';display:block;border-bottom:1px solid rgba(0,0,0,.25);margin-top:2em}.frame-indent{margin-left:15%;margin-right:15%}.frame-indent-left{margin-left:33%}.frame-indent-right{margin-right:33%}.show-host{font-size:.7em;color:grey}.tx-sitewatch-list{font-size:.8em}

.frame-layout-2 .ce-gallery img {
  width: 100%;
  height: auto;
}

.jp-video-teaser {
	position: relative;
	margin-bottom: 1.5rem;
	box-shadow: 0 0 2rem 0 rgba(0,0,0,0.05);
    -ms-transition: box-shadow 300ms var(--theme-transition) 0ms;
    -moz-transition: box-shadow 300ms var(--theme-transition) 0ms;
    -webkit-transition: box-shadow 300ms var(--theme-transition) 0ms;
    transition: box-shadow 300ms var(--theme-transition) 0ms;
}

.jp-video-teaser:hover {
	box-shadow: 0 0 2rem 0 rgba(0,0,0,0.15);
}

.jp-video-teaser a {
	position: relative;
}

.jp-video-teaser video{
	/*max-width:413px;*/
	display:block;
	width:100%;
	min-height: 17.5rem;
	margin-bottom: 0;
}

.jp-video-teaser a:before {
	position: absolute;
	width: 5.5rem;
    height: 5.5rem;
	content: " ";
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	background-color:var(--theme-color-3);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' class='bi bi-play' viewBox='0 0 16 16'%3E%3Cpath d='M10.804 8 5 4.633v6.734zm.792-.696a.802.802 0 0 1 0 1.392l-6.363 3.692C4.713 12.69 4 12.345 4 11.692V4.308c0-.653.713-.998 1.233-.696z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 80% auto;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	cursor: pointer;
	z-index: 1;
}

.jp-video-teaser.play .video:before {
	display: none;
}

.jp-video-teaser p {
	padding: 1.5rem;
	margin-bottom: 0;
}

#references.seo-page {
    background: var(--white-color);
}

#references.seo-page {
    background: var(--white-color);
}

#references.seo-page #additional-references:after,
#references.seo-page .reference-col {
	display: none;
}

#references.seo-page .reference-col:first-child,
#references.seo-page .reference-col:nth-child(2),
#references.seo-page .reference-col:nth-child(3),
#references.seo-page .reference-col:nth-child(4),
#references.seo-page .reference-col:nth-child(5) {
	display: block;
}

#references.seo-page #additional-references {
	height: auto;
}

#references .team-member h3 {
	font-size: 1.5rem;
}

#references .news h3 {
	font-size: 1.75rem;
}

.ce-gallery.ce-border .ce-column {
	/*padding: 1.5rem 1rem;
	background: var(--white-color);
	box-shadow: 0 0 1rem 0 rgba(0,0,0,.1);*/
	margin-right: 2.5rem;
	margin-bottom: 2.5rem;
}

.seo-page .ce-gallery.ce-border img {
	width: auto;
	height: 3rem;
	border: 0;
	filter: grayscale(100%);
	opacity: .7;
}

.seo-page #references-overlay #reference-text h2,
.seo-page #references-overlay #reference-text p {
	color: var(--white-color);
}

.seo-page > .container > div:not(.frame-type-header, .frame-layout-2) {
	margin-bottom: 6rem !important;
}

.seo-page #news {
	padding-bottom: 0 !important;
}

.seo-page .team-member {
	margin-bottom: 0;
}

.seo-page #additional-references {
	padding-top: 5rem;
	padding-bottom: 0;
}

.seo-page .frame-type-shortcut {
	margin-bottom: 4rem !important;
}

.seo-page .frame.frame-layout-3 ul {
	list-style: none;
	padding-left: 0;
}

.seo-page .frame.frame-layout-3 ul li {
	position: relative;
	padding-left: 2.5rem;
}

.seo-page .frame.frame-layout-3 ul li:before {
	position: absolute;
	display: inline-block;
	width: 1.5rem;
	height: 1.5rem;
	top: .25rem;
	left: 0;
	border-radius: 1.5rem;
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-check2' viewBox='0 0 16 16'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-color: var(--theme-color-3);
	background-size: 1rem auto;
}

.seo-page .seo-list {
	padding-top: 6rem;
	padding-bottom: 6rem;
    background: var(--white-color);
    box-shadow: 0 0 5rem 0 rgba(0,0,0,.15);
	margin-bottom: 9rem;
}

.seo-page .seo-list h4 {
	margin-bottom: 3rem;
}

#angebot form .actions {
	display: none;
	max-width: 700px;
	margin: 1.5rem auto 0 ;
}

#typo3-upgrade-funnel {
	position: relative;
}

#typo3-upgrade-funnel fieldset {
	display: none;
	text-align: center;
}

#typo3-upgrade-funnel fieldset legend {
	margin-bottom: 2rem;
}

#typo3-upgrade-funnel fieldset.active {
	display: block;
}

#typo3-upgrade-funnel form .jp-link-btn {
    min-width: 13rem;
}

#typo3-upgrade-funnel form select {
	max-width: 100%;
}

#page-76 .frame.frame-type-form_formframework{
	display: none;
}

/*
#typo3-upgrade-funnel .form-group {
	display: flex;
	justify-content: center;
}*/

.typo3-funnel-container input[type="radio"] {
	width: 2rem;
	height: 2rem;
}

#typo3-upgrade-funnel input,
#typo3-upgrade-funnel select {
	margin-bottom: 1.5rem;
}

#typo3-upgrade-funnel .jp-link.disabled {
	pointer-events: none;
}

#typo3-upgrade-funnel form .radio,
#typo3-upgrade-funnel form .radio input {
	display: inline-block;
}

#typo3-upgrade-funnel form .radio input {
	width: 2rem;
}

#typo3-upgrade-funnel form .radio:not(:last-child) {
    margin-right: 2rem;
    margin-bottom: 0;
}

.typo3-funnel-container {
	--bs-gutter-x: 4rem;
}

#typo3-upgrade-funnel p.costs {
	display: inline-block;
	font-size: 2rem;
	padding: 2rem;
	border: 1px solid var(--theme-color-3);
	margin-bottom: 0.5rem;
}

#typo3-funnel-result {
	border-bottom: 1px solid var(--theme-color-3);
	padding-bottom: .5rem;
	margin-bottom: 2rem;
}

#typo3-upgrade-funnel legend .info {
	display: inline-block;
	width: 2rem;
	height: 2rem;
	border-radius: 2rem;
	margin-left: .5rem;
	background-color: var(--theme-color-3);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23000000' class='bi bi-question-circle' viewBox='0 0 16 16'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16'/%3E%3Cpath d='M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286m1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60% auto;
	cursor: pointer;
	vertical-align: middle;
}

#typo3-upgrade-funnel .funnel-restart {
	position: absolute;
	display: none;
	left: 1.5rem;
	bottom: 1rem;
	font-size: 1rem;
	color: var(--text-color);
}

#typo3-upgrade-funnel .funnel-restart:hover,
#typo3-upgrade-funnel .funnel-restart:focus,
#typo3-upgrade-funnel .funnel-restart:active {
	color: var(--theme-color-3);
}

#helpdesk {
	margin-top: 3rem;
}

.helpdesk-link {
	display: block;
	color: var(--text-color);
	text-decoration: none;
}

.helpdesk-teaser {
	padding: 4rem;
	background: var(--white-color);
	border: 1px solid var(--border-color);
	-webkit-transition: 300ms var(--theme-transition) 0ms;
	-moz-transition: 300ms var(--theme-transition) 0ms;
	transition: 300ms var(--theme-transition) 0ms;
	margin-bottom: 2.25rem;
}

.helpdesk-teaser:hover {
	transform: translateY(-1rem);
	background: var(--theme-color-3);
	border: 1px solid var(--theme-color-3);
	box-shadow: 0 2rem 5rem 0 rgba(0, 0, 0, .25);
}

.helpdesk-teaser .icon-wrap {
	display: flex;
	align-items:center;
	justify-content: center;
	width: 6rem;
	height: 6rem;
	margin: 0 auto 2rem;
	background: var(--theme-color-3);
	border: 1px solid var(--theme-color-3);
}

.helpdesk-teaser:hover .icon-wrap {
	border: 1px solid var(--theme-color-2);
}

.helpdesk-teaser .icon-wrap img {
	width: 3.5rem;
	height: auto;
}

.helpdesk-teaser h2 {
	font-size: 2rem;
	margin-bottom: 0;
}

.bordered-col-row {
	gap: 3rem;
}

.ce-col.bordered-col {
	padding: 4rem;
	border: 1px 
      solid var(--border-color);
}

.helpdesk-text-col .frame {
	margin-bottom: 3rem;
	padding-bottom: 4rem;
	border-bottom: 1px solid var(--border-color);
}

.helpdesk-video-col.sticky-content>div:first-child {
    top: 12rem;
}

.frame-type-text.frame-layout-3 {
	padding: 4rem;
	background: #f0f0f0;
}

.frame-type-text.frame-layout-3 em {
	color: var(--theme-color-3);
}

.helpdesk-text-col .ce-gallery img {
	max-width: 100%;
	height: auto;
}

#datenschutz-formular h2:not(first-of-type) {
	font-size: 1.75rem;
	font-weight: 600;
	margin-bottom: 0rem;
	hyphens: auto;
}
#datenschutz-formular h2:not(first-of-type) {
	margin-top: 4rem;
}

#datenschutz-formular h2 + p {
	font-size: 1.25rem;
}

#datenschutz-formular .form-group {
	margin-top: 1.5rem;
}

#datenschutz-formular .control-label {
	display: block;
	font-weight: 600;
}

#datenschutz-formular .input select {
	appearance: auto;
}

#datenschutz-formular .input span {
	opacity: 0.8;
	margin-top: 0rem;
}

#datenschutz-formular .input input:not([type="checkbox"]):not([type="submit"]),
#datenschutz-formular .input select {
	margin-bottom: 0rem;
}

#datenschutz-formular label + .input {
	background: none;
	margin-top: -0.5rem;
	line-height: unset;
}
#datenschutz-formular label + .input input,
#datenschutz-formular label + .input textarea, 
#datenschutz-formular label + .input select {
	margin-bottom: 0;
}

#datenschutz-formular label + .radio {
	margin-top: 1rem;
}

#datenschutz-formular .radio label {
	font-weight: unset;
}

#datenschutz-formular span.error {
	display: block;
	margin-top: 0.5rem;
	color: var(--gfont-color-red);
}

#datenschutz-formular .hcaptcha {
	margin-bottom: 0;
}
#datenschutz-formular .hcaptcha > span.error {
	margin-top: -2rem;
	margin-bottom: 2rem;
}

#barrierefreiheit-formular {

}
		#barrierefreiheit-formular legend {
			font-size: 2rem;
			font-weight: 600;
			margin-bottom: 2rem;
		}
		#barrierefreiheit-formular legend:not(:has(.frame-type-text)) {
		}
		#barrierefreiheit-formular form .clearfix .frame-type-text p {
			display: block !important;
			margin: 3rem 0 1rem 0 !important;
			font-size: 1.25rem !important;
		}

		#barrierefreiheit-formular form .control-label {
			display: block;
			font-weight: 600;
		}

		#barrierefreiheit-formular form .control-label > .form-group {
			margin-top: 0;
		}


		#barrierefreiheit-formular form .input select {
			appearance: auto;
		}

		#barrierefreiheit-formular form .frame-type-text {
			margin-bottom: 2rem;
		}


/* MEDIAS */
@media  (min-width:992px) {
	html,body {
		font-size:12px;
	}

	#main-nav .container,
	#service-nav .container {
		max-width: 70%;
	}

	#main-nav ul.main-nav li a:hover,
	#main-nav ul.main-nav li a:focus,
	#main-nav ul.main-nav li a:active {
		padding-left: 1.5rem;
	}

	.jp-banner .jp-video-wrapper {
		background: url("../images/jp-video-bg.jpg")no-repeat center;
		background-size: cover;
	}
    
  	#references .reference-row {
      	align-items: center;
  	}

	
	#services-list div[class*="col"] {
		margin-bottom: 3rem;
	}

	.services-row .service-col {
		position: relative;
		-ms-flex: 0 0 48%;
		flex: 0 0 48%;
	}

	.services-row .service-col:last-child {
		margin-left: 4%;
	}

	.services-row .service-col {
		padding: 3rem;
	}

	.services-row .service-col header {
		transition: opacity 300ms var(--theme-transition) 0ms;
	}

	.services-row .service-col:hover header {
		opacity: 0;
	}

	.service-icon {
		-ms-fill: var(--theme-color-3);
		fill: var(--theme-color-3);
	}

	.services-row .service-col > .frame-type-text {
		position: relative;
	}

	.services-row .service-col > .frame-type-text p {
		position: absolute;
		opacity: 0;
		top: 50%;
		left: 0;
		transform: translateY(0%);
		margin-bottom: 0;
		transition: opacity 300ms var(--theme-transition) 0ms,  transform 300ms var(--theme-transition) 0ms;
	}

	.services-row .service-col:hover p {
		opacity: 1;
		transform: translateY(-50%);
	}
}

@media  (min-width:1200px) {
	html,body {
		font-size: 12px;
	}

	#services-list div[class*="col"] {
		margin-bottom: 6rem;
	}

	.services-row .service-col {
		position: relative;
		-ms-flex: 0 0 47%;
		flex: 0 0 47%;
	}

	.services-row .service-col:last-child {
		margin-left: 6%;
	}

	.services-row .service-col {
		padding: 4rem;
	}
}

@media  (min-width:1400px) {
	html,body {
		font-size: 13.5px;
	}
}


@media (min-width: 1800px) {
	:root {
		--container-width: 1800px;
	}

	.navbar-right, .back-to-top {
		right: calc((100% - var(--container-width)) / 1.46);
	}
}
@media (min-width:1920px) {
	html, body {
		font-size: 15px;
	}

	#main-nav .color-palette {
		right: 30vw;
	}
}

@media (min-width:2120px) {
	#main-nav .color-palette {
		right: 33vw;
	}
}

@media (min-width:2500px) {
	#main-nav .color-palette {
		display: none !important;
	}
}
@media (max-width: 1199px) {
	#news .slick-prev, #news .slick-next {
		top: 5.5rem;
	}
	
	#references .reference-col {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
	}

	.services-row .service-col > .frame-type-text p {
		font-size: 1.125rem;
		line-height: 2.0rem;
	}

	#angebot form .inputs-list .radio {
		display: block;
		text-align: left;
		max-width: 350px;
		margin-left: auto;
		margin-right: auto;
		padding: .5rem;
		border: 1px solid #eee;
	}
	
	.helpdesk-teaser {
		padding: 3rem 2rem 2rem;
	}
}

@media (max-width: 1099px) {
	.google-rating {
		display: block;
		margin-top: 1.5rem;
		margin-left: 0;
	}
}

@media (max-width: 991px) {
	#main-nav .container,
	#service-nav .container {
		max-width: 90%;
	}

	.jp-banner .jp-video-overlay p.banner-title {
		font-size: 3.5rem;
		line-height: 4.5rem;
	}

	#references .reference-row .reference-img {
		order: 1;
		margin-bottom: 2rem;
	}
	
	#references .reference-row .reference-desc {
		order: 2;
	}
	
	#references .add-border,
	#references .add-border.switch	{
		padding-right: 4rem;
	}
	
	#references .add-border.switch {
		padding-left: 0;
	}
	
	#references .add-border:before,
	#references .add-border.switch:before	{
		width: 8rem;
		height: 8rem;
		right: 0rem;
		left: initial;
		bottom: -3rem;
	}
	
	#references .add-border:after,
	#references .add-border.switch:after {
		height: 10rem;
		right: 6.25rem;
		left: initial;
		bottom: -0.7rem;
		transform: rotate(45deg);
	}
	
	#references .reference-col {
		-ms-flex: 0 0 33.33333333%;
		flex: 0 0 33.33333333%;
	}

	#references #references-overlay {
		overflow-y: auto;
	}
	
	#news .slick-prev, #news .slick-next {
		top: 3.5rem;
	}

	.services-row .service-col {
		padding: 2.5rem;
	}

	.services-row .service-col {
		margin-bottom: 2.5rem;
	}

	.services-row .service-col header:before {
		transform: scale(.75) translateX(-17%);
	    margin-bottom: 2rem;
	}
	
	.tx-domaincheck-search-form .text-right {
		justify-content: flex-start;
		margin-top: 2rem;
	}
}

@media (min-width: 768px) {
	.navbar-toggler:hover .icon-bar.top{
		width: 1.5rem;
	}

	.navbar-toggler:hover .icon-bar.bottom{
		width: 3rem;
	}	
	
	#references #references-overlay .container {
		position: relative;
		top: 50%;
		transform: translateY(-50%);
	}
  
  	.news-item a {
		position: relative;
    	outline:0 solid var(--white-color);
  	}
  
  
    .news-item:hover a {
        background: var(--white-color);
        outline: 2.5rem solid var(--white-color);
      	box-shadow: 0 0 5rem 0 rgba(0, 0, 0, .3);
		z-index: 2;
    }
	
	.news-item a:hover .news-img:after{
		width:100%;
	}

	.color-palette #clicks-total {
		display: flex;
		position: absolute;
		justify-content: space-between;
		width: 100%;
		top: 0;
		left: 0;
		opacity: 0;
		padding: 1.25rem;
		background: var(--white-color);
		transform: translateY(-100%);
		transition: opacity 600ms var(--theme-transition) 0ms;
	}

	.color-palette #clicks-total.visible {
		opacity: 1;
		transition: opacity 600ms var(--theme-transition) 300ms;
	}
	
	.ce-col.col-md-6.bordered-col {
		width:calc(50% - 2rem);
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.jp-banner .jp-video-wrapper {
		background: url("../images/jp-video-bg-mobile.jpg")no-repeat center;
	}
}

@media (max-width:767px) {
	html, body {
		overflow-x: hidden;
	}
	
	h2 {
		font-size: 2.25rem;
		line-height: 2.75rem;
		margin-bottom: 2rem;
	}

	section {
		padding: 9rem 0 6rem;
	}
	
	.container {
		max-width: 100%;
		width: 100%;
		padding-left: 2.25rem;
		padding-right: 2.25rem;
	}
	
	#header {
		padding: 1.5rem 0 !important;
	}
	
	.navbar .navbar-brand {
		top: 2rem;
	}
	
	.navbar-right {
		top: 2rem;
		right: 2.25rem;
	}

	.navbar-right a.service-toggler {
		display: none;
	}
	
	.navbar-toggler .icon-bar{
		display: block;
		width: 3rem;
		margin-bottom: 0.5rem;
		background: var(--text-color) !important;
	}

	.navbar-toggler .icon-bar.bottom{
		width: 2rem;
	}

	.navbar-toggler:hover .icon-bar.top{
		width: 2rem;
	}

	.navbar-toggler:hover .icon-bar.bottom{
		width: 3rem;
	}
	
	#header .webmail {
		display: none;
	}
	
	.navbar-right button.service-toggler {
		margin-right: 1.0rem;
		display: none;
	}

	#main-nav .container, #service-nav .container {
		max-width: 100%;
	}
	
	#main-nav, #service-nav {
		display: block;
	}
	
	.jp-link.home {
		left: 0.75rem;
		margin-top: 1.5rem;
	}

	#main-nav.open  .contact-col {
		margin-top: 7rem;
	}
	
	#main-nav .contact-col p {
		display:none;
	}
		
	#main-nav ul.main-nav {
		font-size: 2.5rem;
		margin-top: 8.25rem;
	}

	#main-nav ul.shortcuts {
		margin-top: 2rem;
	}

	#main-nav ul.contact-nav li a, #servicenav ul.contact-nav li a {
		margin-top: 1rem;
	}
	
	#mobile-nav-footer {
		position: fixed;
		display: flex;
		left: 0;
		right: 0;
		bottom: 0;
		will-change: transform;
		transform: translateY(100%);
		opacity: 0;
		-ms-transition: transform 400ms var(--theme-transition) 0ms;
		-moz-transition: transform 400ms var(--theme-transition) 0ms;
		-webkit-transition: transform 400ms var(--theme-transition) 0ms;
		transition: transform 400ms var(--theme-transition) 0ms;
	}

	#main-nav.open #mobile-nav-footer {
		transform: translateY(0);
		opacity: 1;
		-ms-transition: transform 600ms var(--theme-transition) 900ms, opacity 600ms var(--theme-transition) 900ms;
		-moz-transition: transform 600ms var(--theme-transition) 900ms, opacity 600ms var(--theme-transition) 900ms;
		-webkit-transition: transform 600ms var(--theme-transition) 900ms, opacity 600ms var(--theme-transition) 900ms;
		transition: transform 600ms var(--theme-transition) 900ms, opacity 600ms var(--theme-transition) 900ms;
	}

	#mobile-nav-footer .jp-link-btn {
		position: relative;
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		margin: 0;
		text-align: center;
		border-radius: 0 !important;
	}

	#mobile-nav-footer .jp-link-btn:last-child:before {
		position: absolute;
		width: 1px;
		height: 100%;
		left: 0;
		top: 0;
		content: "";
		background: rgba(255,255,255,.3);
		z-index: 1;
	}

	#main-nav .color-palette {
		position: absolute;
		display: block;
		top: -10rem;
		right: 12rem;
		width: 5rem;
		height: 4.5rem;
		transform: none;
		overflow: hidden;
		text-align: right;
		will-change: opacity;
		opacity: 0;
	}

	#main-nav.open .color-palette {
		top: 2.25rem;
		opacity: 1;
		-ms-transition: opacity 600ms var(--theme-transition) 900ms, top 600ms var(--theme-transition) 900ms;
		-webkit-transition: opacity 600ms var(--theme-transition) 900ms, top 600ms var(--theme-transition) 900ms;
		-moz-transition: opacity 600ms var(--theme-transition) 900ms, top 600ms var(--theme-transition) 900ms;
		transition: opacity 600ms var(--theme-transition) 900ms, top 600ms var(--theme-transition) 900ms;
	}

	#main-nav .color-palette.open {
		width: 19.5rem;
		-ms-transition: width 600ms var(--theme-transition) 0ms;
		-webkit-transition: width 600ms var(--theme-transition) 0ms;
		-moz-transition: width 600ms var(--theme-transition) 0ms;
		transition: width 600ms var(--theme-transition) 0ms;
	    box-shadow: -1.5rem 0 1rem 0 rgba(0, 0, 0, .1);
	}

	#main-nav .color-palette .row {
		position: absolute;
		top: 1.125rem;
		right: 5.5rem;
		visibility: hidden;
		opacity: 0;
	}

	#main-nav .color-palette.open .row {
		visibility: visible;
		opacity: 1;
		-ms-transition: opacity 600ms var(--theme-transition) 600ms;
		-webkit-transition: opacity 600ms var(--theme-transition) 600ms;
		-moz-transition: opacity 600ms var(--theme-transition) 600ms;
		transition: opacity 600ms var(--theme-transition) 600ms;
	}

	#main-nav .palette-toggler {
		display: block;
		width: 3rem;
		height: 3rem;
		border-radius: 3rem;
		margin-top: .75rem;
		margin-right: 1rem;
		margin-left: auto;
		background-size: 48% auto;
		border: 1px solid var(--theme-color) !important;
	}

	#main-nav .color-palette .scheme-select {
		width: 2rem;
		height: 2rem;
		border-radius: 2rem;
	}

	.jp-banner .jp-video-wrapper video {
		display: none;
	}

	.jp-banner .jp-video-overlay {
		background: url("../images/typo3-jp-bg-mobil.jpg")no-repeat right center;
		background-size: cover;
	}

	.jp-banner .jp-video-overlay p.banner-title {
		font-size: 3.0rem;
		line-height: 3.75rem;
		font-size: 3.5rem;
    	line-height: 4.25rem;
	}

	.jp-banner .jp-video-overlay .bottom-line p {
		margin-bottom: 0;
	}
	
	.jp-banner .jp-video-overlay .bottom-line .intro-scroller {
		right: 2.25rem;
		top: auto;
		bottom: -4rem;
	}
	
	#intro .headline-col,
	#intro .headline-col > .frame-type-text {
		margin-bottom: 4rem;
	}
	
	#references .reference-col {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
	}

	#references .reference-row .desktop {
		display: none;
	}

	#references .reference-row .mobile {
		display: block;
	}
	
	#references #references-overlay {
		padding: 7rem 2.25rem 5rem;
		overflow-y: scroll;
	}
	
	#references #references-overlay .container {
		padding: 0;
	}
	
	#references #references-overlay #reference-preview,
	#references #references-overlay #reference-text {
		padding-right: 0rem;
	}

	#references #references-overlay #reference-preview {
		margin-bottom: 8rem;
	}
	
	#references #references-overlay .references-closer {
		right: 1rem;
		top: 1rem;
	}

	#references #references-overlay .references-nav {
		padding: 1rem 2.25rem;
	}

	#references #references-overlay .references-nav {
		position: relative;
		padding-left: 0;
		padding-right: 0;
		background: transparent;
	}

	#references #references-overlay {
		padding-bottom: 0;
	}

	.news-img svg {
		display: none !important;
	}
	
	#cta .text-right {
		text-align: left !important;
	}
	
	#cta .jp-link {
		margin-bottom: 0;
	}

	section.pt-half .intro-col {
		padding-right: 2.25rem;
	}
	
	#services div[class*="col"]:last-child {
		margin-bottom: 0;
	}
	
	.services-row .service-col {
		padding: 2.25rem;
		margin-bottom: 2.25rem;
	}

	.contact-form {
		margin-top: 6rem;
	}

	.contact-form > .frame-type-form_formframework,
	.contact-form .frame-type-form_formframework,
	.tx-domaincheck-search-form {
		padding: 2rem 2.25rem;
	}

	.tools-box {
		padding: 3rem;
	}

	#agentur-intro {
		padding-bottom: 6rem;
	}

	section.send {
		padding-top: 6rem;
	}

	#send-ani,
	#four-o-four-ani {
		margin-bottom: 6rem;
	}

	#send-ani .icon {
		-ms-flex: 0 0 15%;
		flex: 0 0 15%;
		width: 15%;
	}

	#send-ani .sending {
		-ms-flex: 0 0 70%;
		flex: 0 0 70%;
		width: 70%;
	}

	#send-ani .sending span {
		height: 3.25rem;
	}

	#send-ani .icon svg,
	#four-o-four-ani .icon svg {
		width: 6rem;
		height: 6rem;
	}

	.tx-googlefontschecker form,
	#googleFontCheckerForm-175,
	.tx-googlefontschecker .gfont-result.loaded {
		padding: 2rem 2.25rem;
	}

	.tx-googlefontschecker .gfont-result ul li {
		-webkit-hyphens: auto;
		hyphens: auto;
	}
	
	.frame-type-text.frame-layout-3 {
		padding: 2.25rem;
	}
	
	.helpdesk-video-col {
		margin-bottom: 3rem;
	}

	.footer-logo {
		margin-bottom: 2rem;
	}
	
	.footer-links {
		margin-top: 2rem;
	}
	
	footer .contact-col {
		margin-bottom: 1rem;
	}
 	
	.back-to-top {
		right: 2.25rem;
	}

	.tx-domaincheck-search-form .select-col {
		margin-top: 2rem;
	}

	.contact-col,
	.align-right {
		margin-top: 0;
	}

	.seo-page .jp-link-btn {
		margin-bottom: 6rem;
	}

	.seo-page #counter {
		font-size: 3rem;
	}
}

@media (max-width:665px) {
	.jp-banner .jp-video-overlay p.banner-title {
		font-size: 2.875rem;
		line-height: 3.75rem;
	}
}

@media (max-width:619px) {

}

@media (min-width: 576px) {
	.row.img-col {
		max-height: 376px;
		margin-bottom: 1.5rem;
		overflow: hidden;
	}

	footer .footer-links br {
		display: none;
	}
}

@media (max-width:575px) {
	.navbar-right .navbar-toggler {
		padding-left: 1.25rem;
	}

	.navbar-right .menu {
		display: none;
	}

	#main-nav .color-palette {
		right: 8rem;
	}

	#main-nav ul.shortcuts {
		display: none;
	}

	#main-nav.open .contact-col {
		margin-top: 2rem;
	}

	#main-nav ul.contact-nav li a, #servicenav ul.contact-nav li a {
		margin-top: 1rem;
	}

	#intro-wrapper #intro-wrapper-content.loaded #logo-animation img{
		width: 10rem;
		display: block;
		margin: 0 auto;
	}

	#intro-wrapper #intro-wrapper-content {
		height: 100%;
	}

	#intro-wrapper #intro-wrapper-content #logo-animation {
		position: absolute;
		margin: 0 auto;
	}

	#intro-wrapper #intro-wrapper-content #logo-animation,
	#intro-wrapper #intro-wrapper-content #colorscheme-select {
		top: 50%;
		-ms-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	#intro-wrapper #intro-wrapper-content #colorscheme-select .row > div {
		padding-top: 0;
		padding-bottom: 0;
	}
	
	.jp-banner .jp-video-overlay p.banner-title {
		font-size: 3.5rem;
		line-height: 4.25rem;
	}
	.jp-banner .jp-video-overlay p.banner-title br {
		display: none;
	}
	
	.jp-banner .jp-video-overlay p.banner-title span {
		display: inline; 
	}
	
	.jp-banner .jp-video-overlay p.banner-title span:after {
		width: 53%;
		display: none;
	}

	.jp-banner .jp-video-overlay .bottom-line {
		bottom: 2.25rem;
	}
	
	.jp-banner .jp-video-overlay .bottom-line p span {
		margin-bottom: 0.5rem;
	}
	
	.jp-banner .jp-video-overlay .bottom-line p span:before {
		margin-right: 0.75rem;
		margin-top: -0.25rem;
	}

	.jp-banner .jp-video-overlay .bottom-line p {
		font-size: 1.25rem;
		line-height: 1.5rem;
	}
	
	#intro .headline-col h1 {
		font-size: 2.125rem;
		line-height: 2.5rem;
	}

	#intro .headline-col img {
		max-width: 100px;
		height: auto;
	}

	main.subpage {
		padding-top: 4rem;
	}

	#page-2 main.subpage {
		padding-top: 8rem;
	}
	
	#page-3 main.subpage {
		padding-top: 10rem;
	}

	#references .reference-col {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
	}
	
	.news-item {
		margin: 0 5rem 4rem 0;
	}
	
	#news .container:after {
		right: -84%;
	}
	
	#news .slick-prev, #news .slick-next {
		top: 4.5rem;
	}
	
	#news .slick-next {
		right: -1rem;
	}
		
	.row.img-col img{
		margin-bottom: 1.5rem;
	}

	#request {
		left: 2.25rem;
		transform: none;
	}

	#counter,
	#counter .counter-wrap {
		display: block;
	}

	#counter .counter-wrap {
		padding: 0;
		border-left: 0;
		border-bottom: 1px solid var(--border-color);
	}

	#counter .counter-wrap:last-child {
		border-bottom: 0;
		border-right: 0;
	}

	blockquote p:before {
		font-size: 3em;
		transform: translate(-50%,-23%);
	}

	.tools-box {
		padding: 2.25rem;
	}
  
  	.contact p a + em {
        margin-left: 2rem;
    }

	section.send {
		padding-top: 9rem;
	}

	#send-ani .sending span {
		height: 2.25rem;
	}

	#send-ani .icon svg,
	#four-o-four-ani .icon svg {
		width: 4rem;
		height: 4rem;
	}
	
	footer .footer-links a{
		margin: 1.5rem 1.5rem 0 0;
	}

	.back-to-top {
		z-index: 12;
	}

	#angebot .frame-type-form_formframework {
		padding: 2rem 1rem;
	}

	#angebot .radio label {
		font-size: 1.125rem;
	}

	#typo3-upgrade-funnel form .radio {
		display: block;
		min-width: 260px;
		margin-right: 0 !important;
		text-align: left;
	}

}

@media (max-width:480px) {
	.jp-banner .jp-video-overlay p.banner-title {
		font-size: 4rem;
		line-height: 4.75rem;
		max-width: 280px;
	}

	#references #references-overlay .references-nav .jp-link {
		font-size: 0;
	}
}

@media (max-width:380px) {
	form .h-captcha {
		margin-left: -1.7rem;
		transform: scale(0.9);
	}

	#send-ani .icon {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		width: 25%;
	}

	#send-ani .sending {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		width: 50%;
	}
}

@media (max-width:767px) and (max-height:445px) {
	#main-nav ul.main-nav {
		font-size: 2.0rem;
	}

	#main-nav.open ul.shortcuts {
		display: none;
	}
}

@media (max-width:575px) and (max-height:500px) {
	#main-nav ul.main-nav {
		font-size: 2.0rem;
	}

	#main-nav.open .contact-col {
		margin-top: 0rem;
	}
}


/* ### Dark Mode ### */
/*@media (prefers-color-scheme: dark) {
 .navbar-brand svg .logotype {
	-ms-fill: var(--white-color);
	fill: var(--white-color);
 }
}*/