/*	
	Theme Name: BEKIND
	Theme URI: http://www.bekindlabel.com
	Description: BEKIND THEME
	Version: 1.1
	Author: Tobias Gehrt
	Author URI: http://www.studio2112.com
	Tags: HTML5, CSS3
	Based on Theme URI: http://html5blank.com by Todd Motto (@toddmotto)
*/





/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
/*html {
	font-size:62.5%;
}*/

html {
	font-family: sans-serif;
	line-height: 1.15;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
  	height: 100%;
  	scroll-behavior: smooth;
}

/*body {
	font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color:#444;
}*/

body {
	margin: 0;
	min-height: 100%; 
	height: auto;
	color: var(--100black);
	overflow-x: hidden;
}

body.overflow-hidden {
  /* used when modal is visible */
  overflow: hidden;
}

h1, h2, p {
	font-family: neue-haas-grotesk-display, sans-serif;
}

h1 {
	font-weight: 700;
	font-style: normal;
	font-size: 60px;
	letter-spacing: 0.025em;
	margin: 0;
}


h2 {
	font-weight: 600;
	font-style: normal;
	font-size: 48px;
	letter-spacing: 0.025em;
	margin: 0;
}


p {
	font-weight: 400;
	font-style: normal;
	font-size: 1.4rem;
	letter-spacing: 0.03em;
	line-height: 46px;
	margin: 0;
}



/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
/*a {
	color:#444;
	text-decoration:none;
}
a:hover {
	color:#444;
}*/
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
	-webkit-user-select: none; 
	-webkit-touch-callout: none;
}
input:focus {
	outline:0;
	border:0px solid #04A4CC;
}

*:focus {
    outline: none;
}


a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
  /*cursor: url("assets/images/cursor-hover.png") 10 10, url("assets/images/cursor-hover.cur") 10 10, auto;*/
  cursor: pointer;
}

a:hover {
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
}

a:active,
a:hover {
	outline-width: 0;
}

button {
	padding: 15px 35px;
	font-size: 21px;
	letter-spacing: 0.03em;
	box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.15);
	border-radius: 28px;
	border: none;
	
}

a button {
	text-decoration: none;
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
}

a button:focus {
	outline:0;
}

a button:hover {
	box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.35);
	margin-left: 5px;
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
}

a button.black {
	color: var(--10black);
	background: var(--100black);
}


a button.green, .playanimation button.green {
	background: var(--100green);
	color: var(--10green);
}

a button.green:hover, .playanimation button.green:hover {
	background: var(--100black);
	color: var(--100green);
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
}

/*------------------------------------*\
    COLORS
\*------------------------------------*/


:root {
  --white: #ffffff;
  --100black: #1C282F;
  --100green: #1FCBBD;
  --100yellow: #F3C261;
  --100red: #9A274A;
  --100blue: #3D547D;
  --35black: #B0B4B6;
  --35green: #B1EDE8;
  --35yellow: #FBEAC8;
  --35red: #DCB3C0;
  --35blue: #BBC3D2;
  --10black: #E8EAEA;
  --10green: #E9FAF8;
  --10yellow: #FEF9EF;
  --10red: #F5E9ED;
  --10blue: #ECEEF2;
}



/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	width:100%;
	margin:0 auto;
	position:relative;
	background: transparent;
}

.grid {

}


/* header */
.header {
	position: fixed;
	background-color: transparent;
	top: 0;
	z-index: 5;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100px;
	transition: 0.35s; /* Add a transition effect (when scrolling - and font size is decreased) */
}

.header.shrink {
	height: 60px;
	background-color: var(--10yellow);
}

.header.shrink .nav-left,
.header.shrink .nav-right {
	margin-top: 0px;
}

.header.shrink .logo {
	margin-top: 3px;
    height: 40px;
    transition: 0.35s; /* Add a transition effect (when scrolling - and font size is decreased) */
}

.header.shrink .logo img {
	max-width: 120px;
	transition: 0.35s; /* Add a transition effect (when scrolling - and font size is decreased) */
}

.header nav ul {
	margin: 0;
	padding: 0;
}

.header .nav-left,
.header .nav-right {
	margin-top: 35px;
	transition: 0.35s; /* Add a transition effect (when scrolling - and font size is decreased) */
}

.header .nav-left li,
.header .nav-right li {
	list-style: none;
	list-style-type: none;	
	display: inline-block;
}

.header .nav-right li:first-child {
	margin-right: 70px;
}

.header .nav-left li:first-child {
	margin-right: 70px;
}

.header .nav-left a,
.header .nav-right a {
	font-size: 21px;
	text-decoration: none;
	display: inline;
}

.header a {
	font-size: 21px;
	color: var(--100blue);
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
}

.header a:hover {
	font-size: 21px;
	color: var(--100green);
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
}

.header .nav-middle {
	margin: 0 50px;
}

/* logo */
.logo {
	transition: 0.35s; /* Add a transition effect (when scrolling - and font size is decreased) */
	overflow: hidden;
	height: 65px;
	margin-top: 0px;
	width: 150px;
	text-align: center;
}
.logo-img {
	max-width: 90px;
	transition: 0.35s; /* Add a transition effect (when scrolling - and font size is decreased) */
}



.back-to-top {
	cursor: pointer;
    background: transparent;
    text-align: center;
    color: var(--100green);
    position: fixed;
    bottom: 30px;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    right: 20px;
    padding: 1em;
    z-index: 2;
    opacity: 0;
    transition: 0.35s;
    display: flex;
    border: 2px solid var(--100green);
    justify-content: center;
    align-items: center;
    font-size: 18px;
	transition: 0.35s; /* Add a transition effect (when scrolling - and font size is decreased) */
}

.visible {
	opacity: 1;
	transition: 0.35s; /* Add a transition effect (when scrolling - and font size is decreased) */
}




/* SLIDER HERO */

.swiper-container {
	width: 100vw;
	height: 100vh;
}

.swiper-container .swiper-wrapper {
    width: 100vw;
    height: 100vh;
    /*transition-delay: 0.5s;*/
}

.swiper-container .swiper-slide {
	height: 100vh;
	width: 100vw;
	/* Center slide text vertically */
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}


.swiper-container .swiperhero-navi {
    display: flex;
    position: absolute;
    bottom: 0px;
    width: 15%;
    min-width: 200px;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background-color: var(--100black);
    z-index: 1;
}

.swiperhero-navi .swiper-pagination {
	font-family: neue-haas-grotesk-display, sans-serif;
    position: relative;
    text-align: center;
    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    z-index: 1;
    width: 66px!important;
    height: 66px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 100;
    bottom: 0!important;
    margin: 0 15px;
    color: var(--100green);
}

.swiperhero-navi .swiper-pagination .swiper-pagination-current,
.swiperhero-navi .swiper-pagination .swiper-pagination-total {
	font-size: 1rem;
	font-weight: 400;
	color: var(--100green);
}

.swiperhero-navi .swiper-pagination .swiper-pagination-current {
	margin-top: -10px;
	margin-right: 5px;
}

.swiperhero-navi .swiper-pagination .swiper-pagination-total {
	margin-top: 10px;
	margin-left: 4px;
}

.swiperhero-navi .swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%;
}

.swiperhero-navi .swiper-button-prev, 
.swiperhero-navi .swiper-button-next {
    position: relative;
    top: 0%;
    width: 24px;
    height: 24px;
    margin-top: 0px;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--100green);
}

.swiperhero-navi .swiper-button-next,
.swiperhero-navi .swiper-container-rtl .swiper-button-prev {
    right: 0px;
    left: 0px;
}

.swiperhero-navi .swiper-button-prev, 
.swiperhero-navi .swiper-container-rtl .swiper-button-next {
    left: 0px;
    right: auto;
}


.swiperhero-navi .swiper-button-prev:after, 
.swiperhero-navi .swiper-button-next:after {
    font-size: 24px;
    font-family: neue-haas-grotesk-display, sans-serif;
}

.swiperhero-navi .swiper-button-prev:after {
	content: ' \2190';
    font-size: 24px;
}

.swiperhero-navi .swiper-button-next:after {
	content: ' \2192';
}




/* SLIDER PREVIEWS */

.swiper-container-preview {
	width: 100%;
	max-width: 1100px;
	overflow: hidden;
	position: relative;
}

.swiper-container-preview .swiper-pagination {
	font-family: neue-haas-grotesk-display, sans-serif;
}

.swiper-container-preview .swiper-wrapper {
    z-index: 1;
    transition-delay: 0.75s;
}

.swiper-container-preview .swiper-slide {
  text-align: center;
  width: 100%;

  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.swiper-container-preview .swiper-slide img {
	width: 80%;
	padding: 10%;
}


.swiper-container-preview .swiper-slide:nth-child(odd) {
	/*background-color: var(--10red);*/
	margin-left: 25px;
}

.swiper-container-preview .swiper-slide:nth-child(even) {
	/*background-color: var(--10green);*/
	margin-top: 50px;
	margin-left: -50px;
	margin-right: 25px;
}

.swiper-container-preview .trans-wrapper {
	max-width: 1100px;
    position: absolute;
    width: 100%;
    height: 100%;
}

.swiper-container-preview .trans-wrapper .trans-left {
	width: 53%;
	top:0;
	left: 0;
	height: 100%;
	position: absolute;
    z-index: 2;
    overflow: hidden;
}

.swiper-container-preview .slidetrans1 {
	position: absolute;
	width: 0%;
	height: 100%;
	background-color: var(--white);
	z-index: 3;
	left: 0;
	top: 0;
	display: block;
}


.swiper-container-preview .slidetrans1-prev {
	position: absolute;
	width: 0%;
	height: 100%;
	background-color: var(--white);
	z-index: 3;
	right: 0;
	top: 0;
	display: block;
}


.swiper-container-preview .trans-wrapper .trans-right {
	width: 53%;
    top: 0;
    left: calc(50% - 25px);
    height: 100%;
    z-index: 3;
    position: absolute;
    overflow: hidden;
}

.swiper-container-preview .slidetrans2 {
	position: absolute;
	width: 0%;
	height: 100%;
	background-color: var(--white);
	z-index: 3;
	top: 0px;
	left: 0;
	display: block;
}


.swiper-container-preview .slidetrans2-prev {
	position: absolute;
	width: 0%;
	height: 100%;
	background-color: var(--white);
	z-index: 3;
	top: 0px;
	right: 0;
	display: block;
}







.revealnext {
	animation: revealingIn 0.5s ease-in forwards, revealingOut 0.5s ease-out 0.75s forwards;
}

@keyframes revealingIn {

  0% {
    width: 0;
  }

  100% {
    width: 100%;
  }
}

@keyframes revealingOut {

  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(100%);
  }

}




.revealprev {
	animation: revealingInprev 0.5s ease-in forwards, revealingOutprev 0.5s ease-out 0.75s forwards;
}

@keyframes revealingInprev {

  0% {
    width: 0;
  }

  100% {
    width: 100%;
  }
}

@keyframes revealingOutprev {

  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-100%);
  }

}






.swiper-container-preview .swiperpreview-navi {
    display: flex;
    position: absolute;
    top: -15px;
    right: 25px;
    width: 45.5%;
    min-width: 200px;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    z-index: 3;
    height: 50px;
}


.swiperpreview-navi .swiper-pagination {
    position: relative;
    text-align: center;
    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    z-index: 1;
    width: 66px!important;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 100;
    bottom: 0!important;
    margin: 0 20px;
    color: var(--100blue);
}

.swiperpreview-navi .swiper-pagination .swiper-pagination-current,
.swiperpreview-navi .swiper-pagination .swiper-pagination-total {
	font-size: 1rem;
	font-weight: 400;
	color: var(--100blue);
}

.swiperpreview-navi .swiper-pagination .swiper-pagination-current {
	margin-top: 0px;
	margin-right: 10px;
}

.swiperpreview-navi .swiper-pagination .swiper-pagination-total {
	margin-top: 0px;
	margin-left: 10px;
}

.swiperpreview-navi .swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%;
}

.swiperpreview-navi .swiper-button-prev, 
.swiperpreview-navi .swiper-button-next {
    position: relative;
    top: 0%;
    width: 24px;
    height: 24px;
    margin-top: 0px;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--100blue);
}

.swiperpreview-navi .swiper-button-next,
.swiperpreview-navi .swiper-container-rtl .swiper-button-prev {
    right: 0px;
    left: 0px;
}

.swiperpreview-navi .swiper-button-prev, 
.swiperpreview-navi .swiper-container-rtl .swiper-button-next {
    left: 0px;
    right: auto;
}


.swiperpreview-navi .swiper-button-prev:after, 
.swiperpreview-navi .swiper-button-next:after {
    font-size: 24px;
    font-family: neue-haas-grotesk-display, sans-serif;
}

.swiperpreview-navi .swiper-button-prev:after {
	content: ' \2190';
    font-size: 24px;
}

.swiperpreview-navi .swiper-button-next:after {
	content: ' \2192';
}



/* SECTION */

.section {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
	/*padding: 100px 0;*/
	width: 100vw;
}

.section-inner {
	padding: 100px 25px;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100vw;
    position: relative;

}

.section-inner::after {
	content: '';
    padding: 0 25px;
}

.section h2 {
	text-align: center;
	margin-bottom: 50px;
}

.section p {
	max-width: 900px;
	margin-bottom: 35px;
}

.section p:last-child {
	margin-bottom: 0px;
}

.section.hero {
	position: fixed; 
	z-index: 0; 
	top:0; 
	left:0;
}

.section.hero .heroimage-wrapper {
	height: 100vh;
}

.section.hero .heroimage {
	/*display: none;*/
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background-size: cover;
    overflow: hidden;
    flex-direction: column;
}

.section.hero .heroimage h1 {
	margin-bottom: 50px;
	max-width: 750px;
	text-align: center;
}

.section.hero .heroimage .button {
	margin-bottom: 50px;
}

.section.hero .heroproduct-wrapper {
	background-color: var(--10blue);
	min-height: 100vh;
	width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 50px;

}

.section.hero .heroproduct {
	padding-top: 70px;
	width: 100%;
    max-width: 1160px;
    display: flex;
    align-items: center;
    padding: 0 30px;
}

.section.hero .heroproduct .hero-left,
.section.hero .heroproduct .hero-right {
	width: 50%;
	max-width: 550px;
}

.section.hero .heroproduct .hero-left {
	/*align-items: flex-start;*/
}


.section.hero .heroproduct .hero-left .dachzeile {
	margin-bottom: 30px;
}

.section.hero .heroproduct .hero-left .dachzeile p {
	font-size: 21px;
	line-height: 36px;
	padding-bottom: 1px;
	border-bottom: 1px solid #000;
	display: inline-block;
}

.section.hero .heroproduct .hero-left .price {
	margin-top: 5px;
}


.section.hero .heroproduct .hero-left .info {
	margin: 30px 10px 40px 0;
}


.section.hero .heroproduct .hero-left .info p {
	font-size: 21px;
	line-height: 1.25em;
}


.section.hero .heroproduct .hero-right {
	
}

.section.hero .heroproduct .hero-right img {
	width: 85%;
	-webkit-filter: drop-shadow(0px 25px 55px rgba(0,0,0,0.2));
     filter: drop-shadow(0px 25px 55px rgba(0,0,0,0.2));
}

.section.hero .down-arrow-wrapper {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 15%;
	background-color: var(--100black);
	border-top: 0px solid var(--100red);
	z-index: 1;
	height: 66px;
}

.section.hero .down-arrow {
	position: absolute;
	z-index: 2;
	bottom: 10px;
	right: 0px;
	width: 100%;
	height: auto;
}

.section.hero .down-arrow p {
	font-size: 21px;
	text-align: center;

}

.section.hero .down-arrow p a {
	text-decoration: none;
	color: var(--100green);
	display: block;
	position: relative;
}

.section.hero .down-arrow p a span {
	font-size: 1.1rem;
	margin-right: 15px;
}


.highlightbox-mobile {
	display: none;
}

.section.hero .highlightbox {
	z-index: 1;
	position: absolute;
	left: 15%;
	bottom: 0;
	width: 70%;
	border-left: 1px solid var(--100green);
	border-right: 1px solid var(--100green);
	display: flex;
	justify-content: center;
	flex-direction: column;
	z-index: 1;
	height: 66px;
}



.section.hero .highlightbox,
.highlightbox-mobile {
	background-color: var(--100black);
}

.section.hero .highlightbox .highlight,
.highlightbox-mobile {
	width: 100%;
	text-align: center;
}

.section.hero .highlightbox .highlight p {
	color: var(--100green);
	font-size: 1.1em;
	padding: 10px 30px;
	max-width: 100%;
	letter-spacing: 0.05em;
	line-height: 1.3em;
}




.section.products {
	background-color: var(--white);
	flex-direction: column;
}

.section.products h2,
.section.products p {
	color: var(--100blue);
}

.section.products .productimages {
	position: relative;
	max-width: 1100px;
	margin-top: 75px;
	width: 100%;
}

.section.products .productimages .slidersmall {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 30px;
	width: calc(50% - 60px);
	text-align: center;
}

.section.products .productimages .slidersmall p {
	font-size: 18px;
}

.section.products .productimages .product-image-left,
.section.products .productimages .product-image-right {
	/*border-radius: 10px;*/
}

.section.products .productimages .product-image-left {
	background-color: var(--10red);
	width: 50%;
	position: relative;
	float: left;
	z-index: 0;
	margin-left: 30px;
}

.section.products .productimages .product-image-right {
	background-color: var(--10green);
	margin-top: 75px;
	margin-left: -60px;
	width: 50%;
	float: left;
	position: relative;
	z-index: 1;
}

.section.products .productimages .product-image-left img,
.section.products .productimages .product-image-right img {
	padding: 15%;
	-webkit-filter: drop-shadow(0px 25px 55px rgba(0,0,0,0.2));
     filter: drop-shadow(0px 25px 55px rgba(0,0,0,0.2));
}


.section.howto {
	background-color: var(--100black);
	flex-direction: column;
}

.section.howto h2 {
	color: var(--100green);
}




/*------------------------------------*\
    360 degrees
\*------------------------------------*/

.product-scale {
	max-width: 700px;
}

.cd-product-viewer-wrapper {
  text-align: center;
  padding: 0em 0;
}
.cd-product-viewer-wrapper > div {
  display: inline-block;
}
.cd-product-viewer-wrapper .product-viewer {
  position: relative;
  z-index: 1;
  display: inline-block;
  overflow: hidden;
}
.cd-product-viewer-wrapper img {
  /* this is the image visible before the image sprite is loaded */
  display: block;
  position: relative;
  z-index: 1;
}
.cd-product-viewer-wrapper .product-sprite {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  height: 100%;
  /* our image sprite is composed by 14 frames */
  width: 3400%;
  background: url('img/bekind-animation-big.jpg') no-repeat center center;
  background-size: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.cd-product-viewer-wrapper.loaded .product-sprite {
  /* image sprite has been loaded */
  opacity: 1;
  cursor: ew-resize;
}


/*.cd-product-viewer-wrapper.loaded .product-sprite {
	animation-name: play;
	animation-duration: 8s;
	animation-play-state: paused;
}*/

.stopmotion {
	animation-name: play;
	animation-duration: 4s; 
   	/*animation-fill-mode: forwards;*/
}

@keyframes play {
    from {
    	transform: translateX(0px);
    }
    to {
    	transform: translateX(-92.8571%);
    }
}



.cd-product-viewer-handle {
  position: relative;
  z-index: 2;
  width: 60%;
  max-width: 300px;
  border-radius: 50em;
  margin: 1em auto 0em;
  height: 4px;
  background: #4d4d4d;
  bottom: 70px;
}
.cd-product-viewer-handle .fill {
  /* this is used to create the loading fill effect */
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  border-radius: inherit;
  background: var(--100green);
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  -ms-transform: scaleX(0);
  -o-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
  -webkit-transition: -webkit-transform 0.5s;
  -moz-transition: -moz-transform 0.5s;
  transition: transform 0.5s;
}
.no-csstransitions .cd-product-viewer-handle .fill {
  display: none;
}
.loaded .cd-product-viewer-handle .fill {
  /* image sprite has been loaded */
  opacity: 0;
  -webkit-transition: -webkit-transform 0.3s, opacity 0.2s 0.3s;
  -moz-transition: -moz-transform 0.3s, opacity 0.2s 0.3s;
  transition: transform 0.3s, opacity 0.2s 0.3s;
}
.cd-product-viewer-handle .handle {
  position: absolute;
  z-index: 2;
  display: inline-block;
  height: 44px;
  width: 44px;
  left: 0;
  top: -20px;
  background: var(--100green) url('img/cd-arrows.svg') no-repeat center center;
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(31, 203, 189, 0.3), 0 0 20px rgba(0, 0, 0, 0.2);
  /* replace text with image */
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  color: transparent;
  -webkit-transform: translateX(-50%) scale(0);
  -moz-transform: translateX(-50%) scale(0);
  -ms-transform: translateX(-50%) scale(0);
  -o-transform: translateX(-50%) scale(0);
  transform: translateX(-50%) scale(0);
  -webkit-transition: box-shadow 0.2s;
  -moz-transition: box-shadow 0.2s;
  transition: box-shadow 0.2s;
}
.cd-product-viewer-handle .handle:active {
  box-shadow: 0 0 0 0 rgba(31, 203, 189, 0), 0 0 20px rgba(0, 0, 0, 0.2);
}
.loaded .cd-product-viewer-handle .handle {
  /* image sprite has been loaded */
  -webkit-transform: translateX(-50%) scale(1);
  -moz-transform: translateX(-50%) scale(1);
  -ms-transform: translateX(-50%) scale(1);
  -o-transform: translateX(-50%) scale(1);
  transform: translateX(-50%) scale(1);
  -webkit-animation: cd-bounce 0.3s 0.3s;
  -moz-animation: cd-bounce 0.3s 0.3s;
  animation: cd-bounce 0.3s 0.3s;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  cursor: ew-resize;
}

@-webkit-keyframes cd-bounce {
  0% {
    -webkit-transform: translateX(-50%) scale(0);
  }
  60% {
    -webkit-transform: translateX(-50%) scale(1.1);
  }
  100% {
    -webkit-transform: translateX(-50%) scale(1);
  }
}
@-moz-keyframes cd-bounce {
  0% {
    -moz-transform: translateX(-50%) scale(0);
  }
  60% {
    -moz-transform: translateX(-50%) scale(1.1);
  }
  100% {
    -moz-transform: translateX(-50%) scale(1);
  }
}
@keyframes cd-bounce {
  0% {
    -webkit-transform: translateX(-50%) scale(0);
    -moz-transform: translateX(-50%) scale(0);
    -ms-transform: translateX(-50%) scale(0);
    -o-transform: translateX(-50%) scale(0);
    transform: translateX(-50%) scale(0);
  }
  60% {
    -webkit-transform: translateX(-50%) scale(1.1);
    -moz-transform: translateX(-50%) scale(1.1);
    -ms-transform: translateX(-50%) scale(1.1);
    -o-transform: translateX(-50%) scale(1.1);
    transform: translateX(-50%) scale(1.1);
  }
  100% {
    -webkit-transform: translateX(-50%) scale(1);
    -moz-transform: translateX(-50%) scale(1);
    -ms-transform: translateX(-50%) scale(1);
    -o-transform: translateX(-50%) scale(1);
    transform: translateX(-50%) scale(1);
  }
}


.playanimation{
	width: 100%;
	position: relative;
	display: block;
	margin-bottom: 30px;
	}

.playanimation button {
	user-select: none;
}





/* SPECS */

.section.specs {
	background-color: var(--10yellow);
	flex-direction: column;
}

.section.specs h2,
.section.specs p {
	color: var(--100blue);
}

.section.specs p {
	line-height: 32px;
	font-size: 1.4rem;
}

.section.specs .specs-wrapper {
	width: 100%;
	max-width: 700px;
	padding: 0 20px;
}

.section.specs .specs-wrapper .specsrow {
	display: flex;
	flex-direction: row;
	padding: 15px 0;
}

.section.specs .specs-wrapper .specsrow .specs-left {
	width: 32%;
	padding-right: 20px;
}

.section.specs .specs-wrapper .specsrow .specs-right {
	width: 68%;
}

.section.specs .download {
	max-width: 660px;
	width: 100%;
	border-top: 1px solid var(--100red);
	padding: 35px 0px;
	margin-top: 35px;
}

.section.specs .download p {
	font-size: 1.25em;
}

.section.specs .download p a {
	color: var(--100red);
	text-decoration: none;
}


.section.gallery {
	background-color: var(--10blue);
	flex-direction: column;
}

.section.gallery h2 {
	color: var(--100black);
}


/* IMAGE GALLERY https://www.jqueryscript.net/slideshow/Simple-Fullscreen-Image-Slideshow-Plugin-fullsizable.html */

/* https://fancyapps.com/fancybox/3/docs/#options */

.fancybox-infobar {
    color: var(--100blue)!important;
    font-size: 1.5em!important;
    mix-blend-mode: normal!important;
}

.fancybox-caption, 
.fancybox-infobar, 
.fancybox-navigation .fancybox-button, 
.fancybox-toolbar {
    direction: ltr;
    opacity: 1;
    position: absolute;
    transition: opacity .25s,visibility 0s linear .25s;
    visibility: visible;
    z-index: 99997;
}

.fancybox-toolbar button.fancybox-button--zoom,
.fancybox-toolbar button.fancybox-button--thumbs {
	display: none!important;
}


.fancybox-caption {
	display: none;
}

.fancybox-is-open .fancybox-bg {
    opacity: 1!important;
}

.fancybox-bg {
    background: var(--10blue)!important;
}

.fancybox-button {
    background: transparent!important;
}


.fancybox-button, 
.fancybox-button:link, 
.fancybox-button:visited {
    color: var(--100blue)!important;
}

#fullsized_go_prev, #fullsized_go_next, #fullsized_close, #fullsized_fullscreen {
position: absolute;
top: 50%;
display: block;
width: 30px;
height: 30px;
background-color: red;
}
#fullsized_go_prev {
left: 25px;
}
#fullsized_go_next {
right: 25px;
}
#fullsized_close {
top: 0;
right: 0;
}
#fullsized_fullscreen {
top: 0;
right: 40px;
background-color: green;
}
    :fullscreen #fullsized_fullscreen {
background-color: blue;
}
    :-webkit-full-screen #fullsized_fullscreen {
background-color: blue;
}
    :-moz-full-screen #fullsized_fullscreen {
background-color: blue;
}






.section.gallery .galleryimages {
	width: 100%;
	max-width: 1100px;
	margin-top: 75px;
	position: relative;
}

.section.gallery .galleryimages .galleryrow {
	display: flex;
	flex-direction: row;
	justify-content: center;
	width: 100%;
	margin-bottom: 5%;
	flex-wrap: wrap;
}

.section.gallery .galleryimages .galleryrow > * {
flex: 1 1 30%;
}

.section.gallery .galleryimages .galleryrow .rowimage {
	width: 30%;
	background-color: var(--10blue);
	display: flex;
	align-items: center;
	align-content: center;
	/*box-shadow: 0px 15px 35px rgba(0, 0, 0, 0.1);
	border-radius: 10px;*/
	justify-content: center;
	margin: 50px 0;
}

.section.gallery .galleryimages .galleryrow .rowimage img {
	max-height: 350px;
	width: auto;
}

.section.gallery .galleryimages .galleryrow .rowimage:nth-child(2) {
	margin: 0 5%; 
}



/* ABOUT */

.section.about {
	flex-direction: column;
	background-color: var(--10red);
	position: relative;
}

.section.about h2 {
	color: var(--100red);
}

.section.about .about-intro {
	display: flex;
	flex-direction: row;
	margin: 75px 0 75px 0;
	width: 100%;
	max-width: 1200px;
	justify-content: center;
	align-items: center;
	position: relative;
}

.section.about .about-intro .about-teaser {
	width: 50%;
	margin-left: 0%;
	z-index: 1;
	position: relative;
}

.section.about .about-intro .about-teaser p {
	color: var(--100red);
	font-size: 1.4em;
    line-height: 1.75em;
}

.section.about .about-intro .profilepic {
	width: 40%;
	margin: 0 0% 0 1%;
	background-color: #fff;
	position: relative;
	z-index: 0;
}

.section.about .about-intro .profilepic img {
	max-height: 750px;
}


.section.about .about-info1 {
	/*max-width: 25%;*/
	max-width: 600px;
	margin-left: 0%;
	margin-bottom: 75px;
}

.section.about .about-info1 p {
	font-size: 16px;
	text-align: left;
	line-height: 1.75em;
	color: var(--100red);
}

.section.about .about-images {
	width: 100%;
	max-width: 1100px;
}

.section.about .about-images .imageposition {
	height: 0;
	position: relative;
	padding-top: 72%;
}

.section.about .about-images .aboutimage1,
.section.about .about-images .aboutimage2,
.section.about .about-images .aboutimage3 {
	position: absolute;
	/*box-shadow: 0px 15px 35px rgba(0, 0, 0, 0.1);*/
	display: flex;
	justify-content: center;
	align-items: center;
	background-size: cover;
    overflow: hidden;
    background-color: var(--10blue);
    /*box-shadow: 0 15px 35px 0 rgba(0,0,0,0.20);*/
}

.section.about .about-images .aboutimage1 {
	top: 2%;
	left: 5%;
	width: 45%;
	height: 42%;
	z-index: 1;
}

.section.about .about-images .aboutimage2 {
	top: 10%;
	right: 5%;
	width: 52%;
	height: 55%;
	z-index: 0;
}

.section.about .about-images .aboutimage3 {
	top: 50%;
	left: 20%;
	width: 29%;
	height: 40%;
	z-index: 1;
	border-radius: 100%;
}

.section.about .about-info2 {
	/*max-width: 25%;*/
	max-width: 500px;
	margin-left: 40%;
	margin-top: -11%;
}

.section.about .about-info2 p {
	font-size: 16px;
	text-align: right;
	line-height: 1.75em;
	color: var(--100red);
}


.section.instagram {
	flex-direction: column;
	background-color: var(--10yellow);
}

.section.instagram h2 {
	color: var(--100yellow);
}


.section.instagram .instaprev {
	width: 100vw;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 0 30px;
	margin-top: 15px;
}

.section.instagram .instaprev .instaimage {
	height: 235px;
    background-color: #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20%;
    margin: 2%;
}



.section.contact {
	flex-direction: column;
	background-color: var(--10green);
}

.section.contact h2 {
	color: var(--100blue);
}

.section.contact .teaser p {
	color: var(--100blue);
}

.section.contact .contactform {
	margin-top: 75px;
	width: 100%;
	max-width: 700px;
}


/* Hauptformular */
div.wpcf7 {
	width: 100%;
}

.wpcf7 p {
	margin: 0 0 25px 0;
	max-width: 1100px;
	line-height: 1.3em;
}

.wpcf7 p label {
	font-size: 0.6em;
	color: var(--100blue);
	margin: 0;
}

/* Eingabefelder Text, E-Mail */
.wpcf7 p label span input  {
	width: 100%;
	padding: 15px!important;
	background: var(--35blue);
	color: var(--100blue);
	border: none!important;
	font-size: 1.5em;
}

/* Eingabefelder Textfeld */
.wpcf7 textarea {
	background: var(--35blue);
	color: var(--100blue);
	width: 100% !important;
	border: none!important;
	padding: 15px;
	font-size: 1.5em;
}


/* Dropdown/ Select */
.wpcf7 select {
	color: black;
	width: 25% ;
	font-size:17px !important;
}



/* Senden / Sendebutton */
.wpcf7 input[type="submit" i] {
	padding: 15px 55px;
	font-size: 21px;
	font-weight: 500;
	letter-spacing: 0.05em;
	box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.15);
	border-radius: 28px;
	width: auto;
	margin-left: 0%;
	text-align: center;
	text-transform: none;
	float: right;
	background-color: var(--100green);
	color: var(--10green);
	border: none;
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
}

/* Mouseover Sendebutton */
.wpcf7 input[type="submit" i]:hover {
	background-color: var(--100black);
	color: var(--100green);
	border: none;
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
}

div.wpcf7-response-output {
	padding: 10px 20px;
	margin: 55px 0 0 0;
}

/* alle Meldungen nach Absenden */
.wpcf7 div.wpcf7-response-output {
	background-color:#efefef;
	color:#4a6c7a;
	font-size:18px;
	border:2px solid #4a6c7a;
}

/* Erfolgsmeldung nach Absenden */
.wpcf7 div.wpcf7-mail-sent-ok {
	background-color:#efefef;
	color:#4a6c7a;
	font-size:18px;
	border:2px solid #4a6c7a;
}

/* Fehlermeldung nach Absenden */
.wpcf7 div.wpcf7-validation-errors {
	background-color: var(--100red);
	color: var(--10red);
	font-size: 1.75em;
	border: none;
}

span.wpcf7-not-valid-tip {
    color: var(--100red);
    font-weight: 600!important;
    font-size: 1em;
    font-weight: normal;
    display: block;
    letter-spacing: 0.03em;
}






/* LEGAL STANDARD PAGE */


.closepage {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 85px;
	height: 85px;
	border: 2px solid var(--100red);
	top: 25px;
	right: 25px;
	z-index: 1;
	border-radius: 100%;
	background-color: var(--white);
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
	transform: rotate(0deg);
	cursor: crosshair;

}

.closepage:hover {
	-webkit-transition: all ease .3s;
	-moz-transition: all ease .3s;
	-o-transition: all ease .3s;
	-ms-transition: all ease .3s;
	transform: rotate(180deg);

}

.closepage a {
    width: 85px;
    height: 85px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.closepage a .closeline1,
.closepage a .closeline2 {
	width: 55px;
	height: 2px;
	background-color: var(--100red);
	position: absolute;
}

.closepage a .closeline1 {
	transform: rotate(45deg);
	z-index: 1;
}

.closepage a .closeline2 {
	transform: rotate(-45deg);
	z-index: 2;
}



.backhome {
	position: relative;
	display: flex;
	justify-content: center;;
	width: 100%;
	margin: 18px 0 0 0px;
}

.logotext img {
	margin-left: 3px;

}

.textstuff {
	display: flex;
	flex-direction: row;
	justify-content: center;
	width: 100%;
	position: relative;
	margin: 100px 0;
	
}

.textstuff-inner {
	width: 100%;
	max-width: 1100px;
	padding: 0 25px;
}

.textstuff-inner h1 {
	font-size: 2em;
	margin-bottom: 50px;
}

.textstuff-inner h2 {
	font-size: 1.75em;
	margin-bottom: 30px;
	margin-top: 50px;
}

.textstuff-inner h3 {
	font-size: 1.5em;
	margin-bottom: 25px;
	margin-top: 40px;
}


.textstuff-inner p {
	font-size: 1.25em;
	line-height: 1.75em;
	margin-bottom: 15px;
	font-weight: 400;
}

.textstuff-inner p a {
	color: var(--100red);
	text-decoration: underline;
	font-weight: 400;
}

.textstuff-inner p strong {
	font-weight: 600;
}

.textstuff-inner ul li {
	list-style: disc;
	line-height: 1.75em;
	font-size: 1.25em;
	margin-bottom: 25px;
	font-family: neue-haas-grotesk-display, sans-serif;
}



/* FOOTER */
.footer {
	background-color: var(--100black);
	padding: 45px 0;
	text-align: center;
	z-index: 1;
	position: relative;
	width: 100%;
}

.footer img {
	max-width: 45px;
	height: auto;
	margin-bottom: 30px;
}

.footer a,
.footer p {
	font-size: 21px;
	color: var(--100green);
	text-decoration: none;
}

.footer p span {
	width: 100%;
	float: left;
	margin-bottom: 15px;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/



/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

/*@font-face {
	font-family:'Font-Name';
	src:url('fonts/font-name.eot');
	src:url('fonts/font-name.eot?#iefix') format('embedded-opentype'),
		url('fonts/font-name.woff') format('woff'),
		url('fonts/font-name.ttf') format('truetype'),
		url('fonts/font-name.svg#font-name') format('svg');
    font-weight:normal;
    font-style:normal;
}*/

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (min-width:320px) {

}
@media only screen and (min-width:320px) and (max-width:480px) {

	h1 {
	    font-size: 32px;
	}

	h2 {
	    font-size: 28px;
	}

	p {
	    font-size: 18px;
	    line-height: 26px;
	}

	button {
	    padding: 12px 25px;
	    font-size: 14px;
	}

	.header {
	    height: 75px;
	}

	.header.shrink {
		height: 44px;
	}

	.header.shrink .nav-left,
	.header.shrink .nav-right {
		margin-top: 0px;
	}

	.header.shrink .logo {
		margin-top: 6px;
	    height: 30px;
	}

	.header.shrink .logo img {
		max-width: 90px;
	}




	.nav-right, .nav-left {
		display: none;
	}

	.logo {
	    height: auto;
	}

	.logo-img {
	    max-width: 63px;
	}

	.section h2 {
	    margin-bottom: 30px;
	}

	.section-inner {
	    padding: 60px 20px;
	}

	.section.hero {
		position: relative;
		height: 85vh;
	}

	.swiper-container {
	    height: 85vh;
	}

	.swiper-container .swiper-wrapper {
	    height: 100%;
	}

	.swiper-container .swiper-slide {
	    height: 85vh;
	}


    .section.hero .heroproduct {
	    padding: 0px 30px;
	}

	.section.hero .heroproduct-wrapper {
	    min-height: 85vh;
	    padding-bottom: 0px;
	}

	.section.hero .heroproduct .hero-left {
	    margin-top: 20px;
	}

	.section.hero .heroimage h1 {
	    max-width: 320px;
	}

	.section.hero .heroproduct {
	    padding-top: 0px;
	    flex-direction: column;
	    text-align: center;
	}

	.section.hero .heroproduct .hero-left, 
	.section.hero .heroproduct .hero-right {
    	width: 100%;
	}

	.section.hero .heroproduct .hero-left .dachzeile {
	    margin-bottom: 15px;
	}

	.section.hero .heroproduct .hero-left .dachzeile p {
	    font-size: 15px;
	    line-height: 20px;
	}

	.section.hero .heroproduct .hero-left .info p {
	    font-size: 15px;
	}

	.section.hero .heroproduct .hero-left .info {
	    margin: 15px 0;
	}

	.section.hero .heroproduct .hero-right {
	    margin-top: 15px;
	    text-align: center;
	}

	.section.hero .heroproduct .hero-right img {
	    width: 65%;
	}

	.section.hero .heroimage-wrapper {
	    height: 85vh;
	}

	.section.hero .heroimage-wrapper .heroimage {
		background-position: center;
	}



	.section.hero .highlightbox {
	    display: none;
	}

	.swiper-container .swiperhero-navi {
	    width: 50%;
	    min-width: auto;
	    height: 45px;
	}

	.swiperhero-navi .swiper-button-prev:after, .swiperhero-navi .swiper-button-next:after {
    	font-size: 18px;
	}

	.section.hero .down-arrow-wrapper {
	    width: 50%;
	    border-left: 1px solid var(--100green);
	    height: 45px;
	}

	.section.hero .down-arrow p {
	    font-size: 18px;
	}

	.section.hero .down-arrow p a span {
	    font-size: 15px;
	}


	.highlightbox-mobile {
		position: relative;
		display: flex;
		border-top: 1px solid var(--100green);
		border-bottom: 1px solid var(--100green);
	}

	.highlightbox-mobile p {
		color: var(--100green);
		font-size: 15px;
		padding: 10px;
		max-width: 100%;
		letter-spacing: 0.05em;
		line-height: 1.3em;
	}


	.section.products {
	    margin-top: 0px!important;
	}

	.teaser {
		max-width: 92%;
	}

	.section.products .section-inner {
		padding: 60px 0px;
	}

	.section.products .section-inner .teaser p {
		padding: 0px 20px;
	}

	.swiper-container-preview {
	    /*overflow: unset;*/
	}

	.swiper-container-preview .swiper-slide:nth-child(odd) {
	    margin-left: -10px;
	}

	.swiper-container-preview .swiper-slide:nth-child(even) {
	    margin-top: 50px;
    	margin-left: 10px;
    	margin-right: 5px;
	}

	.swiper-container-preview .swiperpreview-navi {
	    top: -15px;
	    right: 0px;
	    height: 30px;
	}

	.swiperpreview-navi .swiper-pagination {
	    font-size: 1rem;
	    margin: 0 0px;
	}


	.swiper-container-preview .swiperpreview-navi {
	    top: 0px;
	    min-width: auto;
	}


	.section.howto .section-inner {
	    padding: 60px 20px 0;
	}

	.cd-product-viewer-wrapper {
	    padding: 1em 0 0 0;
	}

	.cd-product-viewer-handle {
	    width: 80%;
	    max-width: 320px;
	    bottom: 35px;
	    bottom: 5px;
	}

	.cd-product-viewer-handle .handle {
	    height: 35px!important;
	    width: 35px;
	    top: -16px;
	    height: 2px;
	}

	.playanimation {
	    margin-top: 40px;
	}



	.section.specs .specs-wrapper .specsrow {
	    flex-direction: column;	
	}

	.section.specs .specs-wrapper .specsrow {
	    padding: 10px 0;
	}

	.section.specs .specs-wrapper .specsrow .specs-left {
	    width: 100%;
	    padding-right: 0px;
	}

	.section.specs .specs-wrapper .specsrow .specs-right {
	    width: 100%;
	}

	.section.specs .specs-left p {
	    font-weight: 600;
	    margin-bottom: 0px;
	}

	.section.specs .specs-right p {
	    line-height: 24px;
	}

	.section.specs .download {
	    width: 90%;
	    padding: 20px 0px 0 0;
	    margin-top: 20px;
	}

	.section.specs .download p {
	    font-size: 18px;
	    line-height: 22px;
	}


	.section.gallery .galleryimages {
	    margin-top: 25px;
	}


	.section.gallery .galleryimages .galleryrow .rowimage {
	    margin: 50px 20px;
	}
	.section.gallery .galleryimages .galleryrow > * {
	    flex: 1 1 35%;
	}



	.section.about .about-intro {
	    flex-direction: column;
	    margin: 5px 0 30px 0;
	}

	.section.about .about-intro .about-teaser {
	    width: 90%;
	}

	.section.about .about-intro .about-teaser p {
	    font-size: 18px;
	}

	.section.about .about-intro .profilepic {
	    width: 90%;
	    margin: 20px 0 0 0;
	}

	.section.about .about-info1 {
	    margin-bottom: 35px;
	    width: 90%;
	}

	.section.about .about-info1 p,
	.section.about .about-info2 p {
	    font-size: 16px;
	    line-height: 22px;
	    text-align: left;
	}

	.section.about .about-info2 {
	    max-width: 500px;
	    margin-left: 0;
	    margin-top: 0px;
	    width: 90%;
	}




	.section.contact .contactform {
	    margin-top: 35px;
	    width: 92%;
	    max-width: 700px;
	}

	.wpcf7 p label {
	    font-size: 16px;
	}

	.wpcf7 input[type="submit" i] {
	    padding: 12px 25px;
	    font-size: 16px;
	}

	.wpcf7 div.wpcf7-validation-errors {
	    font-size: 16px;
	    line-height: 22px;
	}

	span.wpcf7-not-valid-tip {
	    font-size: 14px;
	}


	.footer {
	    padding: 30px 0;
	}


	.footer a, .footer p {
	    font-size: 16px;
	}

	.footer img {
	    max-width: 30px;
	    margin-bottom: 20px;
	}


	/*.fancybox-slide .fancybox-content {
	    max-width: 90%!important;
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    margin-left: 5%!important;
	}


	.fancybox-slide .fancybox-content img {
	    height: auto;
	    position: relative;
	}*/

	.closepage {
	    transform: scale(.5);
	    top: 5px;
    	right: 15px;
	}

	.textstuff-inner {
	    /*max-width: 700px;*/
	}

	.textstuff-inner h1 {
	    font-size: 28px;
	    margin-bottom: 30px;
	}

	.textstuff-inner h2 {
	    font-size: 24px;
	    margin-bottom: 15px;
	    margin-top: 50px;
	}

	.textstuff-inner h3 {
	    font-size: 22px;
	    margin-bottom: 25px;
	    margin-top: 40px;
	}

	.textstuff-inner p {
	    font-size: 18px;
	    line-height: 24px;
	}

	.textstuff-inner ul li {
	    line-height: 24px;
	    font-size: 18px;
	    margin-bottom: 20px;
	}




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

}
@media only screen and (min-width:481px) and (max-width:1024px) {

	button {
	    font-size: 18px;
	}

	h1 {
	    font-size: 50px;
	}

	h2 {
	    font-size: 40px;
	    letter-spacing: 0.015em;;
	}

	p {
	    font-size: 21px;
	    letter-spacing: 0.025em;
	    line-height: 36px;
	}

	.swiperhero-navi .swiper-button-prev:after, 
	.swiperhero-navi .swiper-button-next:after {
	    font-size: 18px;
	}

	.header .nav-left a, .header .nav-right a {
	    font-size: 18px;
	}

	.section p {
    	max-width: 720px;
	}

	.section-inner {
	    padding: 80px 0;
	}

	.section.hero .heroproduct {
	    max-width: 920px;
	}

	.section.hero .heroproduct .hero-left .dachzeile {
	    margin-bottom: 20px;
	}

	.section.hero .heroproduct .hero-left .dachzeile p {
	    font-size: 18px;
	    line-height: 32px;
	}

	.section.hero .heroproduct .hero-left .price {
	    margin-top: 0;
	}

	.section.hero .heroproduct .hero-left .info {
	    margin: 30px 0;
	}

	.section.hero .heroproduct .hero-left .info p {
	    font-size: 18px;
	}

	.swiper-container .swiperhero-navi {
	    width: 20%;
	}

	.swiperhero-navi .swiper-pagination {
	    width: 56px!important;
	    height: 60px;
	    font-size: 1.2rem;
	}

	.section.hero .highlightbox {
	    left: 20%;
	    width: 60%;
	    height: 60px;
	}

	.section.hero .highlightbox .highlight p {
	    font-size: 1em;
	    line-height: 1.3em;
	}

	.section.hero .down-arrow-wrapper {
	    width: 20%;
	    height: 60px;
	}

	.section.hero .down-arrow {
	    bottom: 10px;
	}

	.section.hero .down-arrow p a span {
	    font-size: 1rem;
	}

	.section.specs .specs-wrapper {
	    max-width: 700px;
	}

	.section.specs .specs-wrapper .specsrow {
	    padding: 5px 0;
	}

	.section.specs .download {
	    max-width: 660px;
	}

	.section.gallery .galleryimages {
	    max-width: 900px;
	    margin-top: 35px;
	}

	.section.gallery .galleryimages .galleryrow .rowimage {
	    margin: 50px 45px;
	}
	.section.gallery .galleryimages .galleryrow > * {
	    flex: 1 1 35%;
	}

	.section.about .about-intro {
	    margin: 20px 0 75px 0;
	    max-width: 900px;
	}

	.section.about .about-intro .about-teaser p {
	    font-size: 1.25em;
	    line-height: 1.6em;
	}

	.section.about .about-info2 {
	    max-width: 450px;
	    margin-top: -15%;
	}

	.section.contact .contactform {
	    margin-top: 35px;
	    max-width: 720px;
	}

	.wpcf7 input[type="submit" i] {
	    font-size: 18px;
	}

	.footer img {
	    max-width: 35px;
	}

	.footer a, .footer p {
	    font-size: 18px;
	}


	.closepage {
	    transform: scale(.75);
	}

	.textstuff-inner {
	    max-width: 700px;
	}




}
@media only screen and (min-width:1140px) {

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

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:var(--100black);
	color:var(--100green);
	text-shadow:none;
}
::-webkit-selection {
	background:var(--100black);
	color:var(--100green);
	text-shadow:none;
}
::-moz-selection {
	background:var(--100black);
	color:var(--100green);
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
